func ExampleECR_BatchGetImage() { svc := ecr.New(session.New()) params := &ecr.BatchGetImageInput{ ImageIds: []*ecr.ImageIdentifier{ // Required { // Required ImageDigest: aws.String("ImageDigest"), ImageTag: aws.String("ImageTag"), }, // More values... }, RepositoryName: aws.String("RepositoryName"), // Required RegistryId: aws.String("RegistryId"), } resp, err := svc.BatchGetImage(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func DockerLogin(ac docker.AuthConfiguration) (string, error) { if ac.Email == "" { ac.Email = "*****@*****.**" } // if ECR URL, try Username and Password as IAM keys to get auth token if match := regexpECR.FindStringSubmatch(ac.ServerAddress); len(match) > 1 { ECR := ecr.New(session.New(), &aws.Config{ Credentials: credentials.NewStaticCredentials(ac.Username, ac.Password, ""), Region: aws.String(match[2]), }) res, err := ECR.GetAuthorizationToken(&ecr.GetAuthorizationTokenInput{ RegistryIds: []*string{aws.String(match[1])}, }) if err != nil { return "", err } if len(res.AuthorizationData) < 1 { return "", fmt.Errorf("no authorization data") } endpoint := *res.AuthorizationData[0].ProxyEndpoint data, err := base64.StdEncoding.DecodeString(*res.AuthorizationData[0].AuthorizationToken) if err != nil { return "", err } parts := strings.SplitN(string(data), ":", 2) ac.Password = parts[1] ac.ServerAddress = endpoint[8:] ac.Username = parts[0] } args := []string{"login", "-e", ac.Email, "-u", ac.Username, "-p", ac.Password, ac.ServerAddress} out, err := exec.Command("docker", args...).CombinedOutput() // log args with password masked args[6] = "*****" cmd := fmt.Sprintf("docker %s", strings.Trim(fmt.Sprint(args), "[]")) if err != nil { fmt.Printf("ns=kernel cn=docker at=DockerLogin state=error step=exec.Command cmd=%q out=%q err=%q\n", cmd, out, err) } else { fmt.Printf("ns=kernel cn=docker at=DockerLogin state=success step=exec.Command cmd=%q\n", cmd) } return ac.ServerAddress, err }
func ExampleECR_CreateRepository() { svc := ecr.New(session.New()) params := &ecr.CreateRepositoryInput{ RepositoryName: aws.String("RepositoryName"), // Required } resp, err := svc.CreateRepository(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_InitiateLayerUpload() { svc := ecr.New(session.New()) params := &ecr.InitiateLayerUploadInput{ RepositoryName: aws.String("RepositoryName"), // Required RegistryId: aws.String("RegistryId"), } resp, err := svc.InitiateLayerUpload(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_GetDownloadUrlForLayer() { svc := ecr.New(session.New()) params := &ecr.GetDownloadUrlForLayerInput{ LayerDigest: aws.String("LayerDigest"), // Required RepositoryName: aws.String("RepositoryName"), // Required RegistryId: aws.String("RegistryId"), } resp, err := svc.GetDownloadUrlForLayer(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_SetRepositoryPolicy() { svc := ecr.New(session.New()) params := &ecr.SetRepositoryPolicyInput{ PolicyText: aws.String("RepositoryPolicyText"), // Required RepositoryName: aws.String("RepositoryName"), // Required Force: aws.Bool(true), RegistryId: aws.String("RegistryId"), } resp, err := svc.SetRepositoryPolicy(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_ListImages() { svc := ecr.New(session.New()) params := &ecr.ListImagesInput{ RepositoryName: aws.String("RepositoryName"), // Required MaxResults: aws.Int64(1), NextToken: aws.String("NextToken"), RegistryId: aws.String("RegistryId"), } resp, err := svc.ListImages(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_GetAuthorizationToken() { svc := ecr.New(session.New()) params := &ecr.GetAuthorizationTokenInput{ RegistryIds: []*string{ aws.String("RegistryId"), // Required // More values... }, } resp, err := svc.GetAuthorizationToken(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_UploadLayerPart() { svc := ecr.New(session.New()) params := &ecr.UploadLayerPartInput{ LayerPartBlob: []byte("PAYLOAD"), // Required PartFirstByte: aws.Int64(1), // Required PartLastByte: aws.Int64(1), // Required RepositoryName: aws.String("RepositoryName"), // Required UploadId: aws.String("UploadId"), // Required RegistryId: aws.String("RegistryId"), } resp, err := svc.UploadLayerPart(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_BatchCheckLayerAvailability() { svc := ecr.New(session.New()) params := &ecr.BatchCheckLayerAvailabilityInput{ LayerDigests: []*string{ // Required aws.String("BatchedOperationLayerDigest"), // Required // More values... }, RepositoryName: aws.String("RepositoryName"), // Required RegistryId: aws.String("RegistryId"), } resp, err := svc.BatchCheckLayerAvailability(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleECR_CompleteLayerUpload() { svc := ecr.New(session.New()) params := &ecr.CompleteLayerUploadInput{ LayerDigests: []*string{ // Required aws.String("LayerDigest"), // Required // More values... }, RepositoryName: aws.String("RepositoryName"), // Required UploadId: aws.String("UploadId"), // Required RegistryId: aws.String("RegistryId"), } resp, err := svc.CompleteLayerUpload(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ECR() *ecr.ECR { return ecr.New(session.New(), awsConfig()) }
func ECR(req Request) *ecr.ECR { return ecr.New(session.New(), &aws.Config{ Credentials: Credentials(&req), Region: Region(&req), }) }
func (p *AWSProvider) ecr() *ecr.ECR { return ecr.New(session.New(), p.config()) }