github.com/aavshr/aws-sdk-go@v1.41.3/service/ecrpublic/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package ecrpublic
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opBatchCheckLayerAvailability = "BatchCheckLayerAvailability"
    17  
    18  // BatchCheckLayerAvailabilityRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchCheckLayerAvailability operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BatchCheckLayerAvailability for more information on using the BatchCheckLayerAvailability
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BatchCheckLayerAvailabilityRequest method.
    34  //    req, resp := client.BatchCheckLayerAvailabilityRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/BatchCheckLayerAvailability
    42  func (c *ECRPublic) BatchCheckLayerAvailabilityRequest(input *BatchCheckLayerAvailabilityInput) (req *request.Request, output *BatchCheckLayerAvailabilityOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchCheckLayerAvailability,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchCheckLayerAvailabilityInput{}
    51  	}
    52  
    53  	output = &BatchCheckLayerAvailabilityOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchCheckLayerAvailability API operation for Amazon Elastic Container Registry Public.
    59  //
    60  // Checks the availability of one or more image layers within a repository in
    61  // a public registry. When an image is pushed to a repository, each image layer
    62  // is checked to verify if it has been uploaded before. If it has been uploaded,
    63  // then the image layer is skipped.
    64  //
    65  // This operation is used by the Amazon ECR proxy and is not generally used
    66  // by customers for pulling and pushing images. In most cases, you should use
    67  // the docker CLI to pull, tag, and push images.
    68  //
    69  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    70  // with awserr.Error's Code and Message methods to get detailed information about
    71  // the error.
    72  //
    73  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
    74  // API operation BatchCheckLayerAvailability for usage and error information.
    75  //
    76  // Returned Error Types:
    77  //   * RepositoryNotFoundException
    78  //   The specified repository could not be found. Check the spelling of the specified
    79  //   repository and ensure that you are performing operations on the correct registry.
    80  //
    81  //   * InvalidParameterException
    82  //   The specified parameter is invalid. Review the available parameters for the
    83  //   API request.
    84  //
    85  //   * ServerException
    86  //   These errors are usually caused by a server-side issue.
    87  //
    88  //   * RegistryNotFoundException
    89  //   The registry does not exist.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/BatchCheckLayerAvailability
    92  func (c *ECRPublic) BatchCheckLayerAvailability(input *BatchCheckLayerAvailabilityInput) (*BatchCheckLayerAvailabilityOutput, error) {
    93  	req, out := c.BatchCheckLayerAvailabilityRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // BatchCheckLayerAvailabilityWithContext is the same as BatchCheckLayerAvailability with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See BatchCheckLayerAvailability for details on how to use this API operation.
   101  //
   102  // The context must be non-nil and will be used for request cancellation. If
   103  // the context is nil a panic will occur. In the future the SDK may create
   104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   105  // for more information on using Contexts.
   106  func (c *ECRPublic) BatchCheckLayerAvailabilityWithContext(ctx aws.Context, input *BatchCheckLayerAvailabilityInput, opts ...request.Option) (*BatchCheckLayerAvailabilityOutput, error) {
   107  	req, out := c.BatchCheckLayerAvailabilityRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opBatchDeleteImage = "BatchDeleteImage"
   114  
   115  // BatchDeleteImageRequest generates a "aws/request.Request" representing the
   116  // client's request for the BatchDeleteImage operation. The "output" return
   117  // value will be populated with the request's response once the request completes
   118  // successfully.
   119  //
   120  // Use "Send" method on the returned Request to send the API call to the service.
   121  // the "output" return value is not valid until after Send returns without error.
   122  //
   123  // See BatchDeleteImage for more information on using the BatchDeleteImage
   124  // API call, and error handling.
   125  //
   126  // This method is useful when you want to inject custom logic or configuration
   127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   128  //
   129  //
   130  //    // Example sending a request using the BatchDeleteImageRequest method.
   131  //    req, resp := client.BatchDeleteImageRequest(params)
   132  //
   133  //    err := req.Send()
   134  //    if err == nil { // resp is now filled
   135  //        fmt.Println(resp)
   136  //    }
   137  //
   138  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/BatchDeleteImage
   139  func (c *ECRPublic) BatchDeleteImageRequest(input *BatchDeleteImageInput) (req *request.Request, output *BatchDeleteImageOutput) {
   140  	op := &request.Operation{
   141  		Name:       opBatchDeleteImage,
   142  		HTTPMethod: "POST",
   143  		HTTPPath:   "/",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &BatchDeleteImageInput{}
   148  	}
   149  
   150  	output = &BatchDeleteImageOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // BatchDeleteImage API operation for Amazon Elastic Container Registry Public.
   156  //
   157  // Deletes a list of specified images within a repository in a public registry.
   158  // Images are specified with either an imageTag or imageDigest.
   159  //
   160  // You can remove a tag from an image by specifying the image's tag in your
   161  // request. When you remove the last tag from an image, the image is deleted
   162  // from your repository.
   163  //
   164  // You can completely delete an image (and all of its tags) by specifying the
   165  // image's digest in your request.
   166  //
   167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   168  // with awserr.Error's Code and Message methods to get detailed information about
   169  // the error.
   170  //
   171  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   172  // API operation BatchDeleteImage for usage and error information.
   173  //
   174  // Returned Error Types:
   175  //   * ServerException
   176  //   These errors are usually caused by a server-side issue.
   177  //
   178  //   * InvalidParameterException
   179  //   The specified parameter is invalid. Review the available parameters for the
   180  //   API request.
   181  //
   182  //   * RepositoryNotFoundException
   183  //   The specified repository could not be found. Check the spelling of the specified
   184  //   repository and ensure that you are performing operations on the correct registry.
   185  //
   186  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/BatchDeleteImage
   187  func (c *ECRPublic) BatchDeleteImage(input *BatchDeleteImageInput) (*BatchDeleteImageOutput, error) {
   188  	req, out := c.BatchDeleteImageRequest(input)
   189  	return out, req.Send()
   190  }
   191  
   192  // BatchDeleteImageWithContext is the same as BatchDeleteImage with the addition of
   193  // the ability to pass a context and additional request options.
   194  //
   195  // See BatchDeleteImage for details on how to use this API operation.
   196  //
   197  // The context must be non-nil and will be used for request cancellation. If
   198  // the context is nil a panic will occur. In the future the SDK may create
   199  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   200  // for more information on using Contexts.
   201  func (c *ECRPublic) BatchDeleteImageWithContext(ctx aws.Context, input *BatchDeleteImageInput, opts ...request.Option) (*BatchDeleteImageOutput, error) {
   202  	req, out := c.BatchDeleteImageRequest(input)
   203  	req.SetContext(ctx)
   204  	req.ApplyOptions(opts...)
   205  	return out, req.Send()
   206  }
   207  
   208  const opCompleteLayerUpload = "CompleteLayerUpload"
   209  
   210  // CompleteLayerUploadRequest generates a "aws/request.Request" representing the
   211  // client's request for the CompleteLayerUpload operation. The "output" return
   212  // value will be populated with the request's response once the request completes
   213  // successfully.
   214  //
   215  // Use "Send" method on the returned Request to send the API call to the service.
   216  // the "output" return value is not valid until after Send returns without error.
   217  //
   218  // See CompleteLayerUpload for more information on using the CompleteLayerUpload
   219  // API call, and error handling.
   220  //
   221  // This method is useful when you want to inject custom logic or configuration
   222  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   223  //
   224  //
   225  //    // Example sending a request using the CompleteLayerUploadRequest method.
   226  //    req, resp := client.CompleteLayerUploadRequest(params)
   227  //
   228  //    err := req.Send()
   229  //    if err == nil { // resp is now filled
   230  //        fmt.Println(resp)
   231  //    }
   232  //
   233  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/CompleteLayerUpload
   234  func (c *ECRPublic) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req *request.Request, output *CompleteLayerUploadOutput) {
   235  	op := &request.Operation{
   236  		Name:       opCompleteLayerUpload,
   237  		HTTPMethod: "POST",
   238  		HTTPPath:   "/",
   239  	}
   240  
   241  	if input == nil {
   242  		input = &CompleteLayerUploadInput{}
   243  	}
   244  
   245  	output = &CompleteLayerUploadOutput{}
   246  	req = c.newRequest(op, input, output)
   247  	return
   248  }
   249  
   250  // CompleteLayerUpload API operation for Amazon Elastic Container Registry Public.
   251  //
   252  // Informs Amazon ECR that the image layer upload has completed for a specified
   253  // public registry, repository name, and upload ID. You can optionally provide
   254  // a sha256 digest of the image layer for data validation purposes.
   255  //
   256  // When an image is pushed, the CompleteLayerUpload API is called once per each
   257  // new image layer to verify that the upload has completed.
   258  //
   259  // This operation is used by the Amazon ECR proxy and is not generally used
   260  // by customers for pulling and pushing images. In most cases, you should use
   261  // the docker CLI to pull, tag, and push images.
   262  //
   263  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   264  // with awserr.Error's Code and Message methods to get detailed information about
   265  // the error.
   266  //
   267  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   268  // API operation CompleteLayerUpload for usage and error information.
   269  //
   270  // Returned Error Types:
   271  //   * ServerException
   272  //   These errors are usually caused by a server-side issue.
   273  //
   274  //   * InvalidParameterException
   275  //   The specified parameter is invalid. Review the available parameters for the
   276  //   API request.
   277  //
   278  //   * RepositoryNotFoundException
   279  //   The specified repository could not be found. Check the spelling of the specified
   280  //   repository and ensure that you are performing operations on the correct registry.
   281  //
   282  //   * UploadNotFoundException
   283  //   The upload could not be found, or the specified upload ID is not valid for
   284  //   this repository.
   285  //
   286  //   * InvalidLayerException
   287  //   The layer digest calculation performed by Amazon ECR upon receipt of the
   288  //   image layer does not match the digest specified.
   289  //
   290  //   * LayerPartTooSmallException
   291  //   Layer parts must be at least 5 MiB in size.
   292  //
   293  //   * LayerAlreadyExistsException
   294  //   The image layer already exists in the associated repository.
   295  //
   296  //   * EmptyUploadException
   297  //   The specified layer upload does not contain any layer parts.
   298  //
   299  //   * RegistryNotFoundException
   300  //   The registry does not exist.
   301  //
   302  //   * UnsupportedCommandException
   303  //   The action is not supported in this Region.
   304  //
   305  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/CompleteLayerUpload
   306  func (c *ECRPublic) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLayerUploadOutput, error) {
   307  	req, out := c.CompleteLayerUploadRequest(input)
   308  	return out, req.Send()
   309  }
   310  
   311  // CompleteLayerUploadWithContext is the same as CompleteLayerUpload with the addition of
   312  // the ability to pass a context and additional request options.
   313  //
   314  // See CompleteLayerUpload for details on how to use this API operation.
   315  //
   316  // The context must be non-nil and will be used for request cancellation. If
   317  // the context is nil a panic will occur. In the future the SDK may create
   318  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   319  // for more information on using Contexts.
   320  func (c *ECRPublic) CompleteLayerUploadWithContext(ctx aws.Context, input *CompleteLayerUploadInput, opts ...request.Option) (*CompleteLayerUploadOutput, error) {
   321  	req, out := c.CompleteLayerUploadRequest(input)
   322  	req.SetContext(ctx)
   323  	req.ApplyOptions(opts...)
   324  	return out, req.Send()
   325  }
   326  
   327  const opCreateRepository = "CreateRepository"
   328  
   329  // CreateRepositoryRequest generates a "aws/request.Request" representing the
   330  // client's request for the CreateRepository operation. The "output" return
   331  // value will be populated with the request's response once the request completes
   332  // successfully.
   333  //
   334  // Use "Send" method on the returned Request to send the API call to the service.
   335  // the "output" return value is not valid until after Send returns without error.
   336  //
   337  // See CreateRepository for more information on using the CreateRepository
   338  // API call, and error handling.
   339  //
   340  // This method is useful when you want to inject custom logic or configuration
   341  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   342  //
   343  //
   344  //    // Example sending a request using the CreateRepositoryRequest method.
   345  //    req, resp := client.CreateRepositoryRequest(params)
   346  //
   347  //    err := req.Send()
   348  //    if err == nil { // resp is now filled
   349  //        fmt.Println(resp)
   350  //    }
   351  //
   352  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/CreateRepository
   353  func (c *ECRPublic) CreateRepositoryRequest(input *CreateRepositoryInput) (req *request.Request, output *CreateRepositoryOutput) {
   354  	op := &request.Operation{
   355  		Name:       opCreateRepository,
   356  		HTTPMethod: "POST",
   357  		HTTPPath:   "/",
   358  	}
   359  
   360  	if input == nil {
   361  		input = &CreateRepositoryInput{}
   362  	}
   363  
   364  	output = &CreateRepositoryOutput{}
   365  	req = c.newRequest(op, input, output)
   366  	return
   367  }
   368  
   369  // CreateRepository API operation for Amazon Elastic Container Registry Public.
   370  //
   371  // Creates a repository in a public registry. For more information, see Amazon
   372  // ECR repositories (https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html)
   373  // in the Amazon Elastic Container Registry User Guide.
   374  //
   375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   376  // with awserr.Error's Code and Message methods to get detailed information about
   377  // the error.
   378  //
   379  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   380  // API operation CreateRepository for usage and error information.
   381  //
   382  // Returned Error Types:
   383  //   * ServerException
   384  //   These errors are usually caused by a server-side issue.
   385  //
   386  //   * InvalidParameterException
   387  //   The specified parameter is invalid. Review the available parameters for the
   388  //   API request.
   389  //
   390  //   * InvalidTagParameterException
   391  //   An invalid parameter has been specified. Tag keys can have a maximum character
   392  //   length of 128 characters, and tag values can have a maximum length of 256
   393  //   characters.
   394  //
   395  //   * TooManyTagsException
   396  //   The list of tags on the repository is over the limit. The maximum number
   397  //   of tags that can be applied to a repository is 50.
   398  //
   399  //   * RepositoryAlreadyExistsException
   400  //   The specified repository already exists in the specified registry.
   401  //
   402  //   * LimitExceededException
   403  //   The operation did not succeed because it would have exceeded a service limit
   404  //   for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
   405  //   in the Amazon Elastic Container Registry User Guide.
   406  //
   407  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/CreateRepository
   408  func (c *ECRPublic) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) {
   409  	req, out := c.CreateRepositoryRequest(input)
   410  	return out, req.Send()
   411  }
   412  
   413  // CreateRepositoryWithContext is the same as CreateRepository with the addition of
   414  // the ability to pass a context and additional request options.
   415  //
   416  // See CreateRepository for details on how to use this API operation.
   417  //
   418  // The context must be non-nil and will be used for request cancellation. If
   419  // the context is nil a panic will occur. In the future the SDK may create
   420  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   421  // for more information on using Contexts.
   422  func (c *ECRPublic) CreateRepositoryWithContext(ctx aws.Context, input *CreateRepositoryInput, opts ...request.Option) (*CreateRepositoryOutput, error) {
   423  	req, out := c.CreateRepositoryRequest(input)
   424  	req.SetContext(ctx)
   425  	req.ApplyOptions(opts...)
   426  	return out, req.Send()
   427  }
   428  
   429  const opDeleteRepository = "DeleteRepository"
   430  
   431  // DeleteRepositoryRequest generates a "aws/request.Request" representing the
   432  // client's request for the DeleteRepository operation. The "output" return
   433  // value will be populated with the request's response once the request completes
   434  // successfully.
   435  //
   436  // Use "Send" method on the returned Request to send the API call to the service.
   437  // the "output" return value is not valid until after Send returns without error.
   438  //
   439  // See DeleteRepository for more information on using the DeleteRepository
   440  // API call, and error handling.
   441  //
   442  // This method is useful when you want to inject custom logic or configuration
   443  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   444  //
   445  //
   446  //    // Example sending a request using the DeleteRepositoryRequest method.
   447  //    req, resp := client.DeleteRepositoryRequest(params)
   448  //
   449  //    err := req.Send()
   450  //    if err == nil { // resp is now filled
   451  //        fmt.Println(resp)
   452  //    }
   453  //
   454  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DeleteRepository
   455  func (c *ECRPublic) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) {
   456  	op := &request.Operation{
   457  		Name:       opDeleteRepository,
   458  		HTTPMethod: "POST",
   459  		HTTPPath:   "/",
   460  	}
   461  
   462  	if input == nil {
   463  		input = &DeleteRepositoryInput{}
   464  	}
   465  
   466  	output = &DeleteRepositoryOutput{}
   467  	req = c.newRequest(op, input, output)
   468  	return
   469  }
   470  
   471  // DeleteRepository API operation for Amazon Elastic Container Registry Public.
   472  //
   473  // Deletes a repository in a public registry. If the repository contains images,
   474  // you must either delete all images in the repository or use the force option
   475  // which deletes all images on your behalf before deleting the repository.
   476  //
   477  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   478  // with awserr.Error's Code and Message methods to get detailed information about
   479  // the error.
   480  //
   481  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   482  // API operation DeleteRepository for usage and error information.
   483  //
   484  // Returned Error Types:
   485  //   * ServerException
   486  //   These errors are usually caused by a server-side issue.
   487  //
   488  //   * InvalidParameterException
   489  //   The specified parameter is invalid. Review the available parameters for the
   490  //   API request.
   491  //
   492  //   * RepositoryNotFoundException
   493  //   The specified repository could not be found. Check the spelling of the specified
   494  //   repository and ensure that you are performing operations on the correct registry.
   495  //
   496  //   * RepositoryNotEmptyException
   497  //   The specified repository contains images. To delete a repository that contains
   498  //   images, you must force the deletion with the force parameter.
   499  //
   500  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DeleteRepository
   501  func (c *ECRPublic) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) {
   502  	req, out := c.DeleteRepositoryRequest(input)
   503  	return out, req.Send()
   504  }
   505  
   506  // DeleteRepositoryWithContext is the same as DeleteRepository with the addition of
   507  // the ability to pass a context and additional request options.
   508  //
   509  // See DeleteRepository for details on how to use this API operation.
   510  //
   511  // The context must be non-nil and will be used for request cancellation. If
   512  // the context is nil a panic will occur. In the future the SDK may create
   513  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   514  // for more information on using Contexts.
   515  func (c *ECRPublic) DeleteRepositoryWithContext(ctx aws.Context, input *DeleteRepositoryInput, opts ...request.Option) (*DeleteRepositoryOutput, error) {
   516  	req, out := c.DeleteRepositoryRequest(input)
   517  	req.SetContext(ctx)
   518  	req.ApplyOptions(opts...)
   519  	return out, req.Send()
   520  }
   521  
   522  const opDeleteRepositoryPolicy = "DeleteRepositoryPolicy"
   523  
   524  // DeleteRepositoryPolicyRequest generates a "aws/request.Request" representing the
   525  // client's request for the DeleteRepositoryPolicy operation. The "output" return
   526  // value will be populated with the request's response once the request completes
   527  // successfully.
   528  //
   529  // Use "Send" method on the returned Request to send the API call to the service.
   530  // the "output" return value is not valid until after Send returns without error.
   531  //
   532  // See DeleteRepositoryPolicy for more information on using the DeleteRepositoryPolicy
   533  // API call, and error handling.
   534  //
   535  // This method is useful when you want to inject custom logic or configuration
   536  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   537  //
   538  //
   539  //    // Example sending a request using the DeleteRepositoryPolicyRequest method.
   540  //    req, resp := client.DeleteRepositoryPolicyRequest(params)
   541  //
   542  //    err := req.Send()
   543  //    if err == nil { // resp is now filled
   544  //        fmt.Println(resp)
   545  //    }
   546  //
   547  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DeleteRepositoryPolicy
   548  func (c *ECRPublic) DeleteRepositoryPolicyRequest(input *DeleteRepositoryPolicyInput) (req *request.Request, output *DeleteRepositoryPolicyOutput) {
   549  	op := &request.Operation{
   550  		Name:       opDeleteRepositoryPolicy,
   551  		HTTPMethod: "POST",
   552  		HTTPPath:   "/",
   553  	}
   554  
   555  	if input == nil {
   556  		input = &DeleteRepositoryPolicyInput{}
   557  	}
   558  
   559  	output = &DeleteRepositoryPolicyOutput{}
   560  	req = c.newRequest(op, input, output)
   561  	return
   562  }
   563  
   564  // DeleteRepositoryPolicy API operation for Amazon Elastic Container Registry Public.
   565  //
   566  // Deletes the repository policy associated with the specified repository.
   567  //
   568  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   569  // with awserr.Error's Code and Message methods to get detailed information about
   570  // the error.
   571  //
   572  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   573  // API operation DeleteRepositoryPolicy for usage and error information.
   574  //
   575  // Returned Error Types:
   576  //   * ServerException
   577  //   These errors are usually caused by a server-side issue.
   578  //
   579  //   * InvalidParameterException
   580  //   The specified parameter is invalid. Review the available parameters for the
   581  //   API request.
   582  //
   583  //   * RepositoryNotFoundException
   584  //   The specified repository could not be found. Check the spelling of the specified
   585  //   repository and ensure that you are performing operations on the correct registry.
   586  //
   587  //   * RepositoryPolicyNotFoundException
   588  //   The specified repository and registry combination does not have an associated
   589  //   repository policy.
   590  //
   591  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DeleteRepositoryPolicy
   592  func (c *ECRPublic) DeleteRepositoryPolicy(input *DeleteRepositoryPolicyInput) (*DeleteRepositoryPolicyOutput, error) {
   593  	req, out := c.DeleteRepositoryPolicyRequest(input)
   594  	return out, req.Send()
   595  }
   596  
   597  // DeleteRepositoryPolicyWithContext is the same as DeleteRepositoryPolicy with the addition of
   598  // the ability to pass a context and additional request options.
   599  //
   600  // See DeleteRepositoryPolicy for details on how to use this API operation.
   601  //
   602  // The context must be non-nil and will be used for request cancellation. If
   603  // the context is nil a panic will occur. In the future the SDK may create
   604  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   605  // for more information on using Contexts.
   606  func (c *ECRPublic) DeleteRepositoryPolicyWithContext(ctx aws.Context, input *DeleteRepositoryPolicyInput, opts ...request.Option) (*DeleteRepositoryPolicyOutput, error) {
   607  	req, out := c.DeleteRepositoryPolicyRequest(input)
   608  	req.SetContext(ctx)
   609  	req.ApplyOptions(opts...)
   610  	return out, req.Send()
   611  }
   612  
   613  const opDescribeImageTags = "DescribeImageTags"
   614  
   615  // DescribeImageTagsRequest generates a "aws/request.Request" representing the
   616  // client's request for the DescribeImageTags operation. The "output" return
   617  // value will be populated with the request's response once the request completes
   618  // successfully.
   619  //
   620  // Use "Send" method on the returned Request to send the API call to the service.
   621  // the "output" return value is not valid until after Send returns without error.
   622  //
   623  // See DescribeImageTags for more information on using the DescribeImageTags
   624  // API call, and error handling.
   625  //
   626  // This method is useful when you want to inject custom logic or configuration
   627  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   628  //
   629  //
   630  //    // Example sending a request using the DescribeImageTagsRequest method.
   631  //    req, resp := client.DescribeImageTagsRequest(params)
   632  //
   633  //    err := req.Send()
   634  //    if err == nil { // resp is now filled
   635  //        fmt.Println(resp)
   636  //    }
   637  //
   638  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeImageTags
   639  func (c *ECRPublic) DescribeImageTagsRequest(input *DescribeImageTagsInput) (req *request.Request, output *DescribeImageTagsOutput) {
   640  	op := &request.Operation{
   641  		Name:       opDescribeImageTags,
   642  		HTTPMethod: "POST",
   643  		HTTPPath:   "/",
   644  		Paginator: &request.Paginator{
   645  			InputTokens:     []string{"nextToken"},
   646  			OutputTokens:    []string{"nextToken"},
   647  			LimitToken:      "maxResults",
   648  			TruncationToken: "",
   649  		},
   650  	}
   651  
   652  	if input == nil {
   653  		input = &DescribeImageTagsInput{}
   654  	}
   655  
   656  	output = &DescribeImageTagsOutput{}
   657  	req = c.newRequest(op, input, output)
   658  	return
   659  }
   660  
   661  // DescribeImageTags API operation for Amazon Elastic Container Registry Public.
   662  //
   663  // Returns the image tag details for a repository in a public registry.
   664  //
   665  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   666  // with awserr.Error's Code and Message methods to get detailed information about
   667  // the error.
   668  //
   669  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   670  // API operation DescribeImageTags for usage and error information.
   671  //
   672  // Returned Error Types:
   673  //   * ServerException
   674  //   These errors are usually caused by a server-side issue.
   675  //
   676  //   * InvalidParameterException
   677  //   The specified parameter is invalid. Review the available parameters for the
   678  //   API request.
   679  //
   680  //   * RepositoryNotFoundException
   681  //   The specified repository could not be found. Check the spelling of the specified
   682  //   repository and ensure that you are performing operations on the correct registry.
   683  //
   684  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeImageTags
   685  func (c *ECRPublic) DescribeImageTags(input *DescribeImageTagsInput) (*DescribeImageTagsOutput, error) {
   686  	req, out := c.DescribeImageTagsRequest(input)
   687  	return out, req.Send()
   688  }
   689  
   690  // DescribeImageTagsWithContext is the same as DescribeImageTags with the addition of
   691  // the ability to pass a context and additional request options.
   692  //
   693  // See DescribeImageTags for details on how to use this API operation.
   694  //
   695  // The context must be non-nil and will be used for request cancellation. If
   696  // the context is nil a panic will occur. In the future the SDK may create
   697  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   698  // for more information on using Contexts.
   699  func (c *ECRPublic) DescribeImageTagsWithContext(ctx aws.Context, input *DescribeImageTagsInput, opts ...request.Option) (*DescribeImageTagsOutput, error) {
   700  	req, out := c.DescribeImageTagsRequest(input)
   701  	req.SetContext(ctx)
   702  	req.ApplyOptions(opts...)
   703  	return out, req.Send()
   704  }
   705  
   706  // DescribeImageTagsPages iterates over the pages of a DescribeImageTags operation,
   707  // calling the "fn" function with the response data for each page. To stop
   708  // iterating, return false from the fn function.
   709  //
   710  // See DescribeImageTags method for more information on how to use this operation.
   711  //
   712  // Note: This operation can generate multiple requests to a service.
   713  //
   714  //    // Example iterating over at most 3 pages of a DescribeImageTags operation.
   715  //    pageNum := 0
   716  //    err := client.DescribeImageTagsPages(params,
   717  //        func(page *ecrpublic.DescribeImageTagsOutput, lastPage bool) bool {
   718  //            pageNum++
   719  //            fmt.Println(page)
   720  //            return pageNum <= 3
   721  //        })
   722  //
   723  func (c *ECRPublic) DescribeImageTagsPages(input *DescribeImageTagsInput, fn func(*DescribeImageTagsOutput, bool) bool) error {
   724  	return c.DescribeImageTagsPagesWithContext(aws.BackgroundContext(), input, fn)
   725  }
   726  
   727  // DescribeImageTagsPagesWithContext same as DescribeImageTagsPages except
   728  // it takes a Context and allows setting request options on the pages.
   729  //
   730  // The context must be non-nil and will be used for request cancellation. If
   731  // the context is nil a panic will occur. In the future the SDK may create
   732  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   733  // for more information on using Contexts.
   734  func (c *ECRPublic) DescribeImageTagsPagesWithContext(ctx aws.Context, input *DescribeImageTagsInput, fn func(*DescribeImageTagsOutput, bool) bool, opts ...request.Option) error {
   735  	p := request.Pagination{
   736  		NewRequest: func() (*request.Request, error) {
   737  			var inCpy *DescribeImageTagsInput
   738  			if input != nil {
   739  				tmp := *input
   740  				inCpy = &tmp
   741  			}
   742  			req, _ := c.DescribeImageTagsRequest(inCpy)
   743  			req.SetContext(ctx)
   744  			req.ApplyOptions(opts...)
   745  			return req, nil
   746  		},
   747  	}
   748  
   749  	for p.Next() {
   750  		if !fn(p.Page().(*DescribeImageTagsOutput), !p.HasNextPage()) {
   751  			break
   752  		}
   753  	}
   754  
   755  	return p.Err()
   756  }
   757  
   758  const opDescribeImages = "DescribeImages"
   759  
   760  // DescribeImagesRequest generates a "aws/request.Request" representing the
   761  // client's request for the DescribeImages operation. The "output" return
   762  // value will be populated with the request's response once the request completes
   763  // successfully.
   764  //
   765  // Use "Send" method on the returned Request to send the API call to the service.
   766  // the "output" return value is not valid until after Send returns without error.
   767  //
   768  // See DescribeImages for more information on using the DescribeImages
   769  // API call, and error handling.
   770  //
   771  // This method is useful when you want to inject custom logic or configuration
   772  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   773  //
   774  //
   775  //    // Example sending a request using the DescribeImagesRequest method.
   776  //    req, resp := client.DescribeImagesRequest(params)
   777  //
   778  //    err := req.Send()
   779  //    if err == nil { // resp is now filled
   780  //        fmt.Println(resp)
   781  //    }
   782  //
   783  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeImages
   784  func (c *ECRPublic) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
   785  	op := &request.Operation{
   786  		Name:       opDescribeImages,
   787  		HTTPMethod: "POST",
   788  		HTTPPath:   "/",
   789  		Paginator: &request.Paginator{
   790  			InputTokens:     []string{"nextToken"},
   791  			OutputTokens:    []string{"nextToken"},
   792  			LimitToken:      "maxResults",
   793  			TruncationToken: "",
   794  		},
   795  	}
   796  
   797  	if input == nil {
   798  		input = &DescribeImagesInput{}
   799  	}
   800  
   801  	output = &DescribeImagesOutput{}
   802  	req = c.newRequest(op, input, output)
   803  	return
   804  }
   805  
   806  // DescribeImages API operation for Amazon Elastic Container Registry Public.
   807  //
   808  // Returns metadata about the images in a repository in a public registry.
   809  //
   810  // Beginning with Docker version 1.9, the Docker client compresses image layers
   811  // before pushing them to a V2 Docker registry. The output of the docker images
   812  // command shows the uncompressed image size, so it may return a larger image
   813  // size than the image sizes returned by DescribeImages.
   814  //
   815  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   816  // with awserr.Error's Code and Message methods to get detailed information about
   817  // the error.
   818  //
   819  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   820  // API operation DescribeImages for usage and error information.
   821  //
   822  // Returned Error Types:
   823  //   * ServerException
   824  //   These errors are usually caused by a server-side issue.
   825  //
   826  //   * InvalidParameterException
   827  //   The specified parameter is invalid. Review the available parameters for the
   828  //   API request.
   829  //
   830  //   * RepositoryNotFoundException
   831  //   The specified repository could not be found. Check the spelling of the specified
   832  //   repository and ensure that you are performing operations on the correct registry.
   833  //
   834  //   * ImageNotFoundException
   835  //   The image requested does not exist in the specified repository.
   836  //
   837  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeImages
   838  func (c *ECRPublic) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
   839  	req, out := c.DescribeImagesRequest(input)
   840  	return out, req.Send()
   841  }
   842  
   843  // DescribeImagesWithContext is the same as DescribeImages with the addition of
   844  // the ability to pass a context and additional request options.
   845  //
   846  // See DescribeImages for details on how to use this API operation.
   847  //
   848  // The context must be non-nil and will be used for request cancellation. If
   849  // the context is nil a panic will occur. In the future the SDK may create
   850  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   851  // for more information on using Contexts.
   852  func (c *ECRPublic) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
   853  	req, out := c.DescribeImagesRequest(input)
   854  	req.SetContext(ctx)
   855  	req.ApplyOptions(opts...)
   856  	return out, req.Send()
   857  }
   858  
   859  // DescribeImagesPages iterates over the pages of a DescribeImages operation,
   860  // calling the "fn" function with the response data for each page. To stop
   861  // iterating, return false from the fn function.
   862  //
   863  // See DescribeImages method for more information on how to use this operation.
   864  //
   865  // Note: This operation can generate multiple requests to a service.
   866  //
   867  //    // Example iterating over at most 3 pages of a DescribeImages operation.
   868  //    pageNum := 0
   869  //    err := client.DescribeImagesPages(params,
   870  //        func(page *ecrpublic.DescribeImagesOutput, lastPage bool) bool {
   871  //            pageNum++
   872  //            fmt.Println(page)
   873  //            return pageNum <= 3
   874  //        })
   875  //
   876  func (c *ECRPublic) DescribeImagesPages(input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool) error {
   877  	return c.DescribeImagesPagesWithContext(aws.BackgroundContext(), input, fn)
   878  }
   879  
   880  // DescribeImagesPagesWithContext same as DescribeImagesPages except
   881  // it takes a Context and allows setting request options on the pages.
   882  //
   883  // The context must be non-nil and will be used for request cancellation. If
   884  // the context is nil a panic will occur. In the future the SDK may create
   885  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   886  // for more information on using Contexts.
   887  func (c *ECRPublic) DescribeImagesPagesWithContext(ctx aws.Context, input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool, opts ...request.Option) error {
   888  	p := request.Pagination{
   889  		NewRequest: func() (*request.Request, error) {
   890  			var inCpy *DescribeImagesInput
   891  			if input != nil {
   892  				tmp := *input
   893  				inCpy = &tmp
   894  			}
   895  			req, _ := c.DescribeImagesRequest(inCpy)
   896  			req.SetContext(ctx)
   897  			req.ApplyOptions(opts...)
   898  			return req, nil
   899  		},
   900  	}
   901  
   902  	for p.Next() {
   903  		if !fn(p.Page().(*DescribeImagesOutput), !p.HasNextPage()) {
   904  			break
   905  		}
   906  	}
   907  
   908  	return p.Err()
   909  }
   910  
   911  const opDescribeRegistries = "DescribeRegistries"
   912  
   913  // DescribeRegistriesRequest generates a "aws/request.Request" representing the
   914  // client's request for the DescribeRegistries operation. The "output" return
   915  // value will be populated with the request's response once the request completes
   916  // successfully.
   917  //
   918  // Use "Send" method on the returned Request to send the API call to the service.
   919  // the "output" return value is not valid until after Send returns without error.
   920  //
   921  // See DescribeRegistries for more information on using the DescribeRegistries
   922  // API call, and error handling.
   923  //
   924  // This method is useful when you want to inject custom logic or configuration
   925  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   926  //
   927  //
   928  //    // Example sending a request using the DescribeRegistriesRequest method.
   929  //    req, resp := client.DescribeRegistriesRequest(params)
   930  //
   931  //    err := req.Send()
   932  //    if err == nil { // resp is now filled
   933  //        fmt.Println(resp)
   934  //    }
   935  //
   936  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeRegistries
   937  func (c *ECRPublic) DescribeRegistriesRequest(input *DescribeRegistriesInput) (req *request.Request, output *DescribeRegistriesOutput) {
   938  	op := &request.Operation{
   939  		Name:       opDescribeRegistries,
   940  		HTTPMethod: "POST",
   941  		HTTPPath:   "/",
   942  		Paginator: &request.Paginator{
   943  			InputTokens:     []string{"nextToken"},
   944  			OutputTokens:    []string{"nextToken"},
   945  			LimitToken:      "maxResults",
   946  			TruncationToken: "",
   947  		},
   948  	}
   949  
   950  	if input == nil {
   951  		input = &DescribeRegistriesInput{}
   952  	}
   953  
   954  	output = &DescribeRegistriesOutput{}
   955  	req = c.newRequest(op, input, output)
   956  	return
   957  }
   958  
   959  // DescribeRegistries API operation for Amazon Elastic Container Registry Public.
   960  //
   961  // Returns details for a public registry.
   962  //
   963  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   964  // with awserr.Error's Code and Message methods to get detailed information about
   965  // the error.
   966  //
   967  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
   968  // API operation DescribeRegistries for usage and error information.
   969  //
   970  // Returned Error Types:
   971  //   * InvalidParameterException
   972  //   The specified parameter is invalid. Review the available parameters for the
   973  //   API request.
   974  //
   975  //   * UnsupportedCommandException
   976  //   The action is not supported in this Region.
   977  //
   978  //   * ServerException
   979  //   These errors are usually caused by a server-side issue.
   980  //
   981  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeRegistries
   982  func (c *ECRPublic) DescribeRegistries(input *DescribeRegistriesInput) (*DescribeRegistriesOutput, error) {
   983  	req, out := c.DescribeRegistriesRequest(input)
   984  	return out, req.Send()
   985  }
   986  
   987  // DescribeRegistriesWithContext is the same as DescribeRegistries with the addition of
   988  // the ability to pass a context and additional request options.
   989  //
   990  // See DescribeRegistries for details on how to use this API operation.
   991  //
   992  // The context must be non-nil and will be used for request cancellation. If
   993  // the context is nil a panic will occur. In the future the SDK may create
   994  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   995  // for more information on using Contexts.
   996  func (c *ECRPublic) DescribeRegistriesWithContext(ctx aws.Context, input *DescribeRegistriesInput, opts ...request.Option) (*DescribeRegistriesOutput, error) {
   997  	req, out := c.DescribeRegistriesRequest(input)
   998  	req.SetContext(ctx)
   999  	req.ApplyOptions(opts...)
  1000  	return out, req.Send()
  1001  }
  1002  
  1003  // DescribeRegistriesPages iterates over the pages of a DescribeRegistries operation,
  1004  // calling the "fn" function with the response data for each page. To stop
  1005  // iterating, return false from the fn function.
  1006  //
  1007  // See DescribeRegistries method for more information on how to use this operation.
  1008  //
  1009  // Note: This operation can generate multiple requests to a service.
  1010  //
  1011  //    // Example iterating over at most 3 pages of a DescribeRegistries operation.
  1012  //    pageNum := 0
  1013  //    err := client.DescribeRegistriesPages(params,
  1014  //        func(page *ecrpublic.DescribeRegistriesOutput, lastPage bool) bool {
  1015  //            pageNum++
  1016  //            fmt.Println(page)
  1017  //            return pageNum <= 3
  1018  //        })
  1019  //
  1020  func (c *ECRPublic) DescribeRegistriesPages(input *DescribeRegistriesInput, fn func(*DescribeRegistriesOutput, bool) bool) error {
  1021  	return c.DescribeRegistriesPagesWithContext(aws.BackgroundContext(), input, fn)
  1022  }
  1023  
  1024  // DescribeRegistriesPagesWithContext same as DescribeRegistriesPages except
  1025  // it takes a Context and allows setting request options on the pages.
  1026  //
  1027  // The context must be non-nil and will be used for request cancellation. If
  1028  // the context is nil a panic will occur. In the future the SDK may create
  1029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1030  // for more information on using Contexts.
  1031  func (c *ECRPublic) DescribeRegistriesPagesWithContext(ctx aws.Context, input *DescribeRegistriesInput, fn func(*DescribeRegistriesOutput, bool) bool, opts ...request.Option) error {
  1032  	p := request.Pagination{
  1033  		NewRequest: func() (*request.Request, error) {
  1034  			var inCpy *DescribeRegistriesInput
  1035  			if input != nil {
  1036  				tmp := *input
  1037  				inCpy = &tmp
  1038  			}
  1039  			req, _ := c.DescribeRegistriesRequest(inCpy)
  1040  			req.SetContext(ctx)
  1041  			req.ApplyOptions(opts...)
  1042  			return req, nil
  1043  		},
  1044  	}
  1045  
  1046  	for p.Next() {
  1047  		if !fn(p.Page().(*DescribeRegistriesOutput), !p.HasNextPage()) {
  1048  			break
  1049  		}
  1050  	}
  1051  
  1052  	return p.Err()
  1053  }
  1054  
  1055  const opDescribeRepositories = "DescribeRepositories"
  1056  
  1057  // DescribeRepositoriesRequest generates a "aws/request.Request" representing the
  1058  // client's request for the DescribeRepositories operation. The "output" return
  1059  // value will be populated with the request's response once the request completes
  1060  // successfully.
  1061  //
  1062  // Use "Send" method on the returned Request to send the API call to the service.
  1063  // the "output" return value is not valid until after Send returns without error.
  1064  //
  1065  // See DescribeRepositories for more information on using the DescribeRepositories
  1066  // API call, and error handling.
  1067  //
  1068  // This method is useful when you want to inject custom logic or configuration
  1069  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1070  //
  1071  //
  1072  //    // Example sending a request using the DescribeRepositoriesRequest method.
  1073  //    req, resp := client.DescribeRepositoriesRequest(params)
  1074  //
  1075  //    err := req.Send()
  1076  //    if err == nil { // resp is now filled
  1077  //        fmt.Println(resp)
  1078  //    }
  1079  //
  1080  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeRepositories
  1081  func (c *ECRPublic) DescribeRepositoriesRequest(input *DescribeRepositoriesInput) (req *request.Request, output *DescribeRepositoriesOutput) {
  1082  	op := &request.Operation{
  1083  		Name:       opDescribeRepositories,
  1084  		HTTPMethod: "POST",
  1085  		HTTPPath:   "/",
  1086  		Paginator: &request.Paginator{
  1087  			InputTokens:     []string{"nextToken"},
  1088  			OutputTokens:    []string{"nextToken"},
  1089  			LimitToken:      "maxResults",
  1090  			TruncationToken: "",
  1091  		},
  1092  	}
  1093  
  1094  	if input == nil {
  1095  		input = &DescribeRepositoriesInput{}
  1096  	}
  1097  
  1098  	output = &DescribeRepositoriesOutput{}
  1099  	req = c.newRequest(op, input, output)
  1100  	return
  1101  }
  1102  
  1103  // DescribeRepositories API operation for Amazon Elastic Container Registry Public.
  1104  //
  1105  // Describes repositories in a public registry.
  1106  //
  1107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1108  // with awserr.Error's Code and Message methods to get detailed information about
  1109  // the error.
  1110  //
  1111  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1112  // API operation DescribeRepositories for usage and error information.
  1113  //
  1114  // Returned Error Types:
  1115  //   * ServerException
  1116  //   These errors are usually caused by a server-side issue.
  1117  //
  1118  //   * InvalidParameterException
  1119  //   The specified parameter is invalid. Review the available parameters for the
  1120  //   API request.
  1121  //
  1122  //   * RepositoryNotFoundException
  1123  //   The specified repository could not be found. Check the spelling of the specified
  1124  //   repository and ensure that you are performing operations on the correct registry.
  1125  //
  1126  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeRepositories
  1127  func (c *ECRPublic) DescribeRepositories(input *DescribeRepositoriesInput) (*DescribeRepositoriesOutput, error) {
  1128  	req, out := c.DescribeRepositoriesRequest(input)
  1129  	return out, req.Send()
  1130  }
  1131  
  1132  // DescribeRepositoriesWithContext is the same as DescribeRepositories with the addition of
  1133  // the ability to pass a context and additional request options.
  1134  //
  1135  // See DescribeRepositories for details on how to use this API operation.
  1136  //
  1137  // The context must be non-nil and will be used for request cancellation. If
  1138  // the context is nil a panic will occur. In the future the SDK may create
  1139  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1140  // for more information on using Contexts.
  1141  func (c *ECRPublic) DescribeRepositoriesWithContext(ctx aws.Context, input *DescribeRepositoriesInput, opts ...request.Option) (*DescribeRepositoriesOutput, error) {
  1142  	req, out := c.DescribeRepositoriesRequest(input)
  1143  	req.SetContext(ctx)
  1144  	req.ApplyOptions(opts...)
  1145  	return out, req.Send()
  1146  }
  1147  
  1148  // DescribeRepositoriesPages iterates over the pages of a DescribeRepositories operation,
  1149  // calling the "fn" function with the response data for each page. To stop
  1150  // iterating, return false from the fn function.
  1151  //
  1152  // See DescribeRepositories method for more information on how to use this operation.
  1153  //
  1154  // Note: This operation can generate multiple requests to a service.
  1155  //
  1156  //    // Example iterating over at most 3 pages of a DescribeRepositories operation.
  1157  //    pageNum := 0
  1158  //    err := client.DescribeRepositoriesPages(params,
  1159  //        func(page *ecrpublic.DescribeRepositoriesOutput, lastPage bool) bool {
  1160  //            pageNum++
  1161  //            fmt.Println(page)
  1162  //            return pageNum <= 3
  1163  //        })
  1164  //
  1165  func (c *ECRPublic) DescribeRepositoriesPages(input *DescribeRepositoriesInput, fn func(*DescribeRepositoriesOutput, bool) bool) error {
  1166  	return c.DescribeRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn)
  1167  }
  1168  
  1169  // DescribeRepositoriesPagesWithContext same as DescribeRepositoriesPages except
  1170  // it takes a Context and allows setting request options on the pages.
  1171  //
  1172  // The context must be non-nil and will be used for request cancellation. If
  1173  // the context is nil a panic will occur. In the future the SDK may create
  1174  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1175  // for more information on using Contexts.
  1176  func (c *ECRPublic) DescribeRepositoriesPagesWithContext(ctx aws.Context, input *DescribeRepositoriesInput, fn func(*DescribeRepositoriesOutput, bool) bool, opts ...request.Option) error {
  1177  	p := request.Pagination{
  1178  		NewRequest: func() (*request.Request, error) {
  1179  			var inCpy *DescribeRepositoriesInput
  1180  			if input != nil {
  1181  				tmp := *input
  1182  				inCpy = &tmp
  1183  			}
  1184  			req, _ := c.DescribeRepositoriesRequest(inCpy)
  1185  			req.SetContext(ctx)
  1186  			req.ApplyOptions(opts...)
  1187  			return req, nil
  1188  		},
  1189  	}
  1190  
  1191  	for p.Next() {
  1192  		if !fn(p.Page().(*DescribeRepositoriesOutput), !p.HasNextPage()) {
  1193  			break
  1194  		}
  1195  	}
  1196  
  1197  	return p.Err()
  1198  }
  1199  
  1200  const opGetAuthorizationToken = "GetAuthorizationToken"
  1201  
  1202  // GetAuthorizationTokenRequest generates a "aws/request.Request" representing the
  1203  // client's request for the GetAuthorizationToken operation. The "output" return
  1204  // value will be populated with the request's response once the request completes
  1205  // successfully.
  1206  //
  1207  // Use "Send" method on the returned Request to send the API call to the service.
  1208  // the "output" return value is not valid until after Send returns without error.
  1209  //
  1210  // See GetAuthorizationToken for more information on using the GetAuthorizationToken
  1211  // API call, and error handling.
  1212  //
  1213  // This method is useful when you want to inject custom logic or configuration
  1214  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1215  //
  1216  //
  1217  //    // Example sending a request using the GetAuthorizationTokenRequest method.
  1218  //    req, resp := client.GetAuthorizationTokenRequest(params)
  1219  //
  1220  //    err := req.Send()
  1221  //    if err == nil { // resp is now filled
  1222  //        fmt.Println(resp)
  1223  //    }
  1224  //
  1225  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetAuthorizationToken
  1226  func (c *ECRPublic) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (req *request.Request, output *GetAuthorizationTokenOutput) {
  1227  	op := &request.Operation{
  1228  		Name:       opGetAuthorizationToken,
  1229  		HTTPMethod: "POST",
  1230  		HTTPPath:   "/",
  1231  	}
  1232  
  1233  	if input == nil {
  1234  		input = &GetAuthorizationTokenInput{}
  1235  	}
  1236  
  1237  	output = &GetAuthorizationTokenOutput{}
  1238  	req = c.newRequest(op, input, output)
  1239  	return
  1240  }
  1241  
  1242  // GetAuthorizationToken API operation for Amazon Elastic Container Registry Public.
  1243  //
  1244  // Retrieves an authorization token. An authorization token represents your
  1245  // IAM authentication credentials and can be used to access any Amazon ECR registry
  1246  // that your IAM principal has access to. The authorization token is valid for
  1247  // 12 hours. This API requires the ecr-public:GetAuthorizationToken and sts:GetServiceBearerToken
  1248  // permissions.
  1249  //
  1250  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1251  // with awserr.Error's Code and Message methods to get detailed information about
  1252  // the error.
  1253  //
  1254  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1255  // API operation GetAuthorizationToken for usage and error information.
  1256  //
  1257  // Returned Error Types:
  1258  //   * ServerException
  1259  //   These errors are usually caused by a server-side issue.
  1260  //
  1261  //   * InvalidParameterException
  1262  //   The specified parameter is invalid. Review the available parameters for the
  1263  //   API request.
  1264  //
  1265  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetAuthorizationToken
  1266  func (c *ECRPublic) GetAuthorizationToken(input *GetAuthorizationTokenInput) (*GetAuthorizationTokenOutput, error) {
  1267  	req, out := c.GetAuthorizationTokenRequest(input)
  1268  	return out, req.Send()
  1269  }
  1270  
  1271  // GetAuthorizationTokenWithContext is the same as GetAuthorizationToken with the addition of
  1272  // the ability to pass a context and additional request options.
  1273  //
  1274  // See GetAuthorizationToken for details on how to use this API operation.
  1275  //
  1276  // The context must be non-nil and will be used for request cancellation. If
  1277  // the context is nil a panic will occur. In the future the SDK may create
  1278  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1279  // for more information on using Contexts.
  1280  func (c *ECRPublic) GetAuthorizationTokenWithContext(ctx aws.Context, input *GetAuthorizationTokenInput, opts ...request.Option) (*GetAuthorizationTokenOutput, error) {
  1281  	req, out := c.GetAuthorizationTokenRequest(input)
  1282  	req.SetContext(ctx)
  1283  	req.ApplyOptions(opts...)
  1284  	return out, req.Send()
  1285  }
  1286  
  1287  const opGetRegistryCatalogData = "GetRegistryCatalogData"
  1288  
  1289  // GetRegistryCatalogDataRequest generates a "aws/request.Request" representing the
  1290  // client's request for the GetRegistryCatalogData operation. The "output" return
  1291  // value will be populated with the request's response once the request completes
  1292  // successfully.
  1293  //
  1294  // Use "Send" method on the returned Request to send the API call to the service.
  1295  // the "output" return value is not valid until after Send returns without error.
  1296  //
  1297  // See GetRegistryCatalogData for more information on using the GetRegistryCatalogData
  1298  // API call, and error handling.
  1299  //
  1300  // This method is useful when you want to inject custom logic or configuration
  1301  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1302  //
  1303  //
  1304  //    // Example sending a request using the GetRegistryCatalogDataRequest method.
  1305  //    req, resp := client.GetRegistryCatalogDataRequest(params)
  1306  //
  1307  //    err := req.Send()
  1308  //    if err == nil { // resp is now filled
  1309  //        fmt.Println(resp)
  1310  //    }
  1311  //
  1312  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRegistryCatalogData
  1313  func (c *ECRPublic) GetRegistryCatalogDataRequest(input *GetRegistryCatalogDataInput) (req *request.Request, output *GetRegistryCatalogDataOutput) {
  1314  	op := &request.Operation{
  1315  		Name:       opGetRegistryCatalogData,
  1316  		HTTPMethod: "POST",
  1317  		HTTPPath:   "/",
  1318  	}
  1319  
  1320  	if input == nil {
  1321  		input = &GetRegistryCatalogDataInput{}
  1322  	}
  1323  
  1324  	output = &GetRegistryCatalogDataOutput{}
  1325  	req = c.newRequest(op, input, output)
  1326  	return
  1327  }
  1328  
  1329  // GetRegistryCatalogData API operation for Amazon Elastic Container Registry Public.
  1330  //
  1331  // Retrieves catalog metadata for a public registry.
  1332  //
  1333  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1334  // with awserr.Error's Code and Message methods to get detailed information about
  1335  // the error.
  1336  //
  1337  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1338  // API operation GetRegistryCatalogData for usage and error information.
  1339  //
  1340  // Returned Error Types:
  1341  //   * ServerException
  1342  //   These errors are usually caused by a server-side issue.
  1343  //
  1344  //   * UnsupportedCommandException
  1345  //   The action is not supported in this Region.
  1346  //
  1347  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRegistryCatalogData
  1348  func (c *ECRPublic) GetRegistryCatalogData(input *GetRegistryCatalogDataInput) (*GetRegistryCatalogDataOutput, error) {
  1349  	req, out := c.GetRegistryCatalogDataRequest(input)
  1350  	return out, req.Send()
  1351  }
  1352  
  1353  // GetRegistryCatalogDataWithContext is the same as GetRegistryCatalogData with the addition of
  1354  // the ability to pass a context and additional request options.
  1355  //
  1356  // See GetRegistryCatalogData for details on how to use this API operation.
  1357  //
  1358  // The context must be non-nil and will be used for request cancellation. If
  1359  // the context is nil a panic will occur. In the future the SDK may create
  1360  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1361  // for more information on using Contexts.
  1362  func (c *ECRPublic) GetRegistryCatalogDataWithContext(ctx aws.Context, input *GetRegistryCatalogDataInput, opts ...request.Option) (*GetRegistryCatalogDataOutput, error) {
  1363  	req, out := c.GetRegistryCatalogDataRequest(input)
  1364  	req.SetContext(ctx)
  1365  	req.ApplyOptions(opts...)
  1366  	return out, req.Send()
  1367  }
  1368  
  1369  const opGetRepositoryCatalogData = "GetRepositoryCatalogData"
  1370  
  1371  // GetRepositoryCatalogDataRequest generates a "aws/request.Request" representing the
  1372  // client's request for the GetRepositoryCatalogData operation. The "output" return
  1373  // value will be populated with the request's response once the request completes
  1374  // successfully.
  1375  //
  1376  // Use "Send" method on the returned Request to send the API call to the service.
  1377  // the "output" return value is not valid until after Send returns without error.
  1378  //
  1379  // See GetRepositoryCatalogData for more information on using the GetRepositoryCatalogData
  1380  // API call, and error handling.
  1381  //
  1382  // This method is useful when you want to inject custom logic or configuration
  1383  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1384  //
  1385  //
  1386  //    // Example sending a request using the GetRepositoryCatalogDataRequest method.
  1387  //    req, resp := client.GetRepositoryCatalogDataRequest(params)
  1388  //
  1389  //    err := req.Send()
  1390  //    if err == nil { // resp is now filled
  1391  //        fmt.Println(resp)
  1392  //    }
  1393  //
  1394  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRepositoryCatalogData
  1395  func (c *ECRPublic) GetRepositoryCatalogDataRequest(input *GetRepositoryCatalogDataInput) (req *request.Request, output *GetRepositoryCatalogDataOutput) {
  1396  	op := &request.Operation{
  1397  		Name:       opGetRepositoryCatalogData,
  1398  		HTTPMethod: "POST",
  1399  		HTTPPath:   "/",
  1400  	}
  1401  
  1402  	if input == nil {
  1403  		input = &GetRepositoryCatalogDataInput{}
  1404  	}
  1405  
  1406  	output = &GetRepositoryCatalogDataOutput{}
  1407  	req = c.newRequest(op, input, output)
  1408  	return
  1409  }
  1410  
  1411  // GetRepositoryCatalogData API operation for Amazon Elastic Container Registry Public.
  1412  //
  1413  // Retrieve catalog metadata for a repository in a public registry. This metadata
  1414  // is displayed publicly in the Amazon ECR Public Gallery.
  1415  //
  1416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1417  // with awserr.Error's Code and Message methods to get detailed information about
  1418  // the error.
  1419  //
  1420  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1421  // API operation GetRepositoryCatalogData for usage and error information.
  1422  //
  1423  // Returned Error Types:
  1424  //   * ServerException
  1425  //   These errors are usually caused by a server-side issue.
  1426  //
  1427  //   * InvalidParameterException
  1428  //   The specified parameter is invalid. Review the available parameters for the
  1429  //   API request.
  1430  //
  1431  //   * RepositoryNotFoundException
  1432  //   The specified repository could not be found. Check the spelling of the specified
  1433  //   repository and ensure that you are performing operations on the correct registry.
  1434  //
  1435  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRepositoryCatalogData
  1436  func (c *ECRPublic) GetRepositoryCatalogData(input *GetRepositoryCatalogDataInput) (*GetRepositoryCatalogDataOutput, error) {
  1437  	req, out := c.GetRepositoryCatalogDataRequest(input)
  1438  	return out, req.Send()
  1439  }
  1440  
  1441  // GetRepositoryCatalogDataWithContext is the same as GetRepositoryCatalogData with the addition of
  1442  // the ability to pass a context and additional request options.
  1443  //
  1444  // See GetRepositoryCatalogData for details on how to use this API operation.
  1445  //
  1446  // The context must be non-nil and will be used for request cancellation. If
  1447  // the context is nil a panic will occur. In the future the SDK may create
  1448  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1449  // for more information on using Contexts.
  1450  func (c *ECRPublic) GetRepositoryCatalogDataWithContext(ctx aws.Context, input *GetRepositoryCatalogDataInput, opts ...request.Option) (*GetRepositoryCatalogDataOutput, error) {
  1451  	req, out := c.GetRepositoryCatalogDataRequest(input)
  1452  	req.SetContext(ctx)
  1453  	req.ApplyOptions(opts...)
  1454  	return out, req.Send()
  1455  }
  1456  
  1457  const opGetRepositoryPolicy = "GetRepositoryPolicy"
  1458  
  1459  // GetRepositoryPolicyRequest generates a "aws/request.Request" representing the
  1460  // client's request for the GetRepositoryPolicy operation. The "output" return
  1461  // value will be populated with the request's response once the request completes
  1462  // successfully.
  1463  //
  1464  // Use "Send" method on the returned Request to send the API call to the service.
  1465  // the "output" return value is not valid until after Send returns without error.
  1466  //
  1467  // See GetRepositoryPolicy for more information on using the GetRepositoryPolicy
  1468  // API call, and error handling.
  1469  //
  1470  // This method is useful when you want to inject custom logic or configuration
  1471  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1472  //
  1473  //
  1474  //    // Example sending a request using the GetRepositoryPolicyRequest method.
  1475  //    req, resp := client.GetRepositoryPolicyRequest(params)
  1476  //
  1477  //    err := req.Send()
  1478  //    if err == nil { // resp is now filled
  1479  //        fmt.Println(resp)
  1480  //    }
  1481  //
  1482  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRepositoryPolicy
  1483  func (c *ECRPublic) GetRepositoryPolicyRequest(input *GetRepositoryPolicyInput) (req *request.Request, output *GetRepositoryPolicyOutput) {
  1484  	op := &request.Operation{
  1485  		Name:       opGetRepositoryPolicy,
  1486  		HTTPMethod: "POST",
  1487  		HTTPPath:   "/",
  1488  	}
  1489  
  1490  	if input == nil {
  1491  		input = &GetRepositoryPolicyInput{}
  1492  	}
  1493  
  1494  	output = &GetRepositoryPolicyOutput{}
  1495  	req = c.newRequest(op, input, output)
  1496  	return
  1497  }
  1498  
  1499  // GetRepositoryPolicy API operation for Amazon Elastic Container Registry Public.
  1500  //
  1501  // Retrieves the repository policy for the specified repository.
  1502  //
  1503  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1504  // with awserr.Error's Code and Message methods to get detailed information about
  1505  // the error.
  1506  //
  1507  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1508  // API operation GetRepositoryPolicy for usage and error information.
  1509  //
  1510  // Returned Error Types:
  1511  //   * ServerException
  1512  //   These errors are usually caused by a server-side issue.
  1513  //
  1514  //   * InvalidParameterException
  1515  //   The specified parameter is invalid. Review the available parameters for the
  1516  //   API request.
  1517  //
  1518  //   * RepositoryNotFoundException
  1519  //   The specified repository could not be found. Check the spelling of the specified
  1520  //   repository and ensure that you are performing operations on the correct registry.
  1521  //
  1522  //   * RepositoryPolicyNotFoundException
  1523  //   The specified repository and registry combination does not have an associated
  1524  //   repository policy.
  1525  //
  1526  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRepositoryPolicy
  1527  func (c *ECRPublic) GetRepositoryPolicy(input *GetRepositoryPolicyInput) (*GetRepositoryPolicyOutput, error) {
  1528  	req, out := c.GetRepositoryPolicyRequest(input)
  1529  	return out, req.Send()
  1530  }
  1531  
  1532  // GetRepositoryPolicyWithContext is the same as GetRepositoryPolicy with the addition of
  1533  // the ability to pass a context and additional request options.
  1534  //
  1535  // See GetRepositoryPolicy for details on how to use this API operation.
  1536  //
  1537  // The context must be non-nil and will be used for request cancellation. If
  1538  // the context is nil a panic will occur. In the future the SDK may create
  1539  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1540  // for more information on using Contexts.
  1541  func (c *ECRPublic) GetRepositoryPolicyWithContext(ctx aws.Context, input *GetRepositoryPolicyInput, opts ...request.Option) (*GetRepositoryPolicyOutput, error) {
  1542  	req, out := c.GetRepositoryPolicyRequest(input)
  1543  	req.SetContext(ctx)
  1544  	req.ApplyOptions(opts...)
  1545  	return out, req.Send()
  1546  }
  1547  
  1548  const opInitiateLayerUpload = "InitiateLayerUpload"
  1549  
  1550  // InitiateLayerUploadRequest generates a "aws/request.Request" representing the
  1551  // client's request for the InitiateLayerUpload operation. The "output" return
  1552  // value will be populated with the request's response once the request completes
  1553  // successfully.
  1554  //
  1555  // Use "Send" method on the returned Request to send the API call to the service.
  1556  // the "output" return value is not valid until after Send returns without error.
  1557  //
  1558  // See InitiateLayerUpload for more information on using the InitiateLayerUpload
  1559  // API call, and error handling.
  1560  //
  1561  // This method is useful when you want to inject custom logic or configuration
  1562  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1563  //
  1564  //
  1565  //    // Example sending a request using the InitiateLayerUploadRequest method.
  1566  //    req, resp := client.InitiateLayerUploadRequest(params)
  1567  //
  1568  //    err := req.Send()
  1569  //    if err == nil { // resp is now filled
  1570  //        fmt.Println(resp)
  1571  //    }
  1572  //
  1573  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/InitiateLayerUpload
  1574  func (c *ECRPublic) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req *request.Request, output *InitiateLayerUploadOutput) {
  1575  	op := &request.Operation{
  1576  		Name:       opInitiateLayerUpload,
  1577  		HTTPMethod: "POST",
  1578  		HTTPPath:   "/",
  1579  	}
  1580  
  1581  	if input == nil {
  1582  		input = &InitiateLayerUploadInput{}
  1583  	}
  1584  
  1585  	output = &InitiateLayerUploadOutput{}
  1586  	req = c.newRequest(op, input, output)
  1587  	return
  1588  }
  1589  
  1590  // InitiateLayerUpload API operation for Amazon Elastic Container Registry Public.
  1591  //
  1592  // Notifies Amazon ECR that you intend to upload an image layer.
  1593  //
  1594  // When an image is pushed, the InitiateLayerUpload API is called once per image
  1595  // layer that has not already been uploaded. Whether or not an image layer has
  1596  // been uploaded is determined by the BatchCheckLayerAvailability API action.
  1597  //
  1598  // This operation is used by the Amazon ECR proxy and is not generally used
  1599  // by customers for pulling and pushing images. In most cases, you should use
  1600  // the docker CLI to pull, tag, and push images.
  1601  //
  1602  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1603  // with awserr.Error's Code and Message methods to get detailed information about
  1604  // the error.
  1605  //
  1606  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1607  // API operation InitiateLayerUpload for usage and error information.
  1608  //
  1609  // Returned Error Types:
  1610  //   * ServerException
  1611  //   These errors are usually caused by a server-side issue.
  1612  //
  1613  //   * InvalidParameterException
  1614  //   The specified parameter is invalid. Review the available parameters for the
  1615  //   API request.
  1616  //
  1617  //   * RepositoryNotFoundException
  1618  //   The specified repository could not be found. Check the spelling of the specified
  1619  //   repository and ensure that you are performing operations on the correct registry.
  1620  //
  1621  //   * RegistryNotFoundException
  1622  //   The registry does not exist.
  1623  //
  1624  //   * UnsupportedCommandException
  1625  //   The action is not supported in this Region.
  1626  //
  1627  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/InitiateLayerUpload
  1628  func (c *ECRPublic) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLayerUploadOutput, error) {
  1629  	req, out := c.InitiateLayerUploadRequest(input)
  1630  	return out, req.Send()
  1631  }
  1632  
  1633  // InitiateLayerUploadWithContext is the same as InitiateLayerUpload with the addition of
  1634  // the ability to pass a context and additional request options.
  1635  //
  1636  // See InitiateLayerUpload for details on how to use this API operation.
  1637  //
  1638  // The context must be non-nil and will be used for request cancellation. If
  1639  // the context is nil a panic will occur. In the future the SDK may create
  1640  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1641  // for more information on using Contexts.
  1642  func (c *ECRPublic) InitiateLayerUploadWithContext(ctx aws.Context, input *InitiateLayerUploadInput, opts ...request.Option) (*InitiateLayerUploadOutput, error) {
  1643  	req, out := c.InitiateLayerUploadRequest(input)
  1644  	req.SetContext(ctx)
  1645  	req.ApplyOptions(opts...)
  1646  	return out, req.Send()
  1647  }
  1648  
  1649  const opListTagsForResource = "ListTagsForResource"
  1650  
  1651  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1652  // client's request for the ListTagsForResource operation. The "output" return
  1653  // value will be populated with the request's response once the request completes
  1654  // successfully.
  1655  //
  1656  // Use "Send" method on the returned Request to send the API call to the service.
  1657  // the "output" return value is not valid until after Send returns without error.
  1658  //
  1659  // See ListTagsForResource for more information on using the ListTagsForResource
  1660  // API call, and error handling.
  1661  //
  1662  // This method is useful when you want to inject custom logic or configuration
  1663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1664  //
  1665  //
  1666  //    // Example sending a request using the ListTagsForResourceRequest method.
  1667  //    req, resp := client.ListTagsForResourceRequest(params)
  1668  //
  1669  //    err := req.Send()
  1670  //    if err == nil { // resp is now filled
  1671  //        fmt.Println(resp)
  1672  //    }
  1673  //
  1674  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/ListTagsForResource
  1675  func (c *ECRPublic) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1676  	op := &request.Operation{
  1677  		Name:       opListTagsForResource,
  1678  		HTTPMethod: "POST",
  1679  		HTTPPath:   "/",
  1680  	}
  1681  
  1682  	if input == nil {
  1683  		input = &ListTagsForResourceInput{}
  1684  	}
  1685  
  1686  	output = &ListTagsForResourceOutput{}
  1687  	req = c.newRequest(op, input, output)
  1688  	return
  1689  }
  1690  
  1691  // ListTagsForResource API operation for Amazon Elastic Container Registry Public.
  1692  //
  1693  // List the tags for an Amazon ECR Public resource.
  1694  //
  1695  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1696  // with awserr.Error's Code and Message methods to get detailed information about
  1697  // the error.
  1698  //
  1699  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1700  // API operation ListTagsForResource for usage and error information.
  1701  //
  1702  // Returned Error Types:
  1703  //   * InvalidParameterException
  1704  //   The specified parameter is invalid. Review the available parameters for the
  1705  //   API request.
  1706  //
  1707  //   * RepositoryNotFoundException
  1708  //   The specified repository could not be found. Check the spelling of the specified
  1709  //   repository and ensure that you are performing operations on the correct registry.
  1710  //
  1711  //   * ServerException
  1712  //   These errors are usually caused by a server-side issue.
  1713  //
  1714  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/ListTagsForResource
  1715  func (c *ECRPublic) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1716  	req, out := c.ListTagsForResourceRequest(input)
  1717  	return out, req.Send()
  1718  }
  1719  
  1720  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1721  // the ability to pass a context and additional request options.
  1722  //
  1723  // See ListTagsForResource for details on how to use this API operation.
  1724  //
  1725  // The context must be non-nil and will be used for request cancellation. If
  1726  // the context is nil a panic will occur. In the future the SDK may create
  1727  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1728  // for more information on using Contexts.
  1729  func (c *ECRPublic) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1730  	req, out := c.ListTagsForResourceRequest(input)
  1731  	req.SetContext(ctx)
  1732  	req.ApplyOptions(opts...)
  1733  	return out, req.Send()
  1734  }
  1735  
  1736  const opPutImage = "PutImage"
  1737  
  1738  // PutImageRequest generates a "aws/request.Request" representing the
  1739  // client's request for the PutImage operation. The "output" return
  1740  // value will be populated with the request's response once the request completes
  1741  // successfully.
  1742  //
  1743  // Use "Send" method on the returned Request to send the API call to the service.
  1744  // the "output" return value is not valid until after Send returns without error.
  1745  //
  1746  // See PutImage for more information on using the PutImage
  1747  // API call, and error handling.
  1748  //
  1749  // This method is useful when you want to inject custom logic or configuration
  1750  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1751  //
  1752  //
  1753  //    // Example sending a request using the PutImageRequest method.
  1754  //    req, resp := client.PutImageRequest(params)
  1755  //
  1756  //    err := req.Send()
  1757  //    if err == nil { // resp is now filled
  1758  //        fmt.Println(resp)
  1759  //    }
  1760  //
  1761  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutImage
  1762  func (c *ECRPublic) PutImageRequest(input *PutImageInput) (req *request.Request, output *PutImageOutput) {
  1763  	op := &request.Operation{
  1764  		Name:       opPutImage,
  1765  		HTTPMethod: "POST",
  1766  		HTTPPath:   "/",
  1767  	}
  1768  
  1769  	if input == nil {
  1770  		input = &PutImageInput{}
  1771  	}
  1772  
  1773  	output = &PutImageOutput{}
  1774  	req = c.newRequest(op, input, output)
  1775  	return
  1776  }
  1777  
  1778  // PutImage API operation for Amazon Elastic Container Registry Public.
  1779  //
  1780  // Creates or updates the image manifest and tags associated with an image.
  1781  //
  1782  // When an image is pushed and all new image layers have been uploaded, the
  1783  // PutImage API is called once to create or update the image manifest and the
  1784  // tags associated with the image.
  1785  //
  1786  // This operation is used by the Amazon ECR proxy and is not generally used
  1787  // by customers for pulling and pushing images. In most cases, you should use
  1788  // the docker CLI to pull, tag, and push images.
  1789  //
  1790  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1791  // with awserr.Error's Code and Message methods to get detailed information about
  1792  // the error.
  1793  //
  1794  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1795  // API operation PutImage for usage and error information.
  1796  //
  1797  // Returned Error Types:
  1798  //   * ServerException
  1799  //   These errors are usually caused by a server-side issue.
  1800  //
  1801  //   * InvalidParameterException
  1802  //   The specified parameter is invalid. Review the available parameters for the
  1803  //   API request.
  1804  //
  1805  //   * RepositoryNotFoundException
  1806  //   The specified repository could not be found. Check the spelling of the specified
  1807  //   repository and ensure that you are performing operations on the correct registry.
  1808  //
  1809  //   * ImageAlreadyExistsException
  1810  //   The specified image has already been pushed, and there were no changes to
  1811  //   the manifest or image tag after the last push.
  1812  //
  1813  //   * LayersNotFoundException
  1814  //   The specified layers could not be found, or the specified layer is not valid
  1815  //   for this repository.
  1816  //
  1817  //   * ReferencedImagesNotFoundException
  1818  //   The manifest list is referencing an image that does not exist.
  1819  //
  1820  //   * LimitExceededException
  1821  //   The operation did not succeed because it would have exceeded a service limit
  1822  //   for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  1823  //   in the Amazon Elastic Container Registry User Guide.
  1824  //
  1825  //   * ImageTagAlreadyExistsException
  1826  //   The specified image is tagged with a tag that already exists. The repository
  1827  //   is configured for tag immutability.
  1828  //
  1829  //   * ImageDigestDoesNotMatchException
  1830  //   The specified image digest does not match the digest that Amazon ECR calculated
  1831  //   for the image.
  1832  //
  1833  //   * RegistryNotFoundException
  1834  //   The registry does not exist.
  1835  //
  1836  //   * UnsupportedCommandException
  1837  //   The action is not supported in this Region.
  1838  //
  1839  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutImage
  1840  func (c *ECRPublic) PutImage(input *PutImageInput) (*PutImageOutput, error) {
  1841  	req, out := c.PutImageRequest(input)
  1842  	return out, req.Send()
  1843  }
  1844  
  1845  // PutImageWithContext is the same as PutImage with the addition of
  1846  // the ability to pass a context and additional request options.
  1847  //
  1848  // See PutImage for details on how to use this API operation.
  1849  //
  1850  // The context must be non-nil and will be used for request cancellation. If
  1851  // the context is nil a panic will occur. In the future the SDK may create
  1852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1853  // for more information on using Contexts.
  1854  func (c *ECRPublic) PutImageWithContext(ctx aws.Context, input *PutImageInput, opts ...request.Option) (*PutImageOutput, error) {
  1855  	req, out := c.PutImageRequest(input)
  1856  	req.SetContext(ctx)
  1857  	req.ApplyOptions(opts...)
  1858  	return out, req.Send()
  1859  }
  1860  
  1861  const opPutRegistryCatalogData = "PutRegistryCatalogData"
  1862  
  1863  // PutRegistryCatalogDataRequest generates a "aws/request.Request" representing the
  1864  // client's request for the PutRegistryCatalogData operation. The "output" return
  1865  // value will be populated with the request's response once the request completes
  1866  // successfully.
  1867  //
  1868  // Use "Send" method on the returned Request to send the API call to the service.
  1869  // the "output" return value is not valid until after Send returns without error.
  1870  //
  1871  // See PutRegistryCatalogData for more information on using the PutRegistryCatalogData
  1872  // API call, and error handling.
  1873  //
  1874  // This method is useful when you want to inject custom logic or configuration
  1875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1876  //
  1877  //
  1878  //    // Example sending a request using the PutRegistryCatalogDataRequest method.
  1879  //    req, resp := client.PutRegistryCatalogDataRequest(params)
  1880  //
  1881  //    err := req.Send()
  1882  //    if err == nil { // resp is now filled
  1883  //        fmt.Println(resp)
  1884  //    }
  1885  //
  1886  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutRegistryCatalogData
  1887  func (c *ECRPublic) PutRegistryCatalogDataRequest(input *PutRegistryCatalogDataInput) (req *request.Request, output *PutRegistryCatalogDataOutput) {
  1888  	op := &request.Operation{
  1889  		Name:       opPutRegistryCatalogData,
  1890  		HTTPMethod: "POST",
  1891  		HTTPPath:   "/",
  1892  	}
  1893  
  1894  	if input == nil {
  1895  		input = &PutRegistryCatalogDataInput{}
  1896  	}
  1897  
  1898  	output = &PutRegistryCatalogDataOutput{}
  1899  	req = c.newRequest(op, input, output)
  1900  	return
  1901  }
  1902  
  1903  // PutRegistryCatalogData API operation for Amazon Elastic Container Registry Public.
  1904  //
  1905  // Create or updates the catalog data for a public registry.
  1906  //
  1907  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1908  // with awserr.Error's Code and Message methods to get detailed information about
  1909  // the error.
  1910  //
  1911  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1912  // API operation PutRegistryCatalogData for usage and error information.
  1913  //
  1914  // Returned Error Types:
  1915  //   * ServerException
  1916  //   These errors are usually caused by a server-side issue.
  1917  //
  1918  //   * InvalidParameterException
  1919  //   The specified parameter is invalid. Review the available parameters for the
  1920  //   API request.
  1921  //
  1922  //   * UnsupportedCommandException
  1923  //   The action is not supported in this Region.
  1924  //
  1925  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutRegistryCatalogData
  1926  func (c *ECRPublic) PutRegistryCatalogData(input *PutRegistryCatalogDataInput) (*PutRegistryCatalogDataOutput, error) {
  1927  	req, out := c.PutRegistryCatalogDataRequest(input)
  1928  	return out, req.Send()
  1929  }
  1930  
  1931  // PutRegistryCatalogDataWithContext is the same as PutRegistryCatalogData with the addition of
  1932  // the ability to pass a context and additional request options.
  1933  //
  1934  // See PutRegistryCatalogData for details on how to use this API operation.
  1935  //
  1936  // The context must be non-nil and will be used for request cancellation. If
  1937  // the context is nil a panic will occur. In the future the SDK may create
  1938  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1939  // for more information on using Contexts.
  1940  func (c *ECRPublic) PutRegistryCatalogDataWithContext(ctx aws.Context, input *PutRegistryCatalogDataInput, opts ...request.Option) (*PutRegistryCatalogDataOutput, error) {
  1941  	req, out := c.PutRegistryCatalogDataRequest(input)
  1942  	req.SetContext(ctx)
  1943  	req.ApplyOptions(opts...)
  1944  	return out, req.Send()
  1945  }
  1946  
  1947  const opPutRepositoryCatalogData = "PutRepositoryCatalogData"
  1948  
  1949  // PutRepositoryCatalogDataRequest generates a "aws/request.Request" representing the
  1950  // client's request for the PutRepositoryCatalogData operation. The "output" return
  1951  // value will be populated with the request's response once the request completes
  1952  // successfully.
  1953  //
  1954  // Use "Send" method on the returned Request to send the API call to the service.
  1955  // the "output" return value is not valid until after Send returns without error.
  1956  //
  1957  // See PutRepositoryCatalogData for more information on using the PutRepositoryCatalogData
  1958  // API call, and error handling.
  1959  //
  1960  // This method is useful when you want to inject custom logic or configuration
  1961  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1962  //
  1963  //
  1964  //    // Example sending a request using the PutRepositoryCatalogDataRequest method.
  1965  //    req, resp := client.PutRepositoryCatalogDataRequest(params)
  1966  //
  1967  //    err := req.Send()
  1968  //    if err == nil { // resp is now filled
  1969  //        fmt.Println(resp)
  1970  //    }
  1971  //
  1972  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutRepositoryCatalogData
  1973  func (c *ECRPublic) PutRepositoryCatalogDataRequest(input *PutRepositoryCatalogDataInput) (req *request.Request, output *PutRepositoryCatalogDataOutput) {
  1974  	op := &request.Operation{
  1975  		Name:       opPutRepositoryCatalogData,
  1976  		HTTPMethod: "POST",
  1977  		HTTPPath:   "/",
  1978  	}
  1979  
  1980  	if input == nil {
  1981  		input = &PutRepositoryCatalogDataInput{}
  1982  	}
  1983  
  1984  	output = &PutRepositoryCatalogDataOutput{}
  1985  	req = c.newRequest(op, input, output)
  1986  	return
  1987  }
  1988  
  1989  // PutRepositoryCatalogData API operation for Amazon Elastic Container Registry Public.
  1990  //
  1991  // Creates or updates the catalog data for a repository in a public registry.
  1992  //
  1993  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1994  // with awserr.Error's Code and Message methods to get detailed information about
  1995  // the error.
  1996  //
  1997  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  1998  // API operation PutRepositoryCatalogData for usage and error information.
  1999  //
  2000  // Returned Error Types:
  2001  //   * ServerException
  2002  //   These errors are usually caused by a server-side issue.
  2003  //
  2004  //   * InvalidParameterException
  2005  //   The specified parameter is invalid. Review the available parameters for the
  2006  //   API request.
  2007  //
  2008  //   * RepositoryNotFoundException
  2009  //   The specified repository could not be found. Check the spelling of the specified
  2010  //   repository and ensure that you are performing operations on the correct registry.
  2011  //
  2012  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutRepositoryCatalogData
  2013  func (c *ECRPublic) PutRepositoryCatalogData(input *PutRepositoryCatalogDataInput) (*PutRepositoryCatalogDataOutput, error) {
  2014  	req, out := c.PutRepositoryCatalogDataRequest(input)
  2015  	return out, req.Send()
  2016  }
  2017  
  2018  // PutRepositoryCatalogDataWithContext is the same as PutRepositoryCatalogData with the addition of
  2019  // the ability to pass a context and additional request options.
  2020  //
  2021  // See PutRepositoryCatalogData for details on how to use this API operation.
  2022  //
  2023  // The context must be non-nil and will be used for request cancellation. If
  2024  // the context is nil a panic will occur. In the future the SDK may create
  2025  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2026  // for more information on using Contexts.
  2027  func (c *ECRPublic) PutRepositoryCatalogDataWithContext(ctx aws.Context, input *PutRepositoryCatalogDataInput, opts ...request.Option) (*PutRepositoryCatalogDataOutput, error) {
  2028  	req, out := c.PutRepositoryCatalogDataRequest(input)
  2029  	req.SetContext(ctx)
  2030  	req.ApplyOptions(opts...)
  2031  	return out, req.Send()
  2032  }
  2033  
  2034  const opSetRepositoryPolicy = "SetRepositoryPolicy"
  2035  
  2036  // SetRepositoryPolicyRequest generates a "aws/request.Request" representing the
  2037  // client's request for the SetRepositoryPolicy operation. The "output" return
  2038  // value will be populated with the request's response once the request completes
  2039  // successfully.
  2040  //
  2041  // Use "Send" method on the returned Request to send the API call to the service.
  2042  // the "output" return value is not valid until after Send returns without error.
  2043  //
  2044  // See SetRepositoryPolicy for more information on using the SetRepositoryPolicy
  2045  // API call, and error handling.
  2046  //
  2047  // This method is useful when you want to inject custom logic or configuration
  2048  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2049  //
  2050  //
  2051  //    // Example sending a request using the SetRepositoryPolicyRequest method.
  2052  //    req, resp := client.SetRepositoryPolicyRequest(params)
  2053  //
  2054  //    err := req.Send()
  2055  //    if err == nil { // resp is now filled
  2056  //        fmt.Println(resp)
  2057  //    }
  2058  //
  2059  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/SetRepositoryPolicy
  2060  func (c *ECRPublic) SetRepositoryPolicyRequest(input *SetRepositoryPolicyInput) (req *request.Request, output *SetRepositoryPolicyOutput) {
  2061  	op := &request.Operation{
  2062  		Name:       opSetRepositoryPolicy,
  2063  		HTTPMethod: "POST",
  2064  		HTTPPath:   "/",
  2065  	}
  2066  
  2067  	if input == nil {
  2068  		input = &SetRepositoryPolicyInput{}
  2069  	}
  2070  
  2071  	output = &SetRepositoryPolicyOutput{}
  2072  	req = c.newRequest(op, input, output)
  2073  	return
  2074  }
  2075  
  2076  // SetRepositoryPolicy API operation for Amazon Elastic Container Registry Public.
  2077  //
  2078  // Applies a repository policy to the specified public repository to control
  2079  // access permissions. For more information, see Amazon ECR Repository Policies
  2080  // (https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html)
  2081  // in the Amazon Elastic Container Registry User Guide.
  2082  //
  2083  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2084  // with awserr.Error's Code and Message methods to get detailed information about
  2085  // the error.
  2086  //
  2087  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  2088  // API operation SetRepositoryPolicy for usage and error information.
  2089  //
  2090  // Returned Error Types:
  2091  //   * ServerException
  2092  //   These errors are usually caused by a server-side issue.
  2093  //
  2094  //   * InvalidParameterException
  2095  //   The specified parameter is invalid. Review the available parameters for the
  2096  //   API request.
  2097  //
  2098  //   * RepositoryNotFoundException
  2099  //   The specified repository could not be found. Check the spelling of the specified
  2100  //   repository and ensure that you are performing operations on the correct registry.
  2101  //
  2102  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/SetRepositoryPolicy
  2103  func (c *ECRPublic) SetRepositoryPolicy(input *SetRepositoryPolicyInput) (*SetRepositoryPolicyOutput, error) {
  2104  	req, out := c.SetRepositoryPolicyRequest(input)
  2105  	return out, req.Send()
  2106  }
  2107  
  2108  // SetRepositoryPolicyWithContext is the same as SetRepositoryPolicy with the addition of
  2109  // the ability to pass a context and additional request options.
  2110  //
  2111  // See SetRepositoryPolicy for details on how to use this API operation.
  2112  //
  2113  // The context must be non-nil and will be used for request cancellation. If
  2114  // the context is nil a panic will occur. In the future the SDK may create
  2115  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2116  // for more information on using Contexts.
  2117  func (c *ECRPublic) SetRepositoryPolicyWithContext(ctx aws.Context, input *SetRepositoryPolicyInput, opts ...request.Option) (*SetRepositoryPolicyOutput, error) {
  2118  	req, out := c.SetRepositoryPolicyRequest(input)
  2119  	req.SetContext(ctx)
  2120  	req.ApplyOptions(opts...)
  2121  	return out, req.Send()
  2122  }
  2123  
  2124  const opTagResource = "TagResource"
  2125  
  2126  // TagResourceRequest generates a "aws/request.Request" representing the
  2127  // client's request for the TagResource operation. The "output" return
  2128  // value will be populated with the request's response once the request completes
  2129  // successfully.
  2130  //
  2131  // Use "Send" method on the returned Request to send the API call to the service.
  2132  // the "output" return value is not valid until after Send returns without error.
  2133  //
  2134  // See TagResource for more information on using the TagResource
  2135  // API call, and error handling.
  2136  //
  2137  // This method is useful when you want to inject custom logic or configuration
  2138  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2139  //
  2140  //
  2141  //    // Example sending a request using the TagResourceRequest method.
  2142  //    req, resp := client.TagResourceRequest(params)
  2143  //
  2144  //    err := req.Send()
  2145  //    if err == nil { // resp is now filled
  2146  //        fmt.Println(resp)
  2147  //    }
  2148  //
  2149  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/TagResource
  2150  func (c *ECRPublic) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2151  	op := &request.Operation{
  2152  		Name:       opTagResource,
  2153  		HTTPMethod: "POST",
  2154  		HTTPPath:   "/",
  2155  	}
  2156  
  2157  	if input == nil {
  2158  		input = &TagResourceInput{}
  2159  	}
  2160  
  2161  	output = &TagResourceOutput{}
  2162  	req = c.newRequest(op, input, output)
  2163  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2164  	return
  2165  }
  2166  
  2167  // TagResource API operation for Amazon Elastic Container Registry Public.
  2168  //
  2169  // Associates the specified tags to a resource with the specified resourceArn.
  2170  // If existing tags on a resource are not specified in the request parameters,
  2171  // they are not changed. When a resource is deleted, the tags associated with
  2172  // that resource are deleted as well.
  2173  //
  2174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2175  // with awserr.Error's Code and Message methods to get detailed information about
  2176  // the error.
  2177  //
  2178  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  2179  // API operation TagResource for usage and error information.
  2180  //
  2181  // Returned Error Types:
  2182  //   * InvalidParameterException
  2183  //   The specified parameter is invalid. Review the available parameters for the
  2184  //   API request.
  2185  //
  2186  //   * InvalidTagParameterException
  2187  //   An invalid parameter has been specified. Tag keys can have a maximum character
  2188  //   length of 128 characters, and tag values can have a maximum length of 256
  2189  //   characters.
  2190  //
  2191  //   * TooManyTagsException
  2192  //   The list of tags on the repository is over the limit. The maximum number
  2193  //   of tags that can be applied to a repository is 50.
  2194  //
  2195  //   * RepositoryNotFoundException
  2196  //   The specified repository could not be found. Check the spelling of the specified
  2197  //   repository and ensure that you are performing operations on the correct registry.
  2198  //
  2199  //   * ServerException
  2200  //   These errors are usually caused by a server-side issue.
  2201  //
  2202  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/TagResource
  2203  func (c *ECRPublic) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2204  	req, out := c.TagResourceRequest(input)
  2205  	return out, req.Send()
  2206  }
  2207  
  2208  // TagResourceWithContext is the same as TagResource with the addition of
  2209  // the ability to pass a context and additional request options.
  2210  //
  2211  // See TagResource for details on how to use this API operation.
  2212  //
  2213  // The context must be non-nil and will be used for request cancellation. If
  2214  // the context is nil a panic will occur. In the future the SDK may create
  2215  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2216  // for more information on using Contexts.
  2217  func (c *ECRPublic) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2218  	req, out := c.TagResourceRequest(input)
  2219  	req.SetContext(ctx)
  2220  	req.ApplyOptions(opts...)
  2221  	return out, req.Send()
  2222  }
  2223  
  2224  const opUntagResource = "UntagResource"
  2225  
  2226  // UntagResourceRequest generates a "aws/request.Request" representing the
  2227  // client's request for the UntagResource operation. The "output" return
  2228  // value will be populated with the request's response once the request completes
  2229  // successfully.
  2230  //
  2231  // Use "Send" method on the returned Request to send the API call to the service.
  2232  // the "output" return value is not valid until after Send returns without error.
  2233  //
  2234  // See UntagResource for more information on using the UntagResource
  2235  // API call, and error handling.
  2236  //
  2237  // This method is useful when you want to inject custom logic or configuration
  2238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2239  //
  2240  //
  2241  //    // Example sending a request using the UntagResourceRequest method.
  2242  //    req, resp := client.UntagResourceRequest(params)
  2243  //
  2244  //    err := req.Send()
  2245  //    if err == nil { // resp is now filled
  2246  //        fmt.Println(resp)
  2247  //    }
  2248  //
  2249  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/UntagResource
  2250  func (c *ECRPublic) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2251  	op := &request.Operation{
  2252  		Name:       opUntagResource,
  2253  		HTTPMethod: "POST",
  2254  		HTTPPath:   "/",
  2255  	}
  2256  
  2257  	if input == nil {
  2258  		input = &UntagResourceInput{}
  2259  	}
  2260  
  2261  	output = &UntagResourceOutput{}
  2262  	req = c.newRequest(op, input, output)
  2263  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2264  	return
  2265  }
  2266  
  2267  // UntagResource API operation for Amazon Elastic Container Registry Public.
  2268  //
  2269  // Deletes specified tags from a resource.
  2270  //
  2271  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2272  // with awserr.Error's Code and Message methods to get detailed information about
  2273  // the error.
  2274  //
  2275  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  2276  // API operation UntagResource for usage and error information.
  2277  //
  2278  // Returned Error Types:
  2279  //   * InvalidParameterException
  2280  //   The specified parameter is invalid. Review the available parameters for the
  2281  //   API request.
  2282  //
  2283  //   * InvalidTagParameterException
  2284  //   An invalid parameter has been specified. Tag keys can have a maximum character
  2285  //   length of 128 characters, and tag values can have a maximum length of 256
  2286  //   characters.
  2287  //
  2288  //   * TooManyTagsException
  2289  //   The list of tags on the repository is over the limit. The maximum number
  2290  //   of tags that can be applied to a repository is 50.
  2291  //
  2292  //   * RepositoryNotFoundException
  2293  //   The specified repository could not be found. Check the spelling of the specified
  2294  //   repository and ensure that you are performing operations on the correct registry.
  2295  //
  2296  //   * ServerException
  2297  //   These errors are usually caused by a server-side issue.
  2298  //
  2299  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/UntagResource
  2300  func (c *ECRPublic) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2301  	req, out := c.UntagResourceRequest(input)
  2302  	return out, req.Send()
  2303  }
  2304  
  2305  // UntagResourceWithContext is the same as UntagResource with the addition of
  2306  // the ability to pass a context and additional request options.
  2307  //
  2308  // See UntagResource for details on how to use this API operation.
  2309  //
  2310  // The context must be non-nil and will be used for request cancellation. If
  2311  // the context is nil a panic will occur. In the future the SDK may create
  2312  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2313  // for more information on using Contexts.
  2314  func (c *ECRPublic) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2315  	req, out := c.UntagResourceRequest(input)
  2316  	req.SetContext(ctx)
  2317  	req.ApplyOptions(opts...)
  2318  	return out, req.Send()
  2319  }
  2320  
  2321  const opUploadLayerPart = "UploadLayerPart"
  2322  
  2323  // UploadLayerPartRequest generates a "aws/request.Request" representing the
  2324  // client's request for the UploadLayerPart operation. The "output" return
  2325  // value will be populated with the request's response once the request completes
  2326  // successfully.
  2327  //
  2328  // Use "Send" method on the returned Request to send the API call to the service.
  2329  // the "output" return value is not valid until after Send returns without error.
  2330  //
  2331  // See UploadLayerPart for more information on using the UploadLayerPart
  2332  // API call, and error handling.
  2333  //
  2334  // This method is useful when you want to inject custom logic or configuration
  2335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2336  //
  2337  //
  2338  //    // Example sending a request using the UploadLayerPartRequest method.
  2339  //    req, resp := client.UploadLayerPartRequest(params)
  2340  //
  2341  //    err := req.Send()
  2342  //    if err == nil { // resp is now filled
  2343  //        fmt.Println(resp)
  2344  //    }
  2345  //
  2346  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/UploadLayerPart
  2347  func (c *ECRPublic) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request.Request, output *UploadLayerPartOutput) {
  2348  	op := &request.Operation{
  2349  		Name:       opUploadLayerPart,
  2350  		HTTPMethod: "POST",
  2351  		HTTPPath:   "/",
  2352  	}
  2353  
  2354  	if input == nil {
  2355  		input = &UploadLayerPartInput{}
  2356  	}
  2357  
  2358  	output = &UploadLayerPartOutput{}
  2359  	req = c.newRequest(op, input, output)
  2360  	return
  2361  }
  2362  
  2363  // UploadLayerPart API operation for Amazon Elastic Container Registry Public.
  2364  //
  2365  // Uploads an image layer part to Amazon ECR.
  2366  //
  2367  // When an image is pushed, each new image layer is uploaded in parts. The maximum
  2368  // size of each image layer part can be 20971520 bytes (or about 20MB). The
  2369  // UploadLayerPart API is called once per each new image layer part.
  2370  //
  2371  // This operation is used by the Amazon ECR proxy and is not generally used
  2372  // by customers for pulling and pushing images. In most cases, you should use
  2373  // the docker CLI to pull, tag, and push images.
  2374  //
  2375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2376  // with awserr.Error's Code and Message methods to get detailed information about
  2377  // the error.
  2378  //
  2379  // See the AWS API reference guide for Amazon Elastic Container Registry Public's
  2380  // API operation UploadLayerPart for usage and error information.
  2381  //
  2382  // Returned Error Types:
  2383  //   * ServerException
  2384  //   These errors are usually caused by a server-side issue.
  2385  //
  2386  //   * InvalidParameterException
  2387  //   The specified parameter is invalid. Review the available parameters for the
  2388  //   API request.
  2389  //
  2390  //   * InvalidLayerPartException
  2391  //   The layer part size is not valid, or the first byte specified is not consecutive
  2392  //   to the last byte of a previous layer part upload.
  2393  //
  2394  //   * RepositoryNotFoundException
  2395  //   The specified repository could not be found. Check the spelling of the specified
  2396  //   repository and ensure that you are performing operations on the correct registry.
  2397  //
  2398  //   * UploadNotFoundException
  2399  //   The upload could not be found, or the specified upload ID is not valid for
  2400  //   this repository.
  2401  //
  2402  //   * LimitExceededException
  2403  //   The operation did not succeed because it would have exceeded a service limit
  2404  //   for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  2405  //   in the Amazon Elastic Container Registry User Guide.
  2406  //
  2407  //   * RegistryNotFoundException
  2408  //   The registry does not exist.
  2409  //
  2410  //   * UnsupportedCommandException
  2411  //   The action is not supported in this Region.
  2412  //
  2413  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/UploadLayerPart
  2414  func (c *ECRPublic) UploadLayerPart(input *UploadLayerPartInput) (*UploadLayerPartOutput, error) {
  2415  	req, out := c.UploadLayerPartRequest(input)
  2416  	return out, req.Send()
  2417  }
  2418  
  2419  // UploadLayerPartWithContext is the same as UploadLayerPart with the addition of
  2420  // the ability to pass a context and additional request options.
  2421  //
  2422  // See UploadLayerPart for details on how to use this API operation.
  2423  //
  2424  // The context must be non-nil and will be used for request cancellation. If
  2425  // the context is nil a panic will occur. In the future the SDK may create
  2426  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2427  // for more information on using Contexts.
  2428  func (c *ECRPublic) UploadLayerPartWithContext(ctx aws.Context, input *UploadLayerPartInput, opts ...request.Option) (*UploadLayerPartOutput, error) {
  2429  	req, out := c.UploadLayerPartRequest(input)
  2430  	req.SetContext(ctx)
  2431  	req.ApplyOptions(opts...)
  2432  	return out, req.Send()
  2433  }
  2434  
  2435  // An authorization token data object that corresponds to a public registry.
  2436  type AuthorizationData struct {
  2437  	_ struct{} `type:"structure"`
  2438  
  2439  	// A base64-encoded string that contains authorization data for a public Amazon
  2440  	// ECR registry. When the string is decoded, it is presented in the format user:password
  2441  	// for public registry authentication using docker login.
  2442  	AuthorizationToken *string `locationName:"authorizationToken" type:"string"`
  2443  
  2444  	// The Unix time in seconds and milliseconds when the authorization token expires.
  2445  	// Authorization tokens are valid for 12 hours.
  2446  	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
  2447  }
  2448  
  2449  // String returns the string representation.
  2450  //
  2451  // API parameter values that are decorated as "sensitive" in the API will not
  2452  // be included in the string output. The member name will be present, but the
  2453  // value will be replaced with "sensitive".
  2454  func (s AuthorizationData) String() string {
  2455  	return awsutil.Prettify(s)
  2456  }
  2457  
  2458  // GoString returns the string representation.
  2459  //
  2460  // API parameter values that are decorated as "sensitive" in the API will not
  2461  // be included in the string output. The member name will be present, but the
  2462  // value will be replaced with "sensitive".
  2463  func (s AuthorizationData) GoString() string {
  2464  	return s.String()
  2465  }
  2466  
  2467  // SetAuthorizationToken sets the AuthorizationToken field's value.
  2468  func (s *AuthorizationData) SetAuthorizationToken(v string) *AuthorizationData {
  2469  	s.AuthorizationToken = &v
  2470  	return s
  2471  }
  2472  
  2473  // SetExpiresAt sets the ExpiresAt field's value.
  2474  func (s *AuthorizationData) SetExpiresAt(v time.Time) *AuthorizationData {
  2475  	s.ExpiresAt = &v
  2476  	return s
  2477  }
  2478  
  2479  type BatchCheckLayerAvailabilityInput struct {
  2480  	_ struct{} `type:"structure"`
  2481  
  2482  	// The digests of the image layers to check.
  2483  	//
  2484  	// LayerDigests is a required field
  2485  	LayerDigests []*string `locationName:"layerDigests" min:"1" type:"list" required:"true"`
  2486  
  2487  	// The AWS account ID associated with the public registry that contains the
  2488  	// image layers to check. If you do not specify a registry, the default public
  2489  	// registry is assumed.
  2490  	RegistryId *string `locationName:"registryId" min:"1" type:"string"`
  2491  
  2492  	// The name of the repository that is associated with the image layers to check.
  2493  	//
  2494  	// RepositoryName is a required field
  2495  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  2496  }
  2497  
  2498  // String returns the string representation.
  2499  //
  2500  // API parameter values that are decorated as "sensitive" in the API will not
  2501  // be included in the string output. The member name will be present, but the
  2502  // value will be replaced with "sensitive".
  2503  func (s BatchCheckLayerAvailabilityInput) String() string {
  2504  	return awsutil.Prettify(s)
  2505  }
  2506  
  2507  // GoString returns the string representation.
  2508  //
  2509  // API parameter values that are decorated as "sensitive" in the API will not
  2510  // be included in the string output. The member name will be present, but the
  2511  // value will be replaced with "sensitive".
  2512  func (s BatchCheckLayerAvailabilityInput) GoString() string {
  2513  	return s.String()
  2514  }
  2515  
  2516  // Validate inspects the fields of the type to determine if they are valid.
  2517  func (s *BatchCheckLayerAvailabilityInput) Validate() error {
  2518  	invalidParams := request.ErrInvalidParams{Context: "BatchCheckLayerAvailabilityInput"}
  2519  	if s.LayerDigests == nil {
  2520  		invalidParams.Add(request.NewErrParamRequired("LayerDigests"))
  2521  	}
  2522  	if s.LayerDigests != nil && len(s.LayerDigests) < 1 {
  2523  		invalidParams.Add(request.NewErrParamMinLen("LayerDigests", 1))
  2524  	}
  2525  	if s.RegistryId != nil && len(*s.RegistryId) < 1 {
  2526  		invalidParams.Add(request.NewErrParamMinLen("RegistryId", 1))
  2527  	}
  2528  	if s.RepositoryName == nil {
  2529  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  2530  	}
  2531  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  2532  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  2533  	}
  2534  
  2535  	if invalidParams.Len() > 0 {
  2536  		return invalidParams
  2537  	}
  2538  	return nil
  2539  }
  2540  
  2541  // SetLayerDigests sets the LayerDigests field's value.
  2542  func (s *BatchCheckLayerAvailabilityInput) SetLayerDigests(v []*string) *BatchCheckLayerAvailabilityInput {
  2543  	s.LayerDigests = v
  2544  	return s
  2545  }
  2546  
  2547  // SetRegistryId sets the RegistryId field's value.
  2548  func (s *BatchCheckLayerAvailabilityInput) SetRegistryId(v string) *BatchCheckLayerAvailabilityInput {
  2549  	s.RegistryId = &v
  2550  	return s
  2551  }
  2552  
  2553  // SetRepositoryName sets the RepositoryName field's value.
  2554  func (s *BatchCheckLayerAvailabilityInput) SetRepositoryName(v string) *BatchCheckLayerAvailabilityInput {
  2555  	s.RepositoryName = &v
  2556  	return s
  2557  }
  2558  
  2559  type BatchCheckLayerAvailabilityOutput struct {
  2560  	_ struct{} `type:"structure"`
  2561  
  2562  	// Any failures associated with the call.
  2563  	Failures []*LayerFailure `locationName:"failures" type:"list"`
  2564  
  2565  	// A list of image layer objects corresponding to the image layer references
  2566  	// in the request.
  2567  	Layers []*Layer `locationName:"layers" type:"list"`
  2568  }
  2569  
  2570  // String returns the string representation.
  2571  //
  2572  // API parameter values that are decorated as "sensitive" in the API will not
  2573  // be included in the string output. The member name will be present, but the
  2574  // value will be replaced with "sensitive".
  2575  func (s BatchCheckLayerAvailabilityOutput) String() string {
  2576  	return awsutil.Prettify(s)
  2577  }
  2578  
  2579  // GoString returns the string representation.
  2580  //
  2581  // API parameter values that are decorated as "sensitive" in the API will not
  2582  // be included in the string output. The member name will be present, but the
  2583  // value will be replaced with "sensitive".
  2584  func (s BatchCheckLayerAvailabilityOutput) GoString() string {
  2585  	return s.String()
  2586  }
  2587  
  2588  // SetFailures sets the Failures field's value.
  2589  func (s *BatchCheckLayerAvailabilityOutput) SetFailures(v []*LayerFailure) *BatchCheckLayerAvailabilityOutput {
  2590  	s.Failures = v
  2591  	return s
  2592  }
  2593  
  2594  // SetLayers sets the Layers field's value.
  2595  func (s *BatchCheckLayerAvailabilityOutput) SetLayers(v []*Layer) *BatchCheckLayerAvailabilityOutput {
  2596  	s.Layers = v
  2597  	return s
  2598  }
  2599  
  2600  type BatchDeleteImageInput struct {
  2601  	_ struct{} `type:"structure"`
  2602  
  2603  	// A list of image ID references that correspond to images to delete. The format
  2604  	// of the imageIds reference is imageTag=tag or imageDigest=digest.
  2605  	//
  2606  	// ImageIds is a required field
  2607  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list" required:"true"`
  2608  
  2609  	// The AWS account ID associated with the registry that contains the image to
  2610  	// delete. If you do not specify a registry, the default public registry is
  2611  	// assumed.
  2612  	RegistryId *string `locationName:"registryId" type:"string"`
  2613  
  2614  	// The repository in a public registry that contains the image to delete.
  2615  	//
  2616  	// RepositoryName is a required field
  2617  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  2618  }
  2619  
  2620  // String returns the string representation.
  2621  //
  2622  // API parameter values that are decorated as "sensitive" in the API will not
  2623  // be included in the string output. The member name will be present, but the
  2624  // value will be replaced with "sensitive".
  2625  func (s BatchDeleteImageInput) String() string {
  2626  	return awsutil.Prettify(s)
  2627  }
  2628  
  2629  // GoString returns the string representation.
  2630  //
  2631  // API parameter values that are decorated as "sensitive" in the API will not
  2632  // be included in the string output. The member name will be present, but the
  2633  // value will be replaced with "sensitive".
  2634  func (s BatchDeleteImageInput) GoString() string {
  2635  	return s.String()
  2636  }
  2637  
  2638  // Validate inspects the fields of the type to determine if they are valid.
  2639  func (s *BatchDeleteImageInput) Validate() error {
  2640  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteImageInput"}
  2641  	if s.ImageIds == nil {
  2642  		invalidParams.Add(request.NewErrParamRequired("ImageIds"))
  2643  	}
  2644  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  2645  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  2646  	}
  2647  	if s.RepositoryName == nil {
  2648  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  2649  	}
  2650  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  2651  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  2652  	}
  2653  	if s.ImageIds != nil {
  2654  		for i, v := range s.ImageIds {
  2655  			if v == nil {
  2656  				continue
  2657  			}
  2658  			if err := v.Validate(); err != nil {
  2659  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageIds", i), err.(request.ErrInvalidParams))
  2660  			}
  2661  		}
  2662  	}
  2663  
  2664  	if invalidParams.Len() > 0 {
  2665  		return invalidParams
  2666  	}
  2667  	return nil
  2668  }
  2669  
  2670  // SetImageIds sets the ImageIds field's value.
  2671  func (s *BatchDeleteImageInput) SetImageIds(v []*ImageIdentifier) *BatchDeleteImageInput {
  2672  	s.ImageIds = v
  2673  	return s
  2674  }
  2675  
  2676  // SetRegistryId sets the RegistryId field's value.
  2677  func (s *BatchDeleteImageInput) SetRegistryId(v string) *BatchDeleteImageInput {
  2678  	s.RegistryId = &v
  2679  	return s
  2680  }
  2681  
  2682  // SetRepositoryName sets the RepositoryName field's value.
  2683  func (s *BatchDeleteImageInput) SetRepositoryName(v string) *BatchDeleteImageInput {
  2684  	s.RepositoryName = &v
  2685  	return s
  2686  }
  2687  
  2688  type BatchDeleteImageOutput struct {
  2689  	_ struct{} `type:"structure"`
  2690  
  2691  	// Any failures associated with the call.
  2692  	Failures []*ImageFailure `locationName:"failures" type:"list"`
  2693  
  2694  	// The image IDs of the deleted images.
  2695  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"`
  2696  }
  2697  
  2698  // String returns the string representation.
  2699  //
  2700  // API parameter values that are decorated as "sensitive" in the API will not
  2701  // be included in the string output. The member name will be present, but the
  2702  // value will be replaced with "sensitive".
  2703  func (s BatchDeleteImageOutput) String() string {
  2704  	return awsutil.Prettify(s)
  2705  }
  2706  
  2707  // GoString returns the string representation.
  2708  //
  2709  // API parameter values that are decorated as "sensitive" in the API will not
  2710  // be included in the string output. The member name will be present, but the
  2711  // value will be replaced with "sensitive".
  2712  func (s BatchDeleteImageOutput) GoString() string {
  2713  	return s.String()
  2714  }
  2715  
  2716  // SetFailures sets the Failures field's value.
  2717  func (s *BatchDeleteImageOutput) SetFailures(v []*ImageFailure) *BatchDeleteImageOutput {
  2718  	s.Failures = v
  2719  	return s
  2720  }
  2721  
  2722  // SetImageIds sets the ImageIds field's value.
  2723  func (s *BatchDeleteImageOutput) SetImageIds(v []*ImageIdentifier) *BatchDeleteImageOutput {
  2724  	s.ImageIds = v
  2725  	return s
  2726  }
  2727  
  2728  type CompleteLayerUploadInput struct {
  2729  	_ struct{} `type:"structure"`
  2730  
  2731  	// The sha256 digest of the image layer.
  2732  	//
  2733  	// LayerDigests is a required field
  2734  	LayerDigests []*string `locationName:"layerDigests" min:"1" type:"list" required:"true"`
  2735  
  2736  	// The AWS account ID associated with the registry to which to upload layers.
  2737  	// If you do not specify a registry, the default public registry is assumed.
  2738  	RegistryId *string `locationName:"registryId" min:"1" type:"string"`
  2739  
  2740  	// The name of the repository in a public registry to associate with the image
  2741  	// layer.
  2742  	//
  2743  	// RepositoryName is a required field
  2744  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  2745  
  2746  	// The upload ID from a previous InitiateLayerUpload operation to associate
  2747  	// with the image layer.
  2748  	//
  2749  	// UploadId is a required field
  2750  	UploadId *string `locationName:"uploadId" type:"string" required:"true"`
  2751  }
  2752  
  2753  // String returns the string representation.
  2754  //
  2755  // API parameter values that are decorated as "sensitive" in the API will not
  2756  // be included in the string output. The member name will be present, but the
  2757  // value will be replaced with "sensitive".
  2758  func (s CompleteLayerUploadInput) String() string {
  2759  	return awsutil.Prettify(s)
  2760  }
  2761  
  2762  // GoString returns the string representation.
  2763  //
  2764  // API parameter values that are decorated as "sensitive" in the API will not
  2765  // be included in the string output. The member name will be present, but the
  2766  // value will be replaced with "sensitive".
  2767  func (s CompleteLayerUploadInput) GoString() string {
  2768  	return s.String()
  2769  }
  2770  
  2771  // Validate inspects the fields of the type to determine if they are valid.
  2772  func (s *CompleteLayerUploadInput) Validate() error {
  2773  	invalidParams := request.ErrInvalidParams{Context: "CompleteLayerUploadInput"}
  2774  	if s.LayerDigests == nil {
  2775  		invalidParams.Add(request.NewErrParamRequired("LayerDigests"))
  2776  	}
  2777  	if s.LayerDigests != nil && len(s.LayerDigests) < 1 {
  2778  		invalidParams.Add(request.NewErrParamMinLen("LayerDigests", 1))
  2779  	}
  2780  	if s.RegistryId != nil && len(*s.RegistryId) < 1 {
  2781  		invalidParams.Add(request.NewErrParamMinLen("RegistryId", 1))
  2782  	}
  2783  	if s.RepositoryName == nil {
  2784  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  2785  	}
  2786  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  2787  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  2788  	}
  2789  	if s.UploadId == nil {
  2790  		invalidParams.Add(request.NewErrParamRequired("UploadId"))
  2791  	}
  2792  
  2793  	if invalidParams.Len() > 0 {
  2794  		return invalidParams
  2795  	}
  2796  	return nil
  2797  }
  2798  
  2799  // SetLayerDigests sets the LayerDigests field's value.
  2800  func (s *CompleteLayerUploadInput) SetLayerDigests(v []*string) *CompleteLayerUploadInput {
  2801  	s.LayerDigests = v
  2802  	return s
  2803  }
  2804  
  2805  // SetRegistryId sets the RegistryId field's value.
  2806  func (s *CompleteLayerUploadInput) SetRegistryId(v string) *CompleteLayerUploadInput {
  2807  	s.RegistryId = &v
  2808  	return s
  2809  }
  2810  
  2811  // SetRepositoryName sets the RepositoryName field's value.
  2812  func (s *CompleteLayerUploadInput) SetRepositoryName(v string) *CompleteLayerUploadInput {
  2813  	s.RepositoryName = &v
  2814  	return s
  2815  }
  2816  
  2817  // SetUploadId sets the UploadId field's value.
  2818  func (s *CompleteLayerUploadInput) SetUploadId(v string) *CompleteLayerUploadInput {
  2819  	s.UploadId = &v
  2820  	return s
  2821  }
  2822  
  2823  type CompleteLayerUploadOutput struct {
  2824  	_ struct{} `type:"structure"`
  2825  
  2826  	// The sha256 digest of the image layer.
  2827  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  2828  
  2829  	// The public registry ID associated with the request.
  2830  	RegistryId *string `locationName:"registryId" type:"string"`
  2831  
  2832  	// The repository name associated with the request.
  2833  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  2834  
  2835  	// The upload ID associated with the layer.
  2836  	UploadId *string `locationName:"uploadId" type:"string"`
  2837  }
  2838  
  2839  // String returns the string representation.
  2840  //
  2841  // API parameter values that are decorated as "sensitive" in the API will not
  2842  // be included in the string output. The member name will be present, but the
  2843  // value will be replaced with "sensitive".
  2844  func (s CompleteLayerUploadOutput) String() string {
  2845  	return awsutil.Prettify(s)
  2846  }
  2847  
  2848  // GoString returns the string representation.
  2849  //
  2850  // API parameter values that are decorated as "sensitive" in the API will not
  2851  // be included in the string output. The member name will be present, but the
  2852  // value will be replaced with "sensitive".
  2853  func (s CompleteLayerUploadOutput) GoString() string {
  2854  	return s.String()
  2855  }
  2856  
  2857  // SetLayerDigest sets the LayerDigest field's value.
  2858  func (s *CompleteLayerUploadOutput) SetLayerDigest(v string) *CompleteLayerUploadOutput {
  2859  	s.LayerDigest = &v
  2860  	return s
  2861  }
  2862  
  2863  // SetRegistryId sets the RegistryId field's value.
  2864  func (s *CompleteLayerUploadOutput) SetRegistryId(v string) *CompleteLayerUploadOutput {
  2865  	s.RegistryId = &v
  2866  	return s
  2867  }
  2868  
  2869  // SetRepositoryName sets the RepositoryName field's value.
  2870  func (s *CompleteLayerUploadOutput) SetRepositoryName(v string) *CompleteLayerUploadOutput {
  2871  	s.RepositoryName = &v
  2872  	return s
  2873  }
  2874  
  2875  // SetUploadId sets the UploadId field's value.
  2876  func (s *CompleteLayerUploadOutput) SetUploadId(v string) *CompleteLayerUploadOutput {
  2877  	s.UploadId = &v
  2878  	return s
  2879  }
  2880  
  2881  type CreateRepositoryInput struct {
  2882  	_ struct{} `type:"structure"`
  2883  
  2884  	// The details about the repository that are publicly visible in the Amazon
  2885  	// ECR Public Gallery.
  2886  	CatalogData *RepositoryCatalogDataInput `locationName:"catalogData" type:"structure"`
  2887  
  2888  	// The name to use for the repository. This appears publicly in the Amazon ECR
  2889  	// Public Gallery. The repository name may be specified on its own (such as
  2890  	// nginx-web-app) or it can be prepended with a namespace to group the repository
  2891  	// into a category (such as project-a/nginx-web-app).
  2892  	//
  2893  	// RepositoryName is a required field
  2894  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  2895  
  2896  	// The metadata that you apply to the repository to help you categorize and
  2897  	// organize them. Each tag consists of a key and an optional value, both of
  2898  	// which you define. Tag keys can have a maximum character length of 128 characters,
  2899  	// and tag values can have a maximum length of 256 characters.
  2900  	Tags []*Tag `locationName:"tags" type:"list"`
  2901  }
  2902  
  2903  // String returns the string representation.
  2904  //
  2905  // API parameter values that are decorated as "sensitive" in the API will not
  2906  // be included in the string output. The member name will be present, but the
  2907  // value will be replaced with "sensitive".
  2908  func (s CreateRepositoryInput) String() string {
  2909  	return awsutil.Prettify(s)
  2910  }
  2911  
  2912  // GoString returns the string representation.
  2913  //
  2914  // API parameter values that are decorated as "sensitive" in the API will not
  2915  // be included in the string output. The member name will be present, but the
  2916  // value will be replaced with "sensitive".
  2917  func (s CreateRepositoryInput) GoString() string {
  2918  	return s.String()
  2919  }
  2920  
  2921  // Validate inspects the fields of the type to determine if they are valid.
  2922  func (s *CreateRepositoryInput) Validate() error {
  2923  	invalidParams := request.ErrInvalidParams{Context: "CreateRepositoryInput"}
  2924  	if s.RepositoryName == nil {
  2925  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  2926  	}
  2927  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  2928  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  2929  	}
  2930  	if s.Tags != nil {
  2931  		for i, v := range s.Tags {
  2932  			if v == nil {
  2933  				continue
  2934  			}
  2935  			if err := v.Validate(); err != nil {
  2936  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2937  			}
  2938  		}
  2939  	}
  2940  
  2941  	if invalidParams.Len() > 0 {
  2942  		return invalidParams
  2943  	}
  2944  	return nil
  2945  }
  2946  
  2947  // SetCatalogData sets the CatalogData field's value.
  2948  func (s *CreateRepositoryInput) SetCatalogData(v *RepositoryCatalogDataInput) *CreateRepositoryInput {
  2949  	s.CatalogData = v
  2950  	return s
  2951  }
  2952  
  2953  // SetRepositoryName sets the RepositoryName field's value.
  2954  func (s *CreateRepositoryInput) SetRepositoryName(v string) *CreateRepositoryInput {
  2955  	s.RepositoryName = &v
  2956  	return s
  2957  }
  2958  
  2959  // SetTags sets the Tags field's value.
  2960  func (s *CreateRepositoryInput) SetTags(v []*Tag) *CreateRepositoryInput {
  2961  	s.Tags = v
  2962  	return s
  2963  }
  2964  
  2965  type CreateRepositoryOutput struct {
  2966  	_ struct{} `type:"structure"`
  2967  
  2968  	// The catalog data for a repository. This data is publicly visible in the Amazon
  2969  	// ECR Public Gallery.
  2970  	CatalogData *RepositoryCatalogData `locationName:"catalogData" type:"structure"`
  2971  
  2972  	// The repository that was created.
  2973  	Repository *Repository `locationName:"repository" type:"structure"`
  2974  }
  2975  
  2976  // String returns the string representation.
  2977  //
  2978  // API parameter values that are decorated as "sensitive" in the API will not
  2979  // be included in the string output. The member name will be present, but the
  2980  // value will be replaced with "sensitive".
  2981  func (s CreateRepositoryOutput) String() string {
  2982  	return awsutil.Prettify(s)
  2983  }
  2984  
  2985  // GoString returns the string representation.
  2986  //
  2987  // API parameter values that are decorated as "sensitive" in the API will not
  2988  // be included in the string output. The member name will be present, but the
  2989  // value will be replaced with "sensitive".
  2990  func (s CreateRepositoryOutput) GoString() string {
  2991  	return s.String()
  2992  }
  2993  
  2994  // SetCatalogData sets the CatalogData field's value.
  2995  func (s *CreateRepositoryOutput) SetCatalogData(v *RepositoryCatalogData) *CreateRepositoryOutput {
  2996  	s.CatalogData = v
  2997  	return s
  2998  }
  2999  
  3000  // SetRepository sets the Repository field's value.
  3001  func (s *CreateRepositoryOutput) SetRepository(v *Repository) *CreateRepositoryOutput {
  3002  	s.Repository = v
  3003  	return s
  3004  }
  3005  
  3006  type DeleteRepositoryInput struct {
  3007  	_ struct{} `type:"structure"`
  3008  
  3009  	// If a repository contains images, forces the deletion.
  3010  	Force *bool `locationName:"force" type:"boolean"`
  3011  
  3012  	// The AWS account ID associated with the public registry that contains the
  3013  	// repository to delete. If you do not specify a registry, the default public
  3014  	// registry is assumed.
  3015  	RegistryId *string `locationName:"registryId" type:"string"`
  3016  
  3017  	// The name of the repository to delete.
  3018  	//
  3019  	// RepositoryName is a required field
  3020  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3021  }
  3022  
  3023  // String returns the string representation.
  3024  //
  3025  // API parameter values that are decorated as "sensitive" in the API will not
  3026  // be included in the string output. The member name will be present, but the
  3027  // value will be replaced with "sensitive".
  3028  func (s DeleteRepositoryInput) String() string {
  3029  	return awsutil.Prettify(s)
  3030  }
  3031  
  3032  // GoString returns the string representation.
  3033  //
  3034  // API parameter values that are decorated as "sensitive" in the API will not
  3035  // be included in the string output. The member name will be present, but the
  3036  // value will be replaced with "sensitive".
  3037  func (s DeleteRepositoryInput) GoString() string {
  3038  	return s.String()
  3039  }
  3040  
  3041  // Validate inspects the fields of the type to determine if they are valid.
  3042  func (s *DeleteRepositoryInput) Validate() error {
  3043  	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryInput"}
  3044  	if s.RepositoryName == nil {
  3045  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3046  	}
  3047  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3048  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3049  	}
  3050  
  3051  	if invalidParams.Len() > 0 {
  3052  		return invalidParams
  3053  	}
  3054  	return nil
  3055  }
  3056  
  3057  // SetForce sets the Force field's value.
  3058  func (s *DeleteRepositoryInput) SetForce(v bool) *DeleteRepositoryInput {
  3059  	s.Force = &v
  3060  	return s
  3061  }
  3062  
  3063  // SetRegistryId sets the RegistryId field's value.
  3064  func (s *DeleteRepositoryInput) SetRegistryId(v string) *DeleteRepositoryInput {
  3065  	s.RegistryId = &v
  3066  	return s
  3067  }
  3068  
  3069  // SetRepositoryName sets the RepositoryName field's value.
  3070  func (s *DeleteRepositoryInput) SetRepositoryName(v string) *DeleteRepositoryInput {
  3071  	s.RepositoryName = &v
  3072  	return s
  3073  }
  3074  
  3075  type DeleteRepositoryOutput struct {
  3076  	_ struct{} `type:"structure"`
  3077  
  3078  	// The repository that was deleted.
  3079  	Repository *Repository `locationName:"repository" type:"structure"`
  3080  }
  3081  
  3082  // String returns the string representation.
  3083  //
  3084  // API parameter values that are decorated as "sensitive" in the API will not
  3085  // be included in the string output. The member name will be present, but the
  3086  // value will be replaced with "sensitive".
  3087  func (s DeleteRepositoryOutput) String() string {
  3088  	return awsutil.Prettify(s)
  3089  }
  3090  
  3091  // GoString returns the string representation.
  3092  //
  3093  // API parameter values that are decorated as "sensitive" in the API will not
  3094  // be included in the string output. The member name will be present, but the
  3095  // value will be replaced with "sensitive".
  3096  func (s DeleteRepositoryOutput) GoString() string {
  3097  	return s.String()
  3098  }
  3099  
  3100  // SetRepository sets the Repository field's value.
  3101  func (s *DeleteRepositoryOutput) SetRepository(v *Repository) *DeleteRepositoryOutput {
  3102  	s.Repository = v
  3103  	return s
  3104  }
  3105  
  3106  type DeleteRepositoryPolicyInput struct {
  3107  	_ struct{} `type:"structure"`
  3108  
  3109  	// The AWS account ID associated with the public registry that contains the
  3110  	// repository policy to delete. If you do not specify a registry, the default
  3111  	// public registry is assumed.
  3112  	RegistryId *string `locationName:"registryId" type:"string"`
  3113  
  3114  	// The name of the repository that is associated with the repository policy
  3115  	// to delete.
  3116  	//
  3117  	// RepositoryName is a required field
  3118  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3119  }
  3120  
  3121  // String returns the string representation.
  3122  //
  3123  // API parameter values that are decorated as "sensitive" in the API will not
  3124  // be included in the string output. The member name will be present, but the
  3125  // value will be replaced with "sensitive".
  3126  func (s DeleteRepositoryPolicyInput) String() string {
  3127  	return awsutil.Prettify(s)
  3128  }
  3129  
  3130  // GoString returns the string representation.
  3131  //
  3132  // API parameter values that are decorated as "sensitive" in the API will not
  3133  // be included in the string output. The member name will be present, but the
  3134  // value will be replaced with "sensitive".
  3135  func (s DeleteRepositoryPolicyInput) GoString() string {
  3136  	return s.String()
  3137  }
  3138  
  3139  // Validate inspects the fields of the type to determine if they are valid.
  3140  func (s *DeleteRepositoryPolicyInput) Validate() error {
  3141  	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryPolicyInput"}
  3142  	if s.RepositoryName == nil {
  3143  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3144  	}
  3145  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3146  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3147  	}
  3148  
  3149  	if invalidParams.Len() > 0 {
  3150  		return invalidParams
  3151  	}
  3152  	return nil
  3153  }
  3154  
  3155  // SetRegistryId sets the RegistryId field's value.
  3156  func (s *DeleteRepositoryPolicyInput) SetRegistryId(v string) *DeleteRepositoryPolicyInput {
  3157  	s.RegistryId = &v
  3158  	return s
  3159  }
  3160  
  3161  // SetRepositoryName sets the RepositoryName field's value.
  3162  func (s *DeleteRepositoryPolicyInput) SetRepositoryName(v string) *DeleteRepositoryPolicyInput {
  3163  	s.RepositoryName = &v
  3164  	return s
  3165  }
  3166  
  3167  type DeleteRepositoryPolicyOutput struct {
  3168  	_ struct{} `type:"structure"`
  3169  
  3170  	// The JSON repository policy that was deleted from the repository.
  3171  	PolicyText *string `locationName:"policyText" type:"string"`
  3172  
  3173  	// The registry ID associated with the request.
  3174  	RegistryId *string `locationName:"registryId" type:"string"`
  3175  
  3176  	// The repository name associated with the request.
  3177  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  3178  }
  3179  
  3180  // String returns the string representation.
  3181  //
  3182  // API parameter values that are decorated as "sensitive" in the API will not
  3183  // be included in the string output. The member name will be present, but the
  3184  // value will be replaced with "sensitive".
  3185  func (s DeleteRepositoryPolicyOutput) String() string {
  3186  	return awsutil.Prettify(s)
  3187  }
  3188  
  3189  // GoString returns the string representation.
  3190  //
  3191  // API parameter values that are decorated as "sensitive" in the API will not
  3192  // be included in the string output. The member name will be present, but the
  3193  // value will be replaced with "sensitive".
  3194  func (s DeleteRepositoryPolicyOutput) GoString() string {
  3195  	return s.String()
  3196  }
  3197  
  3198  // SetPolicyText sets the PolicyText field's value.
  3199  func (s *DeleteRepositoryPolicyOutput) SetPolicyText(v string) *DeleteRepositoryPolicyOutput {
  3200  	s.PolicyText = &v
  3201  	return s
  3202  }
  3203  
  3204  // SetRegistryId sets the RegistryId field's value.
  3205  func (s *DeleteRepositoryPolicyOutput) SetRegistryId(v string) *DeleteRepositoryPolicyOutput {
  3206  	s.RegistryId = &v
  3207  	return s
  3208  }
  3209  
  3210  // SetRepositoryName sets the RepositoryName field's value.
  3211  func (s *DeleteRepositoryPolicyOutput) SetRepositoryName(v string) *DeleteRepositoryPolicyOutput {
  3212  	s.RepositoryName = &v
  3213  	return s
  3214  }
  3215  
  3216  type DescribeImageTagsInput struct {
  3217  	_ struct{} `type:"structure"`
  3218  
  3219  	// The maximum number of repository results returned by DescribeImageTags in
  3220  	// paginated output. When this parameter is used, DescribeImageTags only returns
  3221  	// maxResults results in a single page along with a nextToken response element.
  3222  	// The remaining results of the initial request can be seen by sending another
  3223  	// DescribeImageTags request with the returned nextToken value. This value can
  3224  	// be between 1 and 1000. If this parameter is not used, then DescribeImageTags
  3225  	// returns up to 100 results and a nextToken value, if applicable. This option
  3226  	// cannot be used when you specify images with imageIds.
  3227  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  3228  
  3229  	// The nextToken value returned from a previous paginated DescribeImageTags
  3230  	// request where maxResults was used and the results exceeded the value of that
  3231  	// parameter. Pagination continues from the end of the previous results that
  3232  	// returned the nextToken value. This value is null when there are no more results
  3233  	// to return. This option cannot be used when you specify images with imageIds.
  3234  	NextToken *string `locationName:"nextToken" type:"string"`
  3235  
  3236  	// The AWS account ID associated with the public registry that contains the
  3237  	// repository in which to describe images. If you do not specify a registry,
  3238  	// the default public registry is assumed.
  3239  	RegistryId *string `locationName:"registryId" type:"string"`
  3240  
  3241  	// The name of the repository that contains the image tag details to describe.
  3242  	//
  3243  	// RepositoryName is a required field
  3244  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3245  }
  3246  
  3247  // String returns the string representation.
  3248  //
  3249  // API parameter values that are decorated as "sensitive" in the API will not
  3250  // be included in the string output. The member name will be present, but the
  3251  // value will be replaced with "sensitive".
  3252  func (s DescribeImageTagsInput) String() string {
  3253  	return awsutil.Prettify(s)
  3254  }
  3255  
  3256  // GoString returns the string representation.
  3257  //
  3258  // API parameter values that are decorated as "sensitive" in the API will not
  3259  // be included in the string output. The member name will be present, but the
  3260  // value will be replaced with "sensitive".
  3261  func (s DescribeImageTagsInput) GoString() string {
  3262  	return s.String()
  3263  }
  3264  
  3265  // Validate inspects the fields of the type to determine if they are valid.
  3266  func (s *DescribeImageTagsInput) Validate() error {
  3267  	invalidParams := request.ErrInvalidParams{Context: "DescribeImageTagsInput"}
  3268  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3269  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3270  	}
  3271  	if s.RepositoryName == nil {
  3272  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3273  	}
  3274  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3275  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3276  	}
  3277  
  3278  	if invalidParams.Len() > 0 {
  3279  		return invalidParams
  3280  	}
  3281  	return nil
  3282  }
  3283  
  3284  // SetMaxResults sets the MaxResults field's value.
  3285  func (s *DescribeImageTagsInput) SetMaxResults(v int64) *DescribeImageTagsInput {
  3286  	s.MaxResults = &v
  3287  	return s
  3288  }
  3289  
  3290  // SetNextToken sets the NextToken field's value.
  3291  func (s *DescribeImageTagsInput) SetNextToken(v string) *DescribeImageTagsInput {
  3292  	s.NextToken = &v
  3293  	return s
  3294  }
  3295  
  3296  // SetRegistryId sets the RegistryId field's value.
  3297  func (s *DescribeImageTagsInput) SetRegistryId(v string) *DescribeImageTagsInput {
  3298  	s.RegistryId = &v
  3299  	return s
  3300  }
  3301  
  3302  // SetRepositoryName sets the RepositoryName field's value.
  3303  func (s *DescribeImageTagsInput) SetRepositoryName(v string) *DescribeImageTagsInput {
  3304  	s.RepositoryName = &v
  3305  	return s
  3306  }
  3307  
  3308  type DescribeImageTagsOutput struct {
  3309  	_ struct{} `type:"structure"`
  3310  
  3311  	// The image tag details for the images in the requested repository.
  3312  	ImageTagDetails []*ImageTagDetail `locationName:"imageTagDetails" type:"list"`
  3313  
  3314  	// The nextToken value to include in a future DescribeImageTags request. When
  3315  	// the results of a DescribeImageTags request exceed maxResults, this value
  3316  	// can be used to retrieve the next page of results. This value is null when
  3317  	// there are no more results to return.
  3318  	NextToken *string `locationName:"nextToken" type:"string"`
  3319  }
  3320  
  3321  // String returns the string representation.
  3322  //
  3323  // API parameter values that are decorated as "sensitive" in the API will not
  3324  // be included in the string output. The member name will be present, but the
  3325  // value will be replaced with "sensitive".
  3326  func (s DescribeImageTagsOutput) String() string {
  3327  	return awsutil.Prettify(s)
  3328  }
  3329  
  3330  // GoString returns the string representation.
  3331  //
  3332  // API parameter values that are decorated as "sensitive" in the API will not
  3333  // be included in the string output. The member name will be present, but the
  3334  // value will be replaced with "sensitive".
  3335  func (s DescribeImageTagsOutput) GoString() string {
  3336  	return s.String()
  3337  }
  3338  
  3339  // SetImageTagDetails sets the ImageTagDetails field's value.
  3340  func (s *DescribeImageTagsOutput) SetImageTagDetails(v []*ImageTagDetail) *DescribeImageTagsOutput {
  3341  	s.ImageTagDetails = v
  3342  	return s
  3343  }
  3344  
  3345  // SetNextToken sets the NextToken field's value.
  3346  func (s *DescribeImageTagsOutput) SetNextToken(v string) *DescribeImageTagsOutput {
  3347  	s.NextToken = &v
  3348  	return s
  3349  }
  3350  
  3351  type DescribeImagesInput struct {
  3352  	_ struct{} `type:"structure"`
  3353  
  3354  	// The list of image IDs for the requested repository.
  3355  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"`
  3356  
  3357  	// The maximum number of repository results returned by DescribeImages in paginated
  3358  	// output. When this parameter is used, DescribeImages only returns maxResults
  3359  	// results in a single page along with a nextToken response element. The remaining
  3360  	// results of the initial request can be seen by sending another DescribeImages
  3361  	// request with the returned nextToken value. This value can be between 1 and
  3362  	// 1000. If this parameter is not used, then DescribeImages returns up to 100
  3363  	// results and a nextToken value, if applicable. This option cannot be used
  3364  	// when you specify images with imageIds.
  3365  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  3366  
  3367  	// The nextToken value returned from a previous paginated DescribeImages request
  3368  	// where maxResults was used and the results exceeded the value of that parameter.
  3369  	// Pagination continues from the end of the previous results that returned the
  3370  	// nextToken value. This value is null when there are no more results to return.
  3371  	// This option cannot be used when you specify images with imageIds.
  3372  	NextToken *string `locationName:"nextToken" type:"string"`
  3373  
  3374  	// The AWS account ID associated with the public registry that contains the
  3375  	// repository in which to describe images. If you do not specify a registry,
  3376  	// the default public registry is assumed.
  3377  	RegistryId *string `locationName:"registryId" type:"string"`
  3378  
  3379  	// The repository that contains the images to describe.
  3380  	//
  3381  	// RepositoryName is a required field
  3382  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3383  }
  3384  
  3385  // String returns the string representation.
  3386  //
  3387  // API parameter values that are decorated as "sensitive" in the API will not
  3388  // be included in the string output. The member name will be present, but the
  3389  // value will be replaced with "sensitive".
  3390  func (s DescribeImagesInput) String() string {
  3391  	return awsutil.Prettify(s)
  3392  }
  3393  
  3394  // GoString returns the string representation.
  3395  //
  3396  // API parameter values that are decorated as "sensitive" in the API will not
  3397  // be included in the string output. The member name will be present, but the
  3398  // value will be replaced with "sensitive".
  3399  func (s DescribeImagesInput) GoString() string {
  3400  	return s.String()
  3401  }
  3402  
  3403  // Validate inspects the fields of the type to determine if they are valid.
  3404  func (s *DescribeImagesInput) Validate() error {
  3405  	invalidParams := request.ErrInvalidParams{Context: "DescribeImagesInput"}
  3406  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  3407  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  3408  	}
  3409  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3410  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3411  	}
  3412  	if s.RepositoryName == nil {
  3413  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3414  	}
  3415  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3416  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3417  	}
  3418  	if s.ImageIds != nil {
  3419  		for i, v := range s.ImageIds {
  3420  			if v == nil {
  3421  				continue
  3422  			}
  3423  			if err := v.Validate(); err != nil {
  3424  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageIds", i), err.(request.ErrInvalidParams))
  3425  			}
  3426  		}
  3427  	}
  3428  
  3429  	if invalidParams.Len() > 0 {
  3430  		return invalidParams
  3431  	}
  3432  	return nil
  3433  }
  3434  
  3435  // SetImageIds sets the ImageIds field's value.
  3436  func (s *DescribeImagesInput) SetImageIds(v []*ImageIdentifier) *DescribeImagesInput {
  3437  	s.ImageIds = v
  3438  	return s
  3439  }
  3440  
  3441  // SetMaxResults sets the MaxResults field's value.
  3442  func (s *DescribeImagesInput) SetMaxResults(v int64) *DescribeImagesInput {
  3443  	s.MaxResults = &v
  3444  	return s
  3445  }
  3446  
  3447  // SetNextToken sets the NextToken field's value.
  3448  func (s *DescribeImagesInput) SetNextToken(v string) *DescribeImagesInput {
  3449  	s.NextToken = &v
  3450  	return s
  3451  }
  3452  
  3453  // SetRegistryId sets the RegistryId field's value.
  3454  func (s *DescribeImagesInput) SetRegistryId(v string) *DescribeImagesInput {
  3455  	s.RegistryId = &v
  3456  	return s
  3457  }
  3458  
  3459  // SetRepositoryName sets the RepositoryName field's value.
  3460  func (s *DescribeImagesInput) SetRepositoryName(v string) *DescribeImagesInput {
  3461  	s.RepositoryName = &v
  3462  	return s
  3463  }
  3464  
  3465  type DescribeImagesOutput struct {
  3466  	_ struct{} `type:"structure"`
  3467  
  3468  	// A list of ImageDetail objects that contain data about the image.
  3469  	ImageDetails []*ImageDetail `locationName:"imageDetails" type:"list"`
  3470  
  3471  	// The nextToken value to include in a future DescribeImages request. When the
  3472  	// results of a DescribeImages request exceed maxResults, this value can be
  3473  	// used to retrieve the next page of results. This value is null when there
  3474  	// are no more results to return.
  3475  	NextToken *string `locationName:"nextToken" type:"string"`
  3476  }
  3477  
  3478  // String returns the string representation.
  3479  //
  3480  // API parameter values that are decorated as "sensitive" in the API will not
  3481  // be included in the string output. The member name will be present, but the
  3482  // value will be replaced with "sensitive".
  3483  func (s DescribeImagesOutput) String() string {
  3484  	return awsutil.Prettify(s)
  3485  }
  3486  
  3487  // GoString returns the string representation.
  3488  //
  3489  // API parameter values that are decorated as "sensitive" in the API will not
  3490  // be included in the string output. The member name will be present, but the
  3491  // value will be replaced with "sensitive".
  3492  func (s DescribeImagesOutput) GoString() string {
  3493  	return s.String()
  3494  }
  3495  
  3496  // SetImageDetails sets the ImageDetails field's value.
  3497  func (s *DescribeImagesOutput) SetImageDetails(v []*ImageDetail) *DescribeImagesOutput {
  3498  	s.ImageDetails = v
  3499  	return s
  3500  }
  3501  
  3502  // SetNextToken sets the NextToken field's value.
  3503  func (s *DescribeImagesOutput) SetNextToken(v string) *DescribeImagesOutput {
  3504  	s.NextToken = &v
  3505  	return s
  3506  }
  3507  
  3508  type DescribeRegistriesInput struct {
  3509  	_ struct{} `type:"structure"`
  3510  
  3511  	// The maximum number of repository results returned by DescribeRegistries in
  3512  	// paginated output. When this parameter is used, DescribeRegistries only returns
  3513  	// maxResults results in a single page along with a nextToken response element.
  3514  	// The remaining results of the initial request can be seen by sending another
  3515  	// DescribeRegistries request with the returned nextToken value. This value
  3516  	// can be between 1 and 1000. If this parameter is not used, then DescribeRegistries
  3517  	// returns up to 100 results and a nextToken value, if applicable.
  3518  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  3519  
  3520  	// The nextToken value returned from a previous paginated DescribeRegistries
  3521  	// request where maxResults was used and the results exceeded the value of that
  3522  	// parameter. Pagination continues from the end of the previous results that
  3523  	// returned the nextToken value. This value is null when there are no more results
  3524  	// to return.
  3525  	//
  3526  	// This token should be treated as an opaque identifier that is only used to
  3527  	// retrieve the next items in a list and not for other programmatic purposes.
  3528  	NextToken *string `locationName:"nextToken" type:"string"`
  3529  }
  3530  
  3531  // String returns the string representation.
  3532  //
  3533  // API parameter values that are decorated as "sensitive" in the API will not
  3534  // be included in the string output. The member name will be present, but the
  3535  // value will be replaced with "sensitive".
  3536  func (s DescribeRegistriesInput) String() string {
  3537  	return awsutil.Prettify(s)
  3538  }
  3539  
  3540  // GoString returns the string representation.
  3541  //
  3542  // API parameter values that are decorated as "sensitive" in the API will not
  3543  // be included in the string output. The member name will be present, but the
  3544  // value will be replaced with "sensitive".
  3545  func (s DescribeRegistriesInput) GoString() string {
  3546  	return s.String()
  3547  }
  3548  
  3549  // Validate inspects the fields of the type to determine if they are valid.
  3550  func (s *DescribeRegistriesInput) Validate() error {
  3551  	invalidParams := request.ErrInvalidParams{Context: "DescribeRegistriesInput"}
  3552  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3553  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3554  	}
  3555  
  3556  	if invalidParams.Len() > 0 {
  3557  		return invalidParams
  3558  	}
  3559  	return nil
  3560  }
  3561  
  3562  // SetMaxResults sets the MaxResults field's value.
  3563  func (s *DescribeRegistriesInput) SetMaxResults(v int64) *DescribeRegistriesInput {
  3564  	s.MaxResults = &v
  3565  	return s
  3566  }
  3567  
  3568  // SetNextToken sets the NextToken field's value.
  3569  func (s *DescribeRegistriesInput) SetNextToken(v string) *DescribeRegistriesInput {
  3570  	s.NextToken = &v
  3571  	return s
  3572  }
  3573  
  3574  type DescribeRegistriesOutput struct {
  3575  	_ struct{} `type:"structure"`
  3576  
  3577  	// The nextToken value to include in a future DescribeRepositories request.
  3578  	// When the results of a DescribeRepositories request exceed maxResults, this
  3579  	// value can be used to retrieve the next page of results. This value is null
  3580  	// when there are no more results to return.
  3581  	NextToken *string `locationName:"nextToken" type:"string"`
  3582  
  3583  	// An object containing the details for a public registry.
  3584  	//
  3585  	// Registries is a required field
  3586  	Registries []*Registry `locationName:"registries" type:"list" required:"true"`
  3587  }
  3588  
  3589  // String returns the string representation.
  3590  //
  3591  // API parameter values that are decorated as "sensitive" in the API will not
  3592  // be included in the string output. The member name will be present, but the
  3593  // value will be replaced with "sensitive".
  3594  func (s DescribeRegistriesOutput) String() string {
  3595  	return awsutil.Prettify(s)
  3596  }
  3597  
  3598  // GoString returns the string representation.
  3599  //
  3600  // API parameter values that are decorated as "sensitive" in the API will not
  3601  // be included in the string output. The member name will be present, but the
  3602  // value will be replaced with "sensitive".
  3603  func (s DescribeRegistriesOutput) GoString() string {
  3604  	return s.String()
  3605  }
  3606  
  3607  // SetNextToken sets the NextToken field's value.
  3608  func (s *DescribeRegistriesOutput) SetNextToken(v string) *DescribeRegistriesOutput {
  3609  	s.NextToken = &v
  3610  	return s
  3611  }
  3612  
  3613  // SetRegistries sets the Registries field's value.
  3614  func (s *DescribeRegistriesOutput) SetRegistries(v []*Registry) *DescribeRegistriesOutput {
  3615  	s.Registries = v
  3616  	return s
  3617  }
  3618  
  3619  type DescribeRepositoriesInput struct {
  3620  	_ struct{} `type:"structure"`
  3621  
  3622  	// The maximum number of repository results returned by DescribeRepositories
  3623  	// in paginated output. When this parameter is used, DescribeRepositories only
  3624  	// returns maxResults results in a single page along with a nextToken response
  3625  	// element. The remaining results of the initial request can be seen by sending
  3626  	// another DescribeRepositories request with the returned nextToken value. This
  3627  	// value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories
  3628  	// returns up to 100 results and a nextToken value, if applicable. This option
  3629  	// cannot be used when you specify repositories with repositoryNames.
  3630  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  3631  
  3632  	// The nextToken value returned from a previous paginated DescribeRepositories
  3633  	// request where maxResults was used and the results exceeded the value of that
  3634  	// parameter. Pagination continues from the end of the previous results that
  3635  	// returned the nextToken value. This value is null when there are no more results
  3636  	// to return. This option cannot be used when you specify repositories with
  3637  	// repositoryNames.
  3638  	//
  3639  	// This token should be treated as an opaque identifier that is only used to
  3640  	// retrieve the next items in a list and not for other programmatic purposes.
  3641  	NextToken *string `locationName:"nextToken" type:"string"`
  3642  
  3643  	// The AWS account ID associated with the registry that contains the repositories
  3644  	// to be described. If you do not specify a registry, the default public registry
  3645  	// is assumed.
  3646  	RegistryId *string `locationName:"registryId" type:"string"`
  3647  
  3648  	// A list of repositories to describe. If this parameter is omitted, then all
  3649  	// repositories in a registry are described.
  3650  	RepositoryNames []*string `locationName:"repositoryNames" min:"1" type:"list"`
  3651  }
  3652  
  3653  // String returns the string representation.
  3654  //
  3655  // API parameter values that are decorated as "sensitive" in the API will not
  3656  // be included in the string output. The member name will be present, but the
  3657  // value will be replaced with "sensitive".
  3658  func (s DescribeRepositoriesInput) String() string {
  3659  	return awsutil.Prettify(s)
  3660  }
  3661  
  3662  // GoString returns the string representation.
  3663  //
  3664  // API parameter values that are decorated as "sensitive" in the API will not
  3665  // be included in the string output. The member name will be present, but the
  3666  // value will be replaced with "sensitive".
  3667  func (s DescribeRepositoriesInput) GoString() string {
  3668  	return s.String()
  3669  }
  3670  
  3671  // Validate inspects the fields of the type to determine if they are valid.
  3672  func (s *DescribeRepositoriesInput) Validate() error {
  3673  	invalidParams := request.ErrInvalidParams{Context: "DescribeRepositoriesInput"}
  3674  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3675  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3676  	}
  3677  	if s.RepositoryNames != nil && len(s.RepositoryNames) < 1 {
  3678  		invalidParams.Add(request.NewErrParamMinLen("RepositoryNames", 1))
  3679  	}
  3680  
  3681  	if invalidParams.Len() > 0 {
  3682  		return invalidParams
  3683  	}
  3684  	return nil
  3685  }
  3686  
  3687  // SetMaxResults sets the MaxResults field's value.
  3688  func (s *DescribeRepositoriesInput) SetMaxResults(v int64) *DescribeRepositoriesInput {
  3689  	s.MaxResults = &v
  3690  	return s
  3691  }
  3692  
  3693  // SetNextToken sets the NextToken field's value.
  3694  func (s *DescribeRepositoriesInput) SetNextToken(v string) *DescribeRepositoriesInput {
  3695  	s.NextToken = &v
  3696  	return s
  3697  }
  3698  
  3699  // SetRegistryId sets the RegistryId field's value.
  3700  func (s *DescribeRepositoriesInput) SetRegistryId(v string) *DescribeRepositoriesInput {
  3701  	s.RegistryId = &v
  3702  	return s
  3703  }
  3704  
  3705  // SetRepositoryNames sets the RepositoryNames field's value.
  3706  func (s *DescribeRepositoriesInput) SetRepositoryNames(v []*string) *DescribeRepositoriesInput {
  3707  	s.RepositoryNames = v
  3708  	return s
  3709  }
  3710  
  3711  type DescribeRepositoriesOutput struct {
  3712  	_ struct{} `type:"structure"`
  3713  
  3714  	// The nextToken value to include in a future DescribeRepositories request.
  3715  	// When the results of a DescribeRepositories request exceed maxResults, this
  3716  	// value can be used to retrieve the next page of results. This value is null
  3717  	// when there are no more results to return.
  3718  	NextToken *string `locationName:"nextToken" type:"string"`
  3719  
  3720  	// A list of repository objects corresponding to valid repositories.
  3721  	Repositories []*Repository `locationName:"repositories" type:"list"`
  3722  }
  3723  
  3724  // String returns the string representation.
  3725  //
  3726  // API parameter values that are decorated as "sensitive" in the API will not
  3727  // be included in the string output. The member name will be present, but the
  3728  // value will be replaced with "sensitive".
  3729  func (s DescribeRepositoriesOutput) String() string {
  3730  	return awsutil.Prettify(s)
  3731  }
  3732  
  3733  // GoString returns the string representation.
  3734  //
  3735  // API parameter values that are decorated as "sensitive" in the API will not
  3736  // be included in the string output. The member name will be present, but the
  3737  // value will be replaced with "sensitive".
  3738  func (s DescribeRepositoriesOutput) GoString() string {
  3739  	return s.String()
  3740  }
  3741  
  3742  // SetNextToken sets the NextToken field's value.
  3743  func (s *DescribeRepositoriesOutput) SetNextToken(v string) *DescribeRepositoriesOutput {
  3744  	s.NextToken = &v
  3745  	return s
  3746  }
  3747  
  3748  // SetRepositories sets the Repositories field's value.
  3749  func (s *DescribeRepositoriesOutput) SetRepositories(v []*Repository) *DescribeRepositoriesOutput {
  3750  	s.Repositories = v
  3751  	return s
  3752  }
  3753  
  3754  // The specified layer upload does not contain any layer parts.
  3755  type EmptyUploadException struct {
  3756  	_            struct{}                  `type:"structure"`
  3757  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3758  
  3759  	Message_ *string `locationName:"message" type:"string"`
  3760  }
  3761  
  3762  // String returns the string representation.
  3763  //
  3764  // API parameter values that are decorated as "sensitive" in the API will not
  3765  // be included in the string output. The member name will be present, but the
  3766  // value will be replaced with "sensitive".
  3767  func (s EmptyUploadException) String() string {
  3768  	return awsutil.Prettify(s)
  3769  }
  3770  
  3771  // GoString returns the string representation.
  3772  //
  3773  // API parameter values that are decorated as "sensitive" in the API will not
  3774  // be included in the string output. The member name will be present, but the
  3775  // value will be replaced with "sensitive".
  3776  func (s EmptyUploadException) GoString() string {
  3777  	return s.String()
  3778  }
  3779  
  3780  func newErrorEmptyUploadException(v protocol.ResponseMetadata) error {
  3781  	return &EmptyUploadException{
  3782  		RespMetadata: v,
  3783  	}
  3784  }
  3785  
  3786  // Code returns the exception type name.
  3787  func (s *EmptyUploadException) Code() string {
  3788  	return "EmptyUploadException"
  3789  }
  3790  
  3791  // Message returns the exception's message.
  3792  func (s *EmptyUploadException) Message() string {
  3793  	if s.Message_ != nil {
  3794  		return *s.Message_
  3795  	}
  3796  	return ""
  3797  }
  3798  
  3799  // OrigErr always returns nil, satisfies awserr.Error interface.
  3800  func (s *EmptyUploadException) OrigErr() error {
  3801  	return nil
  3802  }
  3803  
  3804  func (s *EmptyUploadException) Error() string {
  3805  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3806  }
  3807  
  3808  // Status code returns the HTTP status code for the request's response error.
  3809  func (s *EmptyUploadException) StatusCode() int {
  3810  	return s.RespMetadata.StatusCode
  3811  }
  3812  
  3813  // RequestID returns the service's response RequestID for request.
  3814  func (s *EmptyUploadException) RequestID() string {
  3815  	return s.RespMetadata.RequestID
  3816  }
  3817  
  3818  type GetAuthorizationTokenInput struct {
  3819  	_ struct{} `type:"structure"`
  3820  }
  3821  
  3822  // String returns the string representation.
  3823  //
  3824  // API parameter values that are decorated as "sensitive" in the API will not
  3825  // be included in the string output. The member name will be present, but the
  3826  // value will be replaced with "sensitive".
  3827  func (s GetAuthorizationTokenInput) String() string {
  3828  	return awsutil.Prettify(s)
  3829  }
  3830  
  3831  // GoString returns the string representation.
  3832  //
  3833  // API parameter values that are decorated as "sensitive" in the API will not
  3834  // be included in the string output. The member name will be present, but the
  3835  // value will be replaced with "sensitive".
  3836  func (s GetAuthorizationTokenInput) GoString() string {
  3837  	return s.String()
  3838  }
  3839  
  3840  type GetAuthorizationTokenOutput struct {
  3841  	_ struct{} `type:"structure"`
  3842  
  3843  	// An authorization token data object that corresponds to a public registry.
  3844  	AuthorizationData *AuthorizationData `locationName:"authorizationData" type:"structure"`
  3845  }
  3846  
  3847  // String returns the string representation.
  3848  //
  3849  // API parameter values that are decorated as "sensitive" in the API will not
  3850  // be included in the string output. The member name will be present, but the
  3851  // value will be replaced with "sensitive".
  3852  func (s GetAuthorizationTokenOutput) String() string {
  3853  	return awsutil.Prettify(s)
  3854  }
  3855  
  3856  // GoString returns the string representation.
  3857  //
  3858  // API parameter values that are decorated as "sensitive" in the API will not
  3859  // be included in the string output. The member name will be present, but the
  3860  // value will be replaced with "sensitive".
  3861  func (s GetAuthorizationTokenOutput) GoString() string {
  3862  	return s.String()
  3863  }
  3864  
  3865  // SetAuthorizationData sets the AuthorizationData field's value.
  3866  func (s *GetAuthorizationTokenOutput) SetAuthorizationData(v *AuthorizationData) *GetAuthorizationTokenOutput {
  3867  	s.AuthorizationData = v
  3868  	return s
  3869  }
  3870  
  3871  type GetRegistryCatalogDataInput struct {
  3872  	_ struct{} `type:"structure"`
  3873  }
  3874  
  3875  // String returns the string representation.
  3876  //
  3877  // API parameter values that are decorated as "sensitive" in the API will not
  3878  // be included in the string output. The member name will be present, but the
  3879  // value will be replaced with "sensitive".
  3880  func (s GetRegistryCatalogDataInput) String() string {
  3881  	return awsutil.Prettify(s)
  3882  }
  3883  
  3884  // GoString returns the string representation.
  3885  //
  3886  // API parameter values that are decorated as "sensitive" in the API will not
  3887  // be included in the string output. The member name will be present, but the
  3888  // value will be replaced with "sensitive".
  3889  func (s GetRegistryCatalogDataInput) GoString() string {
  3890  	return s.String()
  3891  }
  3892  
  3893  type GetRegistryCatalogDataOutput struct {
  3894  	_ struct{} `type:"structure"`
  3895  
  3896  	// The catalog metadata for the public registry.
  3897  	//
  3898  	// RegistryCatalogData is a required field
  3899  	RegistryCatalogData *RegistryCatalogData `locationName:"registryCatalogData" type:"structure" required:"true"`
  3900  }
  3901  
  3902  // String returns the string representation.
  3903  //
  3904  // API parameter values that are decorated as "sensitive" in the API will not
  3905  // be included in the string output. The member name will be present, but the
  3906  // value will be replaced with "sensitive".
  3907  func (s GetRegistryCatalogDataOutput) String() string {
  3908  	return awsutil.Prettify(s)
  3909  }
  3910  
  3911  // GoString returns the string representation.
  3912  //
  3913  // API parameter values that are decorated as "sensitive" in the API will not
  3914  // be included in the string output. The member name will be present, but the
  3915  // value will be replaced with "sensitive".
  3916  func (s GetRegistryCatalogDataOutput) GoString() string {
  3917  	return s.String()
  3918  }
  3919  
  3920  // SetRegistryCatalogData sets the RegistryCatalogData field's value.
  3921  func (s *GetRegistryCatalogDataOutput) SetRegistryCatalogData(v *RegistryCatalogData) *GetRegistryCatalogDataOutput {
  3922  	s.RegistryCatalogData = v
  3923  	return s
  3924  }
  3925  
  3926  type GetRepositoryCatalogDataInput struct {
  3927  	_ struct{} `type:"structure"`
  3928  
  3929  	// The AWS account ID associated with the registry that contains the repositories
  3930  	// to be described. If you do not specify a registry, the default public registry
  3931  	// is assumed.
  3932  	RegistryId *string `locationName:"registryId" type:"string"`
  3933  
  3934  	// The name of the repository to retrieve the catalog metadata for.
  3935  	//
  3936  	// RepositoryName is a required field
  3937  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3938  }
  3939  
  3940  // String returns the string representation.
  3941  //
  3942  // API parameter values that are decorated as "sensitive" in the API will not
  3943  // be included in the string output. The member name will be present, but the
  3944  // value will be replaced with "sensitive".
  3945  func (s GetRepositoryCatalogDataInput) String() string {
  3946  	return awsutil.Prettify(s)
  3947  }
  3948  
  3949  // GoString returns the string representation.
  3950  //
  3951  // API parameter values that are decorated as "sensitive" in the API will not
  3952  // be included in the string output. The member name will be present, but the
  3953  // value will be replaced with "sensitive".
  3954  func (s GetRepositoryCatalogDataInput) GoString() string {
  3955  	return s.String()
  3956  }
  3957  
  3958  // Validate inspects the fields of the type to determine if they are valid.
  3959  func (s *GetRepositoryCatalogDataInput) Validate() error {
  3960  	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryCatalogDataInput"}
  3961  	if s.RepositoryName == nil {
  3962  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3963  	}
  3964  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3965  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3966  	}
  3967  
  3968  	if invalidParams.Len() > 0 {
  3969  		return invalidParams
  3970  	}
  3971  	return nil
  3972  }
  3973  
  3974  // SetRegistryId sets the RegistryId field's value.
  3975  func (s *GetRepositoryCatalogDataInput) SetRegistryId(v string) *GetRepositoryCatalogDataInput {
  3976  	s.RegistryId = &v
  3977  	return s
  3978  }
  3979  
  3980  // SetRepositoryName sets the RepositoryName field's value.
  3981  func (s *GetRepositoryCatalogDataInput) SetRepositoryName(v string) *GetRepositoryCatalogDataInput {
  3982  	s.RepositoryName = &v
  3983  	return s
  3984  }
  3985  
  3986  type GetRepositoryCatalogDataOutput struct {
  3987  	_ struct{} `type:"structure"`
  3988  
  3989  	// The catalog metadata for the repository.
  3990  	CatalogData *RepositoryCatalogData `locationName:"catalogData" type:"structure"`
  3991  }
  3992  
  3993  // String returns the string representation.
  3994  //
  3995  // API parameter values that are decorated as "sensitive" in the API will not
  3996  // be included in the string output. The member name will be present, but the
  3997  // value will be replaced with "sensitive".
  3998  func (s GetRepositoryCatalogDataOutput) String() string {
  3999  	return awsutil.Prettify(s)
  4000  }
  4001  
  4002  // GoString returns the string representation.
  4003  //
  4004  // API parameter values that are decorated as "sensitive" in the API will not
  4005  // be included in the string output. The member name will be present, but the
  4006  // value will be replaced with "sensitive".
  4007  func (s GetRepositoryCatalogDataOutput) GoString() string {
  4008  	return s.String()
  4009  }
  4010  
  4011  // SetCatalogData sets the CatalogData field's value.
  4012  func (s *GetRepositoryCatalogDataOutput) SetCatalogData(v *RepositoryCatalogData) *GetRepositoryCatalogDataOutput {
  4013  	s.CatalogData = v
  4014  	return s
  4015  }
  4016  
  4017  type GetRepositoryPolicyInput struct {
  4018  	_ struct{} `type:"structure"`
  4019  
  4020  	// The AWS account ID associated with the public registry that contains the
  4021  	// repository. If you do not specify a registry, the default public registry
  4022  	// is assumed.
  4023  	RegistryId *string `locationName:"registryId" type:"string"`
  4024  
  4025  	// The name of the repository with the policy to retrieve.
  4026  	//
  4027  	// RepositoryName is a required field
  4028  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4029  }
  4030  
  4031  // String returns the string representation.
  4032  //
  4033  // API parameter values that are decorated as "sensitive" in the API will not
  4034  // be included in the string output. The member name will be present, but the
  4035  // value will be replaced with "sensitive".
  4036  func (s GetRepositoryPolicyInput) String() string {
  4037  	return awsutil.Prettify(s)
  4038  }
  4039  
  4040  // GoString returns the string representation.
  4041  //
  4042  // API parameter values that are decorated as "sensitive" in the API will not
  4043  // be included in the string output. The member name will be present, but the
  4044  // value will be replaced with "sensitive".
  4045  func (s GetRepositoryPolicyInput) GoString() string {
  4046  	return s.String()
  4047  }
  4048  
  4049  // Validate inspects the fields of the type to determine if they are valid.
  4050  func (s *GetRepositoryPolicyInput) Validate() error {
  4051  	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryPolicyInput"}
  4052  	if s.RepositoryName == nil {
  4053  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4054  	}
  4055  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4056  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4057  	}
  4058  
  4059  	if invalidParams.Len() > 0 {
  4060  		return invalidParams
  4061  	}
  4062  	return nil
  4063  }
  4064  
  4065  // SetRegistryId sets the RegistryId field's value.
  4066  func (s *GetRepositoryPolicyInput) SetRegistryId(v string) *GetRepositoryPolicyInput {
  4067  	s.RegistryId = &v
  4068  	return s
  4069  }
  4070  
  4071  // SetRepositoryName sets the RepositoryName field's value.
  4072  func (s *GetRepositoryPolicyInput) SetRepositoryName(v string) *GetRepositoryPolicyInput {
  4073  	s.RepositoryName = &v
  4074  	return s
  4075  }
  4076  
  4077  type GetRepositoryPolicyOutput struct {
  4078  	_ struct{} `type:"structure"`
  4079  
  4080  	// The repository policy text associated with the repository. The policy text
  4081  	// will be in JSON format.
  4082  	PolicyText *string `locationName:"policyText" type:"string"`
  4083  
  4084  	// The registry ID associated with the request.
  4085  	RegistryId *string `locationName:"registryId" type:"string"`
  4086  
  4087  	// The repository name associated with the request.
  4088  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4089  }
  4090  
  4091  // String returns the string representation.
  4092  //
  4093  // API parameter values that are decorated as "sensitive" in the API will not
  4094  // be included in the string output. The member name will be present, but the
  4095  // value will be replaced with "sensitive".
  4096  func (s GetRepositoryPolicyOutput) String() string {
  4097  	return awsutil.Prettify(s)
  4098  }
  4099  
  4100  // GoString returns the string representation.
  4101  //
  4102  // API parameter values that are decorated as "sensitive" in the API will not
  4103  // be included in the string output. The member name will be present, but the
  4104  // value will be replaced with "sensitive".
  4105  func (s GetRepositoryPolicyOutput) GoString() string {
  4106  	return s.String()
  4107  }
  4108  
  4109  // SetPolicyText sets the PolicyText field's value.
  4110  func (s *GetRepositoryPolicyOutput) SetPolicyText(v string) *GetRepositoryPolicyOutput {
  4111  	s.PolicyText = &v
  4112  	return s
  4113  }
  4114  
  4115  // SetRegistryId sets the RegistryId field's value.
  4116  func (s *GetRepositoryPolicyOutput) SetRegistryId(v string) *GetRepositoryPolicyOutput {
  4117  	s.RegistryId = &v
  4118  	return s
  4119  }
  4120  
  4121  // SetRepositoryName sets the RepositoryName field's value.
  4122  func (s *GetRepositoryPolicyOutput) SetRepositoryName(v string) *GetRepositoryPolicyOutput {
  4123  	s.RepositoryName = &v
  4124  	return s
  4125  }
  4126  
  4127  // An object representing an Amazon ECR image.
  4128  type Image struct {
  4129  	_ struct{} `type:"structure"`
  4130  
  4131  	// An object containing the image tag and image digest associated with an image.
  4132  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
  4133  
  4134  	// The image manifest associated with the image.
  4135  	ImageManifest *string `locationName:"imageManifest" min:"1" type:"string"`
  4136  
  4137  	// The manifest media type of the image.
  4138  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  4139  
  4140  	// The AWS account ID associated with the registry containing the image.
  4141  	RegistryId *string `locationName:"registryId" min:"1" type:"string"`
  4142  
  4143  	// The name of the repository associated with the image.
  4144  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4145  }
  4146  
  4147  // String returns the string representation.
  4148  //
  4149  // API parameter values that are decorated as "sensitive" in the API will not
  4150  // be included in the string output. The member name will be present, but the
  4151  // value will be replaced with "sensitive".
  4152  func (s Image) String() string {
  4153  	return awsutil.Prettify(s)
  4154  }
  4155  
  4156  // GoString returns the string representation.
  4157  //
  4158  // API parameter values that are decorated as "sensitive" in the API will not
  4159  // be included in the string output. The member name will be present, but the
  4160  // value will be replaced with "sensitive".
  4161  func (s Image) GoString() string {
  4162  	return s.String()
  4163  }
  4164  
  4165  // SetImageId sets the ImageId field's value.
  4166  func (s *Image) SetImageId(v *ImageIdentifier) *Image {
  4167  	s.ImageId = v
  4168  	return s
  4169  }
  4170  
  4171  // SetImageManifest sets the ImageManifest field's value.
  4172  func (s *Image) SetImageManifest(v string) *Image {
  4173  	s.ImageManifest = &v
  4174  	return s
  4175  }
  4176  
  4177  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  4178  func (s *Image) SetImageManifestMediaType(v string) *Image {
  4179  	s.ImageManifestMediaType = &v
  4180  	return s
  4181  }
  4182  
  4183  // SetRegistryId sets the RegistryId field's value.
  4184  func (s *Image) SetRegistryId(v string) *Image {
  4185  	s.RegistryId = &v
  4186  	return s
  4187  }
  4188  
  4189  // SetRepositoryName sets the RepositoryName field's value.
  4190  func (s *Image) SetRepositoryName(v string) *Image {
  4191  	s.RepositoryName = &v
  4192  	return s
  4193  }
  4194  
  4195  // The specified image has already been pushed, and there were no changes to
  4196  // the manifest or image tag after the last push.
  4197  type ImageAlreadyExistsException struct {
  4198  	_            struct{}                  `type:"structure"`
  4199  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4200  
  4201  	Message_ *string `locationName:"message" type:"string"`
  4202  }
  4203  
  4204  // String returns the string representation.
  4205  //
  4206  // API parameter values that are decorated as "sensitive" in the API will not
  4207  // be included in the string output. The member name will be present, but the
  4208  // value will be replaced with "sensitive".
  4209  func (s ImageAlreadyExistsException) String() string {
  4210  	return awsutil.Prettify(s)
  4211  }
  4212  
  4213  // GoString returns the string representation.
  4214  //
  4215  // API parameter values that are decorated as "sensitive" in the API will not
  4216  // be included in the string output. The member name will be present, but the
  4217  // value will be replaced with "sensitive".
  4218  func (s ImageAlreadyExistsException) GoString() string {
  4219  	return s.String()
  4220  }
  4221  
  4222  func newErrorImageAlreadyExistsException(v protocol.ResponseMetadata) error {
  4223  	return &ImageAlreadyExistsException{
  4224  		RespMetadata: v,
  4225  	}
  4226  }
  4227  
  4228  // Code returns the exception type name.
  4229  func (s *ImageAlreadyExistsException) Code() string {
  4230  	return "ImageAlreadyExistsException"
  4231  }
  4232  
  4233  // Message returns the exception's message.
  4234  func (s *ImageAlreadyExistsException) Message() string {
  4235  	if s.Message_ != nil {
  4236  		return *s.Message_
  4237  	}
  4238  	return ""
  4239  }
  4240  
  4241  // OrigErr always returns nil, satisfies awserr.Error interface.
  4242  func (s *ImageAlreadyExistsException) OrigErr() error {
  4243  	return nil
  4244  }
  4245  
  4246  func (s *ImageAlreadyExistsException) Error() string {
  4247  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4248  }
  4249  
  4250  // Status code returns the HTTP status code for the request's response error.
  4251  func (s *ImageAlreadyExistsException) StatusCode() int {
  4252  	return s.RespMetadata.StatusCode
  4253  }
  4254  
  4255  // RequestID returns the service's response RequestID for request.
  4256  func (s *ImageAlreadyExistsException) RequestID() string {
  4257  	return s.RespMetadata.RequestID
  4258  }
  4259  
  4260  // An object that describes an image returned by a DescribeImages operation.
  4261  type ImageDetail struct {
  4262  	_ struct{} `type:"structure"`
  4263  
  4264  	// The artifact media type of the image.
  4265  	ArtifactMediaType *string `locationName:"artifactMediaType" type:"string"`
  4266  
  4267  	// The sha256 digest of the image manifest.
  4268  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  4269  
  4270  	// The media type of the image manifest.
  4271  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  4272  
  4273  	// The date and time, expressed in standard JavaScript date format, at which
  4274  	// the current image was pushed to the repository.
  4275  	ImagePushedAt *time.Time `locationName:"imagePushedAt" type:"timestamp"`
  4276  
  4277  	// The size, in bytes, of the image in the repository.
  4278  	//
  4279  	// If the image is a manifest list, this will be the max size of all manifests
  4280  	// in the list.
  4281  	//
  4282  	// Beginning with Docker version 1.9, the Docker client compresses image layers
  4283  	// before pushing them to a V2 Docker registry. The output of the docker images
  4284  	// command shows the uncompressed image size, so it may return a larger image
  4285  	// size than the image sizes returned by DescribeImages.
  4286  	ImageSizeInBytes *int64 `locationName:"imageSizeInBytes" type:"long"`
  4287  
  4288  	// The list of tags associated with this image.
  4289  	ImageTags []*string `locationName:"imageTags" type:"list"`
  4290  
  4291  	// The AWS account ID associated with the public registry to which this image
  4292  	// belongs.
  4293  	RegistryId *string `locationName:"registryId" type:"string"`
  4294  
  4295  	// The name of the repository to which this image belongs.
  4296  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4297  }
  4298  
  4299  // String returns the string representation.
  4300  //
  4301  // API parameter values that are decorated as "sensitive" in the API will not
  4302  // be included in the string output. The member name will be present, but the
  4303  // value will be replaced with "sensitive".
  4304  func (s ImageDetail) String() string {
  4305  	return awsutil.Prettify(s)
  4306  }
  4307  
  4308  // GoString returns the string representation.
  4309  //
  4310  // API parameter values that are decorated as "sensitive" in the API will not
  4311  // be included in the string output. The member name will be present, but the
  4312  // value will be replaced with "sensitive".
  4313  func (s ImageDetail) GoString() string {
  4314  	return s.String()
  4315  }
  4316  
  4317  // SetArtifactMediaType sets the ArtifactMediaType field's value.
  4318  func (s *ImageDetail) SetArtifactMediaType(v string) *ImageDetail {
  4319  	s.ArtifactMediaType = &v
  4320  	return s
  4321  }
  4322  
  4323  // SetImageDigest sets the ImageDigest field's value.
  4324  func (s *ImageDetail) SetImageDigest(v string) *ImageDetail {
  4325  	s.ImageDigest = &v
  4326  	return s
  4327  }
  4328  
  4329  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  4330  func (s *ImageDetail) SetImageManifestMediaType(v string) *ImageDetail {
  4331  	s.ImageManifestMediaType = &v
  4332  	return s
  4333  }
  4334  
  4335  // SetImagePushedAt sets the ImagePushedAt field's value.
  4336  func (s *ImageDetail) SetImagePushedAt(v time.Time) *ImageDetail {
  4337  	s.ImagePushedAt = &v
  4338  	return s
  4339  }
  4340  
  4341  // SetImageSizeInBytes sets the ImageSizeInBytes field's value.
  4342  func (s *ImageDetail) SetImageSizeInBytes(v int64) *ImageDetail {
  4343  	s.ImageSizeInBytes = &v
  4344  	return s
  4345  }
  4346  
  4347  // SetImageTags sets the ImageTags field's value.
  4348  func (s *ImageDetail) SetImageTags(v []*string) *ImageDetail {
  4349  	s.ImageTags = v
  4350  	return s
  4351  }
  4352  
  4353  // SetRegistryId sets the RegistryId field's value.
  4354  func (s *ImageDetail) SetRegistryId(v string) *ImageDetail {
  4355  	s.RegistryId = &v
  4356  	return s
  4357  }
  4358  
  4359  // SetRepositoryName sets the RepositoryName field's value.
  4360  func (s *ImageDetail) SetRepositoryName(v string) *ImageDetail {
  4361  	s.RepositoryName = &v
  4362  	return s
  4363  }
  4364  
  4365  // The specified image digest does not match the digest that Amazon ECR calculated
  4366  // for the image.
  4367  type ImageDigestDoesNotMatchException struct {
  4368  	_            struct{}                  `type:"structure"`
  4369  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4370  
  4371  	Message_ *string `locationName:"message" type:"string"`
  4372  }
  4373  
  4374  // String returns the string representation.
  4375  //
  4376  // API parameter values that are decorated as "sensitive" in the API will not
  4377  // be included in the string output. The member name will be present, but the
  4378  // value will be replaced with "sensitive".
  4379  func (s ImageDigestDoesNotMatchException) String() string {
  4380  	return awsutil.Prettify(s)
  4381  }
  4382  
  4383  // GoString returns the string representation.
  4384  //
  4385  // API parameter values that are decorated as "sensitive" in the API will not
  4386  // be included in the string output. The member name will be present, but the
  4387  // value will be replaced with "sensitive".
  4388  func (s ImageDigestDoesNotMatchException) GoString() string {
  4389  	return s.String()
  4390  }
  4391  
  4392  func newErrorImageDigestDoesNotMatchException(v protocol.ResponseMetadata) error {
  4393  	return &ImageDigestDoesNotMatchException{
  4394  		RespMetadata: v,
  4395  	}
  4396  }
  4397  
  4398  // Code returns the exception type name.
  4399  func (s *ImageDigestDoesNotMatchException) Code() string {
  4400  	return "ImageDigestDoesNotMatchException"
  4401  }
  4402  
  4403  // Message returns the exception's message.
  4404  func (s *ImageDigestDoesNotMatchException) Message() string {
  4405  	if s.Message_ != nil {
  4406  		return *s.Message_
  4407  	}
  4408  	return ""
  4409  }
  4410  
  4411  // OrigErr always returns nil, satisfies awserr.Error interface.
  4412  func (s *ImageDigestDoesNotMatchException) OrigErr() error {
  4413  	return nil
  4414  }
  4415  
  4416  func (s *ImageDigestDoesNotMatchException) Error() string {
  4417  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4418  }
  4419  
  4420  // Status code returns the HTTP status code for the request's response error.
  4421  func (s *ImageDigestDoesNotMatchException) StatusCode() int {
  4422  	return s.RespMetadata.StatusCode
  4423  }
  4424  
  4425  // RequestID returns the service's response RequestID for request.
  4426  func (s *ImageDigestDoesNotMatchException) RequestID() string {
  4427  	return s.RespMetadata.RequestID
  4428  }
  4429  
  4430  // An object representing an Amazon ECR image failure.
  4431  type ImageFailure struct {
  4432  	_ struct{} `type:"structure"`
  4433  
  4434  	// The code associated with the failure.
  4435  	FailureCode *string `locationName:"failureCode" type:"string" enum:"ImageFailureCode"`
  4436  
  4437  	// The reason for the failure.
  4438  	FailureReason *string `locationName:"failureReason" type:"string"`
  4439  
  4440  	// The image ID associated with the failure.
  4441  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
  4442  }
  4443  
  4444  // String returns the string representation.
  4445  //
  4446  // API parameter values that are decorated as "sensitive" in the API will not
  4447  // be included in the string output. The member name will be present, but the
  4448  // value will be replaced with "sensitive".
  4449  func (s ImageFailure) String() string {
  4450  	return awsutil.Prettify(s)
  4451  }
  4452  
  4453  // GoString returns the string representation.
  4454  //
  4455  // API parameter values that are decorated as "sensitive" in the API will not
  4456  // be included in the string output. The member name will be present, but the
  4457  // value will be replaced with "sensitive".
  4458  func (s ImageFailure) GoString() string {
  4459  	return s.String()
  4460  }
  4461  
  4462  // SetFailureCode sets the FailureCode field's value.
  4463  func (s *ImageFailure) SetFailureCode(v string) *ImageFailure {
  4464  	s.FailureCode = &v
  4465  	return s
  4466  }
  4467  
  4468  // SetFailureReason sets the FailureReason field's value.
  4469  func (s *ImageFailure) SetFailureReason(v string) *ImageFailure {
  4470  	s.FailureReason = &v
  4471  	return s
  4472  }
  4473  
  4474  // SetImageId sets the ImageId field's value.
  4475  func (s *ImageFailure) SetImageId(v *ImageIdentifier) *ImageFailure {
  4476  	s.ImageId = v
  4477  	return s
  4478  }
  4479  
  4480  // An object with identifying information for an Amazon ECR image.
  4481  type ImageIdentifier struct {
  4482  	_ struct{} `type:"structure"`
  4483  
  4484  	// The sha256 digest of the image manifest.
  4485  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  4486  
  4487  	// The tag used for the image.
  4488  	ImageTag *string `locationName:"imageTag" min:"1" type:"string"`
  4489  }
  4490  
  4491  // String returns the string representation.
  4492  //
  4493  // API parameter values that are decorated as "sensitive" in the API will not
  4494  // be included in the string output. The member name will be present, but the
  4495  // value will be replaced with "sensitive".
  4496  func (s ImageIdentifier) String() string {
  4497  	return awsutil.Prettify(s)
  4498  }
  4499  
  4500  // GoString returns the string representation.
  4501  //
  4502  // API parameter values that are decorated as "sensitive" in the API will not
  4503  // be included in the string output. The member name will be present, but the
  4504  // value will be replaced with "sensitive".
  4505  func (s ImageIdentifier) GoString() string {
  4506  	return s.String()
  4507  }
  4508  
  4509  // Validate inspects the fields of the type to determine if they are valid.
  4510  func (s *ImageIdentifier) Validate() error {
  4511  	invalidParams := request.ErrInvalidParams{Context: "ImageIdentifier"}
  4512  	if s.ImageTag != nil && len(*s.ImageTag) < 1 {
  4513  		invalidParams.Add(request.NewErrParamMinLen("ImageTag", 1))
  4514  	}
  4515  
  4516  	if invalidParams.Len() > 0 {
  4517  		return invalidParams
  4518  	}
  4519  	return nil
  4520  }
  4521  
  4522  // SetImageDigest sets the ImageDigest field's value.
  4523  func (s *ImageIdentifier) SetImageDigest(v string) *ImageIdentifier {
  4524  	s.ImageDigest = &v
  4525  	return s
  4526  }
  4527  
  4528  // SetImageTag sets the ImageTag field's value.
  4529  func (s *ImageIdentifier) SetImageTag(v string) *ImageIdentifier {
  4530  	s.ImageTag = &v
  4531  	return s
  4532  }
  4533  
  4534  // The image requested does not exist in the specified repository.
  4535  type ImageNotFoundException struct {
  4536  	_            struct{}                  `type:"structure"`
  4537  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4538  
  4539  	Message_ *string `locationName:"message" type:"string"`
  4540  }
  4541  
  4542  // String returns the string representation.
  4543  //
  4544  // API parameter values that are decorated as "sensitive" in the API will not
  4545  // be included in the string output. The member name will be present, but the
  4546  // value will be replaced with "sensitive".
  4547  func (s ImageNotFoundException) String() string {
  4548  	return awsutil.Prettify(s)
  4549  }
  4550  
  4551  // GoString returns the string representation.
  4552  //
  4553  // API parameter values that are decorated as "sensitive" in the API will not
  4554  // be included in the string output. The member name will be present, but the
  4555  // value will be replaced with "sensitive".
  4556  func (s ImageNotFoundException) GoString() string {
  4557  	return s.String()
  4558  }
  4559  
  4560  func newErrorImageNotFoundException(v protocol.ResponseMetadata) error {
  4561  	return &ImageNotFoundException{
  4562  		RespMetadata: v,
  4563  	}
  4564  }
  4565  
  4566  // Code returns the exception type name.
  4567  func (s *ImageNotFoundException) Code() string {
  4568  	return "ImageNotFoundException"
  4569  }
  4570  
  4571  // Message returns the exception's message.
  4572  func (s *ImageNotFoundException) Message() string {
  4573  	if s.Message_ != nil {
  4574  		return *s.Message_
  4575  	}
  4576  	return ""
  4577  }
  4578  
  4579  // OrigErr always returns nil, satisfies awserr.Error interface.
  4580  func (s *ImageNotFoundException) OrigErr() error {
  4581  	return nil
  4582  }
  4583  
  4584  func (s *ImageNotFoundException) Error() string {
  4585  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4586  }
  4587  
  4588  // Status code returns the HTTP status code for the request's response error.
  4589  func (s *ImageNotFoundException) StatusCode() int {
  4590  	return s.RespMetadata.StatusCode
  4591  }
  4592  
  4593  // RequestID returns the service's response RequestID for request.
  4594  func (s *ImageNotFoundException) RequestID() string {
  4595  	return s.RespMetadata.RequestID
  4596  }
  4597  
  4598  // The specified image is tagged with a tag that already exists. The repository
  4599  // is configured for tag immutability.
  4600  type ImageTagAlreadyExistsException struct {
  4601  	_            struct{}                  `type:"structure"`
  4602  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4603  
  4604  	Message_ *string `locationName:"message" type:"string"`
  4605  }
  4606  
  4607  // String returns the string representation.
  4608  //
  4609  // API parameter values that are decorated as "sensitive" in the API will not
  4610  // be included in the string output. The member name will be present, but the
  4611  // value will be replaced with "sensitive".
  4612  func (s ImageTagAlreadyExistsException) String() string {
  4613  	return awsutil.Prettify(s)
  4614  }
  4615  
  4616  // GoString returns the string representation.
  4617  //
  4618  // API parameter values that are decorated as "sensitive" in the API will not
  4619  // be included in the string output. The member name will be present, but the
  4620  // value will be replaced with "sensitive".
  4621  func (s ImageTagAlreadyExistsException) GoString() string {
  4622  	return s.String()
  4623  }
  4624  
  4625  func newErrorImageTagAlreadyExistsException(v protocol.ResponseMetadata) error {
  4626  	return &ImageTagAlreadyExistsException{
  4627  		RespMetadata: v,
  4628  	}
  4629  }
  4630  
  4631  // Code returns the exception type name.
  4632  func (s *ImageTagAlreadyExistsException) Code() string {
  4633  	return "ImageTagAlreadyExistsException"
  4634  }
  4635  
  4636  // Message returns the exception's message.
  4637  func (s *ImageTagAlreadyExistsException) Message() string {
  4638  	if s.Message_ != nil {
  4639  		return *s.Message_
  4640  	}
  4641  	return ""
  4642  }
  4643  
  4644  // OrigErr always returns nil, satisfies awserr.Error interface.
  4645  func (s *ImageTagAlreadyExistsException) OrigErr() error {
  4646  	return nil
  4647  }
  4648  
  4649  func (s *ImageTagAlreadyExistsException) Error() string {
  4650  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4651  }
  4652  
  4653  // Status code returns the HTTP status code for the request's response error.
  4654  func (s *ImageTagAlreadyExistsException) StatusCode() int {
  4655  	return s.RespMetadata.StatusCode
  4656  }
  4657  
  4658  // RequestID returns the service's response RequestID for request.
  4659  func (s *ImageTagAlreadyExistsException) RequestID() string {
  4660  	return s.RespMetadata.RequestID
  4661  }
  4662  
  4663  // An object representing the image tag details for an image.
  4664  type ImageTagDetail struct {
  4665  	_ struct{} `type:"structure"`
  4666  
  4667  	// The time stamp indicating when the image tag was created.
  4668  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  4669  
  4670  	// An object that describes the details of an image.
  4671  	ImageDetail *ReferencedImageDetail `locationName:"imageDetail" type:"structure"`
  4672  
  4673  	// The tag associated with the image.
  4674  	ImageTag *string `locationName:"imageTag" min:"1" type:"string"`
  4675  }
  4676  
  4677  // String returns the string representation.
  4678  //
  4679  // API parameter values that are decorated as "sensitive" in the API will not
  4680  // be included in the string output. The member name will be present, but the
  4681  // value will be replaced with "sensitive".
  4682  func (s ImageTagDetail) String() string {
  4683  	return awsutil.Prettify(s)
  4684  }
  4685  
  4686  // GoString returns the string representation.
  4687  //
  4688  // API parameter values that are decorated as "sensitive" in the API will not
  4689  // be included in the string output. The member name will be present, but the
  4690  // value will be replaced with "sensitive".
  4691  func (s ImageTagDetail) GoString() string {
  4692  	return s.String()
  4693  }
  4694  
  4695  // SetCreatedAt sets the CreatedAt field's value.
  4696  func (s *ImageTagDetail) SetCreatedAt(v time.Time) *ImageTagDetail {
  4697  	s.CreatedAt = &v
  4698  	return s
  4699  }
  4700  
  4701  // SetImageDetail sets the ImageDetail field's value.
  4702  func (s *ImageTagDetail) SetImageDetail(v *ReferencedImageDetail) *ImageTagDetail {
  4703  	s.ImageDetail = v
  4704  	return s
  4705  }
  4706  
  4707  // SetImageTag sets the ImageTag field's value.
  4708  func (s *ImageTagDetail) SetImageTag(v string) *ImageTagDetail {
  4709  	s.ImageTag = &v
  4710  	return s
  4711  }
  4712  
  4713  type InitiateLayerUploadInput struct {
  4714  	_ struct{} `type:"structure"`
  4715  
  4716  	// The AWS account ID associated with the registry to which you intend to upload
  4717  	// layers. If you do not specify a registry, the default public registry is
  4718  	// assumed.
  4719  	RegistryId *string `locationName:"registryId" min:"1" type:"string"`
  4720  
  4721  	// The name of the repository to which you intend to upload layers.
  4722  	//
  4723  	// RepositoryName is a required field
  4724  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4725  }
  4726  
  4727  // String returns the string representation.
  4728  //
  4729  // API parameter values that are decorated as "sensitive" in the API will not
  4730  // be included in the string output. The member name will be present, but the
  4731  // value will be replaced with "sensitive".
  4732  func (s InitiateLayerUploadInput) String() string {
  4733  	return awsutil.Prettify(s)
  4734  }
  4735  
  4736  // GoString returns the string representation.
  4737  //
  4738  // API parameter values that are decorated as "sensitive" in the API will not
  4739  // be included in the string output. The member name will be present, but the
  4740  // value will be replaced with "sensitive".
  4741  func (s InitiateLayerUploadInput) GoString() string {
  4742  	return s.String()
  4743  }
  4744  
  4745  // Validate inspects the fields of the type to determine if they are valid.
  4746  func (s *InitiateLayerUploadInput) Validate() error {
  4747  	invalidParams := request.ErrInvalidParams{Context: "InitiateLayerUploadInput"}
  4748  	if s.RegistryId != nil && len(*s.RegistryId) < 1 {
  4749  		invalidParams.Add(request.NewErrParamMinLen("RegistryId", 1))
  4750  	}
  4751  	if s.RepositoryName == nil {
  4752  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4753  	}
  4754  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4755  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4756  	}
  4757  
  4758  	if invalidParams.Len() > 0 {
  4759  		return invalidParams
  4760  	}
  4761  	return nil
  4762  }
  4763  
  4764  // SetRegistryId sets the RegistryId field's value.
  4765  func (s *InitiateLayerUploadInput) SetRegistryId(v string) *InitiateLayerUploadInput {
  4766  	s.RegistryId = &v
  4767  	return s
  4768  }
  4769  
  4770  // SetRepositoryName sets the RepositoryName field's value.
  4771  func (s *InitiateLayerUploadInput) SetRepositoryName(v string) *InitiateLayerUploadInput {
  4772  	s.RepositoryName = &v
  4773  	return s
  4774  }
  4775  
  4776  type InitiateLayerUploadOutput struct {
  4777  	_ struct{} `type:"structure"`
  4778  
  4779  	// The size, in bytes, that Amazon ECR expects future layer part uploads to
  4780  	// be.
  4781  	PartSize *int64 `locationName:"partSize" type:"long"`
  4782  
  4783  	// The upload ID for the layer upload. This parameter is passed to further UploadLayerPart
  4784  	// and CompleteLayerUpload operations.
  4785  	UploadId *string `locationName:"uploadId" type:"string"`
  4786  }
  4787  
  4788  // String returns the string representation.
  4789  //
  4790  // API parameter values that are decorated as "sensitive" in the API will not
  4791  // be included in the string output. The member name will be present, but the
  4792  // value will be replaced with "sensitive".
  4793  func (s InitiateLayerUploadOutput) String() string {
  4794  	return awsutil.Prettify(s)
  4795  }
  4796  
  4797  // GoString returns the string representation.
  4798  //
  4799  // API parameter values that are decorated as "sensitive" in the API will not
  4800  // be included in the string output. The member name will be present, but the
  4801  // value will be replaced with "sensitive".
  4802  func (s InitiateLayerUploadOutput) GoString() string {
  4803  	return s.String()
  4804  }
  4805  
  4806  // SetPartSize sets the PartSize field's value.
  4807  func (s *InitiateLayerUploadOutput) SetPartSize(v int64) *InitiateLayerUploadOutput {
  4808  	s.PartSize = &v
  4809  	return s
  4810  }
  4811  
  4812  // SetUploadId sets the UploadId field's value.
  4813  func (s *InitiateLayerUploadOutput) SetUploadId(v string) *InitiateLayerUploadOutput {
  4814  	s.UploadId = &v
  4815  	return s
  4816  }
  4817  
  4818  // The layer digest calculation performed by Amazon ECR upon receipt of the
  4819  // image layer does not match the digest specified.
  4820  type InvalidLayerException struct {
  4821  	_            struct{}                  `type:"structure"`
  4822  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4823  
  4824  	Message_ *string `locationName:"message" type:"string"`
  4825  }
  4826  
  4827  // String returns the string representation.
  4828  //
  4829  // API parameter values that are decorated as "sensitive" in the API will not
  4830  // be included in the string output. The member name will be present, but the
  4831  // value will be replaced with "sensitive".
  4832  func (s InvalidLayerException) String() string {
  4833  	return awsutil.Prettify(s)
  4834  }
  4835  
  4836  // GoString returns the string representation.
  4837  //
  4838  // API parameter values that are decorated as "sensitive" in the API will not
  4839  // be included in the string output. The member name will be present, but the
  4840  // value will be replaced with "sensitive".
  4841  func (s InvalidLayerException) GoString() string {
  4842  	return s.String()
  4843  }
  4844  
  4845  func newErrorInvalidLayerException(v protocol.ResponseMetadata) error {
  4846  	return &InvalidLayerException{
  4847  		RespMetadata: v,
  4848  	}
  4849  }
  4850  
  4851  // Code returns the exception type name.
  4852  func (s *InvalidLayerException) Code() string {
  4853  	return "InvalidLayerException"
  4854  }
  4855  
  4856  // Message returns the exception's message.
  4857  func (s *InvalidLayerException) Message() string {
  4858  	if s.Message_ != nil {
  4859  		return *s.Message_
  4860  	}
  4861  	return ""
  4862  }
  4863  
  4864  // OrigErr always returns nil, satisfies awserr.Error interface.
  4865  func (s *InvalidLayerException) OrigErr() error {
  4866  	return nil
  4867  }
  4868  
  4869  func (s *InvalidLayerException) Error() string {
  4870  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4871  }
  4872  
  4873  // Status code returns the HTTP status code for the request's response error.
  4874  func (s *InvalidLayerException) StatusCode() int {
  4875  	return s.RespMetadata.StatusCode
  4876  }
  4877  
  4878  // RequestID returns the service's response RequestID for request.
  4879  func (s *InvalidLayerException) RequestID() string {
  4880  	return s.RespMetadata.RequestID
  4881  }
  4882  
  4883  // The layer part size is not valid, or the first byte specified is not consecutive
  4884  // to the last byte of a previous layer part upload.
  4885  type InvalidLayerPartException struct {
  4886  	_            struct{}                  `type:"structure"`
  4887  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4888  
  4889  	// The position of the last byte of the layer part.
  4890  	LastValidByteReceived *int64 `locationName:"lastValidByteReceived" type:"long"`
  4891  
  4892  	Message_ *string `locationName:"message" type:"string"`
  4893  
  4894  	// The AWS account ID associated with the layer part.
  4895  	RegistryId *string `locationName:"registryId" type:"string"`
  4896  
  4897  	// The name of the repository.
  4898  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4899  
  4900  	// The upload ID associated with the layer part.
  4901  	UploadId *string `locationName:"uploadId" type:"string"`
  4902  }
  4903  
  4904  // String returns the string representation.
  4905  //
  4906  // API parameter values that are decorated as "sensitive" in the API will not
  4907  // be included in the string output. The member name will be present, but the
  4908  // value will be replaced with "sensitive".
  4909  func (s InvalidLayerPartException) String() string {
  4910  	return awsutil.Prettify(s)
  4911  }
  4912  
  4913  // GoString returns the string representation.
  4914  //
  4915  // API parameter values that are decorated as "sensitive" in the API will not
  4916  // be included in the string output. The member name will be present, but the
  4917  // value will be replaced with "sensitive".
  4918  func (s InvalidLayerPartException) GoString() string {
  4919  	return s.String()
  4920  }
  4921  
  4922  func newErrorInvalidLayerPartException(v protocol.ResponseMetadata) error {
  4923  	return &InvalidLayerPartException{
  4924  		RespMetadata: v,
  4925  	}
  4926  }
  4927  
  4928  // Code returns the exception type name.
  4929  func (s *InvalidLayerPartException) Code() string {
  4930  	return "InvalidLayerPartException"
  4931  }
  4932  
  4933  // Message returns the exception's message.
  4934  func (s *InvalidLayerPartException) Message() string {
  4935  	if s.Message_ != nil {
  4936  		return *s.Message_
  4937  	}
  4938  	return ""
  4939  }
  4940  
  4941  // OrigErr always returns nil, satisfies awserr.Error interface.
  4942  func (s *InvalidLayerPartException) OrigErr() error {
  4943  	return nil
  4944  }
  4945  
  4946  func (s *InvalidLayerPartException) Error() string {
  4947  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4948  }
  4949  
  4950  // Status code returns the HTTP status code for the request's response error.
  4951  func (s *InvalidLayerPartException) StatusCode() int {
  4952  	return s.RespMetadata.StatusCode
  4953  }
  4954  
  4955  // RequestID returns the service's response RequestID for request.
  4956  func (s *InvalidLayerPartException) RequestID() string {
  4957  	return s.RespMetadata.RequestID
  4958  }
  4959  
  4960  // The specified parameter is invalid. Review the available parameters for the
  4961  // API request.
  4962  type InvalidParameterException struct {
  4963  	_            struct{}                  `type:"structure"`
  4964  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4965  
  4966  	Message_ *string `locationName:"message" type:"string"`
  4967  }
  4968  
  4969  // String returns the string representation.
  4970  //
  4971  // API parameter values that are decorated as "sensitive" in the API will not
  4972  // be included in the string output. The member name will be present, but the
  4973  // value will be replaced with "sensitive".
  4974  func (s InvalidParameterException) String() string {
  4975  	return awsutil.Prettify(s)
  4976  }
  4977  
  4978  // GoString returns the string representation.
  4979  //
  4980  // API parameter values that are decorated as "sensitive" in the API will not
  4981  // be included in the string output. The member name will be present, but the
  4982  // value will be replaced with "sensitive".
  4983  func (s InvalidParameterException) GoString() string {
  4984  	return s.String()
  4985  }
  4986  
  4987  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
  4988  	return &InvalidParameterException{
  4989  		RespMetadata: v,
  4990  	}
  4991  }
  4992  
  4993  // Code returns the exception type name.
  4994  func (s *InvalidParameterException) Code() string {
  4995  	return "InvalidParameterException"
  4996  }
  4997  
  4998  // Message returns the exception's message.
  4999  func (s *InvalidParameterException) Message() string {
  5000  	if s.Message_ != nil {
  5001  		return *s.Message_
  5002  	}
  5003  	return ""
  5004  }
  5005  
  5006  // OrigErr always returns nil, satisfies awserr.Error interface.
  5007  func (s *InvalidParameterException) OrigErr() error {
  5008  	return nil
  5009  }
  5010  
  5011  func (s *InvalidParameterException) Error() string {
  5012  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5013  }
  5014  
  5015  // Status code returns the HTTP status code for the request's response error.
  5016  func (s *InvalidParameterException) StatusCode() int {
  5017  	return s.RespMetadata.StatusCode
  5018  }
  5019  
  5020  // RequestID returns the service's response RequestID for request.
  5021  func (s *InvalidParameterException) RequestID() string {
  5022  	return s.RespMetadata.RequestID
  5023  }
  5024  
  5025  // An invalid parameter has been specified. Tag keys can have a maximum character
  5026  // length of 128 characters, and tag values can have a maximum length of 256
  5027  // characters.
  5028  type InvalidTagParameterException struct {
  5029  	_            struct{}                  `type:"structure"`
  5030  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5031  
  5032  	Message_ *string `locationName:"message" type:"string"`
  5033  }
  5034  
  5035  // String returns the string representation.
  5036  //
  5037  // API parameter values that are decorated as "sensitive" in the API will not
  5038  // be included in the string output. The member name will be present, but the
  5039  // value will be replaced with "sensitive".
  5040  func (s InvalidTagParameterException) String() string {
  5041  	return awsutil.Prettify(s)
  5042  }
  5043  
  5044  // GoString returns the string representation.
  5045  //
  5046  // API parameter values that are decorated as "sensitive" in the API will not
  5047  // be included in the string output. The member name will be present, but the
  5048  // value will be replaced with "sensitive".
  5049  func (s InvalidTagParameterException) GoString() string {
  5050  	return s.String()
  5051  }
  5052  
  5053  func newErrorInvalidTagParameterException(v protocol.ResponseMetadata) error {
  5054  	return &InvalidTagParameterException{
  5055  		RespMetadata: v,
  5056  	}
  5057  }
  5058  
  5059  // Code returns the exception type name.
  5060  func (s *InvalidTagParameterException) Code() string {
  5061  	return "InvalidTagParameterException"
  5062  }
  5063  
  5064  // Message returns the exception's message.
  5065  func (s *InvalidTagParameterException) Message() string {
  5066  	if s.Message_ != nil {
  5067  		return *s.Message_
  5068  	}
  5069  	return ""
  5070  }
  5071  
  5072  // OrigErr always returns nil, satisfies awserr.Error interface.
  5073  func (s *InvalidTagParameterException) OrigErr() error {
  5074  	return nil
  5075  }
  5076  
  5077  func (s *InvalidTagParameterException) Error() string {
  5078  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5079  }
  5080  
  5081  // Status code returns the HTTP status code for the request's response error.
  5082  func (s *InvalidTagParameterException) StatusCode() int {
  5083  	return s.RespMetadata.StatusCode
  5084  }
  5085  
  5086  // RequestID returns the service's response RequestID for request.
  5087  func (s *InvalidTagParameterException) RequestID() string {
  5088  	return s.RespMetadata.RequestID
  5089  }
  5090  
  5091  // An object representing an Amazon ECR image layer.
  5092  type Layer struct {
  5093  	_ struct{} `type:"structure"`
  5094  
  5095  	// The availability status of the image layer.
  5096  	LayerAvailability *string `locationName:"layerAvailability" type:"string" enum:"LayerAvailability"`
  5097  
  5098  	// The sha256 digest of the image layer.
  5099  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  5100  
  5101  	// The size, in bytes, of the image layer.
  5102  	LayerSize *int64 `locationName:"layerSize" type:"long"`
  5103  
  5104  	// The media type of the layer, such as application/vnd.docker.image.rootfs.diff.tar.gzip
  5105  	// or application/vnd.oci.image.layer.v1.tar+gzip.
  5106  	MediaType *string `locationName:"mediaType" type:"string"`
  5107  }
  5108  
  5109  // String returns the string representation.
  5110  //
  5111  // API parameter values that are decorated as "sensitive" in the API will not
  5112  // be included in the string output. The member name will be present, but the
  5113  // value will be replaced with "sensitive".
  5114  func (s Layer) String() string {
  5115  	return awsutil.Prettify(s)
  5116  }
  5117  
  5118  // GoString returns the string representation.
  5119  //
  5120  // API parameter values that are decorated as "sensitive" in the API will not
  5121  // be included in the string output. The member name will be present, but the
  5122  // value will be replaced with "sensitive".
  5123  func (s Layer) GoString() string {
  5124  	return s.String()
  5125  }
  5126  
  5127  // SetLayerAvailability sets the LayerAvailability field's value.
  5128  func (s *Layer) SetLayerAvailability(v string) *Layer {
  5129  	s.LayerAvailability = &v
  5130  	return s
  5131  }
  5132  
  5133  // SetLayerDigest sets the LayerDigest field's value.
  5134  func (s *Layer) SetLayerDigest(v string) *Layer {
  5135  	s.LayerDigest = &v
  5136  	return s
  5137  }
  5138  
  5139  // SetLayerSize sets the LayerSize field's value.
  5140  func (s *Layer) SetLayerSize(v int64) *Layer {
  5141  	s.LayerSize = &v
  5142  	return s
  5143  }
  5144  
  5145  // SetMediaType sets the MediaType field's value.
  5146  func (s *Layer) SetMediaType(v string) *Layer {
  5147  	s.MediaType = &v
  5148  	return s
  5149  }
  5150  
  5151  // The image layer already exists in the associated repository.
  5152  type LayerAlreadyExistsException struct {
  5153  	_            struct{}                  `type:"structure"`
  5154  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5155  
  5156  	Message_ *string `locationName:"message" type:"string"`
  5157  }
  5158  
  5159  // String returns the string representation.
  5160  //
  5161  // API parameter values that are decorated as "sensitive" in the API will not
  5162  // be included in the string output. The member name will be present, but the
  5163  // value will be replaced with "sensitive".
  5164  func (s LayerAlreadyExistsException) String() string {
  5165  	return awsutil.Prettify(s)
  5166  }
  5167  
  5168  // GoString returns the string representation.
  5169  //
  5170  // API parameter values that are decorated as "sensitive" in the API will not
  5171  // be included in the string output. The member name will be present, but the
  5172  // value will be replaced with "sensitive".
  5173  func (s LayerAlreadyExistsException) GoString() string {
  5174  	return s.String()
  5175  }
  5176  
  5177  func newErrorLayerAlreadyExistsException(v protocol.ResponseMetadata) error {
  5178  	return &LayerAlreadyExistsException{
  5179  		RespMetadata: v,
  5180  	}
  5181  }
  5182  
  5183  // Code returns the exception type name.
  5184  func (s *LayerAlreadyExistsException) Code() string {
  5185  	return "LayerAlreadyExistsException"
  5186  }
  5187  
  5188  // Message returns the exception's message.
  5189  func (s *LayerAlreadyExistsException) Message() string {
  5190  	if s.Message_ != nil {
  5191  		return *s.Message_
  5192  	}
  5193  	return ""
  5194  }
  5195  
  5196  // OrigErr always returns nil, satisfies awserr.Error interface.
  5197  func (s *LayerAlreadyExistsException) OrigErr() error {
  5198  	return nil
  5199  }
  5200  
  5201  func (s *LayerAlreadyExistsException) Error() string {
  5202  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5203  }
  5204  
  5205  // Status code returns the HTTP status code for the request's response error.
  5206  func (s *LayerAlreadyExistsException) StatusCode() int {
  5207  	return s.RespMetadata.StatusCode
  5208  }
  5209  
  5210  // RequestID returns the service's response RequestID for request.
  5211  func (s *LayerAlreadyExistsException) RequestID() string {
  5212  	return s.RespMetadata.RequestID
  5213  }
  5214  
  5215  // An object representing an Amazon ECR image layer failure.
  5216  type LayerFailure struct {
  5217  	_ struct{} `type:"structure"`
  5218  
  5219  	// The failure code associated with the failure.
  5220  	FailureCode *string `locationName:"failureCode" type:"string" enum:"LayerFailureCode"`
  5221  
  5222  	// The reason for the failure.
  5223  	FailureReason *string `locationName:"failureReason" type:"string"`
  5224  
  5225  	// The layer digest associated with the failure.
  5226  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  5227  }
  5228  
  5229  // String returns the string representation.
  5230  //
  5231  // API parameter values that are decorated as "sensitive" in the API will not
  5232  // be included in the string output. The member name will be present, but the
  5233  // value will be replaced with "sensitive".
  5234  func (s LayerFailure) String() string {
  5235  	return awsutil.Prettify(s)
  5236  }
  5237  
  5238  // GoString returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s LayerFailure) GoString() string {
  5244  	return s.String()
  5245  }
  5246  
  5247  // SetFailureCode sets the FailureCode field's value.
  5248  func (s *LayerFailure) SetFailureCode(v string) *LayerFailure {
  5249  	s.FailureCode = &v
  5250  	return s
  5251  }
  5252  
  5253  // SetFailureReason sets the FailureReason field's value.
  5254  func (s *LayerFailure) SetFailureReason(v string) *LayerFailure {
  5255  	s.FailureReason = &v
  5256  	return s
  5257  }
  5258  
  5259  // SetLayerDigest sets the LayerDigest field's value.
  5260  func (s *LayerFailure) SetLayerDigest(v string) *LayerFailure {
  5261  	s.LayerDigest = &v
  5262  	return s
  5263  }
  5264  
  5265  // Layer parts must be at least 5 MiB in size.
  5266  type LayerPartTooSmallException struct {
  5267  	_            struct{}                  `type:"structure"`
  5268  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5269  
  5270  	Message_ *string `locationName:"message" type:"string"`
  5271  }
  5272  
  5273  // String returns the string representation.
  5274  //
  5275  // API parameter values that are decorated as "sensitive" in the API will not
  5276  // be included in the string output. The member name will be present, but the
  5277  // value will be replaced with "sensitive".
  5278  func (s LayerPartTooSmallException) String() string {
  5279  	return awsutil.Prettify(s)
  5280  }
  5281  
  5282  // GoString returns the string representation.
  5283  //
  5284  // API parameter values that are decorated as "sensitive" in the API will not
  5285  // be included in the string output. The member name will be present, but the
  5286  // value will be replaced with "sensitive".
  5287  func (s LayerPartTooSmallException) GoString() string {
  5288  	return s.String()
  5289  }
  5290  
  5291  func newErrorLayerPartTooSmallException(v protocol.ResponseMetadata) error {
  5292  	return &LayerPartTooSmallException{
  5293  		RespMetadata: v,
  5294  	}
  5295  }
  5296  
  5297  // Code returns the exception type name.
  5298  func (s *LayerPartTooSmallException) Code() string {
  5299  	return "LayerPartTooSmallException"
  5300  }
  5301  
  5302  // Message returns the exception's message.
  5303  func (s *LayerPartTooSmallException) Message() string {
  5304  	if s.Message_ != nil {
  5305  		return *s.Message_
  5306  	}
  5307  	return ""
  5308  }
  5309  
  5310  // OrigErr always returns nil, satisfies awserr.Error interface.
  5311  func (s *LayerPartTooSmallException) OrigErr() error {
  5312  	return nil
  5313  }
  5314  
  5315  func (s *LayerPartTooSmallException) Error() string {
  5316  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5317  }
  5318  
  5319  // Status code returns the HTTP status code for the request's response error.
  5320  func (s *LayerPartTooSmallException) StatusCode() int {
  5321  	return s.RespMetadata.StatusCode
  5322  }
  5323  
  5324  // RequestID returns the service's response RequestID for request.
  5325  func (s *LayerPartTooSmallException) RequestID() string {
  5326  	return s.RespMetadata.RequestID
  5327  }
  5328  
  5329  // The specified layers could not be found, or the specified layer is not valid
  5330  // for this repository.
  5331  type LayersNotFoundException struct {
  5332  	_            struct{}                  `type:"structure"`
  5333  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5334  
  5335  	Message_ *string `locationName:"message" type:"string"`
  5336  }
  5337  
  5338  // String returns the string representation.
  5339  //
  5340  // API parameter values that are decorated as "sensitive" in the API will not
  5341  // be included in the string output. The member name will be present, but the
  5342  // value will be replaced with "sensitive".
  5343  func (s LayersNotFoundException) String() string {
  5344  	return awsutil.Prettify(s)
  5345  }
  5346  
  5347  // GoString returns the string representation.
  5348  //
  5349  // API parameter values that are decorated as "sensitive" in the API will not
  5350  // be included in the string output. The member name will be present, but the
  5351  // value will be replaced with "sensitive".
  5352  func (s LayersNotFoundException) GoString() string {
  5353  	return s.String()
  5354  }
  5355  
  5356  func newErrorLayersNotFoundException(v protocol.ResponseMetadata) error {
  5357  	return &LayersNotFoundException{
  5358  		RespMetadata: v,
  5359  	}
  5360  }
  5361  
  5362  // Code returns the exception type name.
  5363  func (s *LayersNotFoundException) Code() string {
  5364  	return "LayersNotFoundException"
  5365  }
  5366  
  5367  // Message returns the exception's message.
  5368  func (s *LayersNotFoundException) Message() string {
  5369  	if s.Message_ != nil {
  5370  		return *s.Message_
  5371  	}
  5372  	return ""
  5373  }
  5374  
  5375  // OrigErr always returns nil, satisfies awserr.Error interface.
  5376  func (s *LayersNotFoundException) OrigErr() error {
  5377  	return nil
  5378  }
  5379  
  5380  func (s *LayersNotFoundException) Error() string {
  5381  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5382  }
  5383  
  5384  // Status code returns the HTTP status code for the request's response error.
  5385  func (s *LayersNotFoundException) StatusCode() int {
  5386  	return s.RespMetadata.StatusCode
  5387  }
  5388  
  5389  // RequestID returns the service's response RequestID for request.
  5390  func (s *LayersNotFoundException) RequestID() string {
  5391  	return s.RespMetadata.RequestID
  5392  }
  5393  
  5394  // The operation did not succeed because it would have exceeded a service limit
  5395  // for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  5396  // in the Amazon Elastic Container Registry User Guide.
  5397  type LimitExceededException struct {
  5398  	_            struct{}                  `type:"structure"`
  5399  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5400  
  5401  	Message_ *string `locationName:"message" type:"string"`
  5402  }
  5403  
  5404  // String returns the string representation.
  5405  //
  5406  // API parameter values that are decorated as "sensitive" in the API will not
  5407  // be included in the string output. The member name will be present, but the
  5408  // value will be replaced with "sensitive".
  5409  func (s LimitExceededException) String() string {
  5410  	return awsutil.Prettify(s)
  5411  }
  5412  
  5413  // GoString returns the string representation.
  5414  //
  5415  // API parameter values that are decorated as "sensitive" in the API will not
  5416  // be included in the string output. The member name will be present, but the
  5417  // value will be replaced with "sensitive".
  5418  func (s LimitExceededException) GoString() string {
  5419  	return s.String()
  5420  }
  5421  
  5422  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  5423  	return &LimitExceededException{
  5424  		RespMetadata: v,
  5425  	}
  5426  }
  5427  
  5428  // Code returns the exception type name.
  5429  func (s *LimitExceededException) Code() string {
  5430  	return "LimitExceededException"
  5431  }
  5432  
  5433  // Message returns the exception's message.
  5434  func (s *LimitExceededException) Message() string {
  5435  	if s.Message_ != nil {
  5436  		return *s.Message_
  5437  	}
  5438  	return ""
  5439  }
  5440  
  5441  // OrigErr always returns nil, satisfies awserr.Error interface.
  5442  func (s *LimitExceededException) OrigErr() error {
  5443  	return nil
  5444  }
  5445  
  5446  func (s *LimitExceededException) Error() string {
  5447  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5448  }
  5449  
  5450  // Status code returns the HTTP status code for the request's response error.
  5451  func (s *LimitExceededException) StatusCode() int {
  5452  	return s.RespMetadata.StatusCode
  5453  }
  5454  
  5455  // RequestID returns the service's response RequestID for request.
  5456  func (s *LimitExceededException) RequestID() string {
  5457  	return s.RespMetadata.RequestID
  5458  }
  5459  
  5460  type ListTagsForResourceInput struct {
  5461  	_ struct{} `type:"structure"`
  5462  
  5463  	// The Amazon Resource Name (ARN) that identifies the resource for which to
  5464  	// list the tags. Currently, the supported resource is an Amazon ECR Public
  5465  	// repository.
  5466  	//
  5467  	// ResourceArn is a required field
  5468  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  5469  }
  5470  
  5471  // String returns the string representation.
  5472  //
  5473  // API parameter values that are decorated as "sensitive" in the API will not
  5474  // be included in the string output. The member name will be present, but the
  5475  // value will be replaced with "sensitive".
  5476  func (s ListTagsForResourceInput) String() string {
  5477  	return awsutil.Prettify(s)
  5478  }
  5479  
  5480  // GoString returns the string representation.
  5481  //
  5482  // API parameter values that are decorated as "sensitive" in the API will not
  5483  // be included in the string output. The member name will be present, but the
  5484  // value will be replaced with "sensitive".
  5485  func (s ListTagsForResourceInput) GoString() string {
  5486  	return s.String()
  5487  }
  5488  
  5489  // Validate inspects the fields of the type to determine if they are valid.
  5490  func (s *ListTagsForResourceInput) Validate() error {
  5491  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  5492  	if s.ResourceArn == nil {
  5493  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  5494  	}
  5495  
  5496  	if invalidParams.Len() > 0 {
  5497  		return invalidParams
  5498  	}
  5499  	return nil
  5500  }
  5501  
  5502  // SetResourceArn sets the ResourceArn field's value.
  5503  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  5504  	s.ResourceArn = &v
  5505  	return s
  5506  }
  5507  
  5508  type ListTagsForResourceOutput struct {
  5509  	_ struct{} `type:"structure"`
  5510  
  5511  	// The tags for the resource.
  5512  	Tags []*Tag `locationName:"tags" type:"list"`
  5513  }
  5514  
  5515  // String returns the string representation.
  5516  //
  5517  // API parameter values that are decorated as "sensitive" in the API will not
  5518  // be included in the string output. The member name will be present, but the
  5519  // value will be replaced with "sensitive".
  5520  func (s ListTagsForResourceOutput) String() string {
  5521  	return awsutil.Prettify(s)
  5522  }
  5523  
  5524  // GoString returns the string representation.
  5525  //
  5526  // API parameter values that are decorated as "sensitive" in the API will not
  5527  // be included in the string output. The member name will be present, but the
  5528  // value will be replaced with "sensitive".
  5529  func (s ListTagsForResourceOutput) GoString() string {
  5530  	return s.String()
  5531  }
  5532  
  5533  // SetTags sets the Tags field's value.
  5534  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  5535  	s.Tags = v
  5536  	return s
  5537  }
  5538  
  5539  type PutImageInput struct {
  5540  	_ struct{} `type:"structure"`
  5541  
  5542  	// The image digest of the image manifest corresponding to the image.
  5543  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  5544  
  5545  	// The image manifest corresponding to the image to be uploaded.
  5546  	//
  5547  	// ImageManifest is a required field
  5548  	ImageManifest *string `locationName:"imageManifest" min:"1" type:"string" required:"true"`
  5549  
  5550  	// The media type of the image manifest. If you push an image manifest that
  5551  	// does not contain the mediaType field, you must specify the imageManifestMediaType
  5552  	// in the request.
  5553  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  5554  
  5555  	// The tag to associate with the image. This parameter is required for images
  5556  	// that use the Docker Image Manifest V2 Schema 2 or Open Container Initiative
  5557  	// (OCI) formats.
  5558  	ImageTag *string `locationName:"imageTag" min:"1" type:"string"`
  5559  
  5560  	// The AWS account ID associated with the public registry that contains the
  5561  	// repository in which to put the image. If you do not specify a registry, the
  5562  	// default public registry is assumed.
  5563  	RegistryId *string `locationName:"registryId" min:"1" type:"string"`
  5564  
  5565  	// The name of the repository in which to put the image.
  5566  	//
  5567  	// RepositoryName is a required field
  5568  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  5569  }
  5570  
  5571  // String returns the string representation.
  5572  //
  5573  // API parameter values that are decorated as "sensitive" in the API will not
  5574  // be included in the string output. The member name will be present, but the
  5575  // value will be replaced with "sensitive".
  5576  func (s PutImageInput) String() string {
  5577  	return awsutil.Prettify(s)
  5578  }
  5579  
  5580  // GoString returns the string representation.
  5581  //
  5582  // API parameter values that are decorated as "sensitive" in the API will not
  5583  // be included in the string output. The member name will be present, but the
  5584  // value will be replaced with "sensitive".
  5585  func (s PutImageInput) GoString() string {
  5586  	return s.String()
  5587  }
  5588  
  5589  // Validate inspects the fields of the type to determine if they are valid.
  5590  func (s *PutImageInput) Validate() error {
  5591  	invalidParams := request.ErrInvalidParams{Context: "PutImageInput"}
  5592  	if s.ImageManifest == nil {
  5593  		invalidParams.Add(request.NewErrParamRequired("ImageManifest"))
  5594  	}
  5595  	if s.ImageManifest != nil && len(*s.ImageManifest) < 1 {
  5596  		invalidParams.Add(request.NewErrParamMinLen("ImageManifest", 1))
  5597  	}
  5598  	if s.ImageTag != nil && len(*s.ImageTag) < 1 {
  5599  		invalidParams.Add(request.NewErrParamMinLen("ImageTag", 1))
  5600  	}
  5601  	if s.RegistryId != nil && len(*s.RegistryId) < 1 {
  5602  		invalidParams.Add(request.NewErrParamMinLen("RegistryId", 1))
  5603  	}
  5604  	if s.RepositoryName == nil {
  5605  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  5606  	}
  5607  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  5608  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  5609  	}
  5610  
  5611  	if invalidParams.Len() > 0 {
  5612  		return invalidParams
  5613  	}
  5614  	return nil
  5615  }
  5616  
  5617  // SetImageDigest sets the ImageDigest field's value.
  5618  func (s *PutImageInput) SetImageDigest(v string) *PutImageInput {
  5619  	s.ImageDigest = &v
  5620  	return s
  5621  }
  5622  
  5623  // SetImageManifest sets the ImageManifest field's value.
  5624  func (s *PutImageInput) SetImageManifest(v string) *PutImageInput {
  5625  	s.ImageManifest = &v
  5626  	return s
  5627  }
  5628  
  5629  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  5630  func (s *PutImageInput) SetImageManifestMediaType(v string) *PutImageInput {
  5631  	s.ImageManifestMediaType = &v
  5632  	return s
  5633  }
  5634  
  5635  // SetImageTag sets the ImageTag field's value.
  5636  func (s *PutImageInput) SetImageTag(v string) *PutImageInput {
  5637  	s.ImageTag = &v
  5638  	return s
  5639  }
  5640  
  5641  // SetRegistryId sets the RegistryId field's value.
  5642  func (s *PutImageInput) SetRegistryId(v string) *PutImageInput {
  5643  	s.RegistryId = &v
  5644  	return s
  5645  }
  5646  
  5647  // SetRepositoryName sets the RepositoryName field's value.
  5648  func (s *PutImageInput) SetRepositoryName(v string) *PutImageInput {
  5649  	s.RepositoryName = &v
  5650  	return s
  5651  }
  5652  
  5653  type PutImageOutput struct {
  5654  	_ struct{} `type:"structure"`
  5655  
  5656  	// Details of the image uploaded.
  5657  	Image *Image `locationName:"image" type:"structure"`
  5658  }
  5659  
  5660  // String returns the string representation.
  5661  //
  5662  // API parameter values that are decorated as "sensitive" in the API will not
  5663  // be included in the string output. The member name will be present, but the
  5664  // value will be replaced with "sensitive".
  5665  func (s PutImageOutput) String() string {
  5666  	return awsutil.Prettify(s)
  5667  }
  5668  
  5669  // GoString returns the string representation.
  5670  //
  5671  // API parameter values that are decorated as "sensitive" in the API will not
  5672  // be included in the string output. The member name will be present, but the
  5673  // value will be replaced with "sensitive".
  5674  func (s PutImageOutput) GoString() string {
  5675  	return s.String()
  5676  }
  5677  
  5678  // SetImage sets the Image field's value.
  5679  func (s *PutImageOutput) SetImage(v *Image) *PutImageOutput {
  5680  	s.Image = v
  5681  	return s
  5682  }
  5683  
  5684  type PutRegistryCatalogDataInput struct {
  5685  	_ struct{} `type:"structure"`
  5686  
  5687  	// The display name for a public registry. The display name is shown as the
  5688  	// repository author in the Amazon ECR Public Gallery.
  5689  	//
  5690  	// The registry display name is only publicly visible in the Amazon ECR Public
  5691  	// Gallery for verified accounts.
  5692  	DisplayName *string `locationName:"displayName" type:"string"`
  5693  }
  5694  
  5695  // String returns the string representation.
  5696  //
  5697  // API parameter values that are decorated as "sensitive" in the API will not
  5698  // be included in the string output. The member name will be present, but the
  5699  // value will be replaced with "sensitive".
  5700  func (s PutRegistryCatalogDataInput) String() string {
  5701  	return awsutil.Prettify(s)
  5702  }
  5703  
  5704  // GoString returns the string representation.
  5705  //
  5706  // API parameter values that are decorated as "sensitive" in the API will not
  5707  // be included in the string output. The member name will be present, but the
  5708  // value will be replaced with "sensitive".
  5709  func (s PutRegistryCatalogDataInput) GoString() string {
  5710  	return s.String()
  5711  }
  5712  
  5713  // SetDisplayName sets the DisplayName field's value.
  5714  func (s *PutRegistryCatalogDataInput) SetDisplayName(v string) *PutRegistryCatalogDataInput {
  5715  	s.DisplayName = &v
  5716  	return s
  5717  }
  5718  
  5719  type PutRegistryCatalogDataOutput struct {
  5720  	_ struct{} `type:"structure"`
  5721  
  5722  	// The catalog data for the public registry.
  5723  	//
  5724  	// RegistryCatalogData is a required field
  5725  	RegistryCatalogData *RegistryCatalogData `locationName:"registryCatalogData" type:"structure" required:"true"`
  5726  }
  5727  
  5728  // String returns the string representation.
  5729  //
  5730  // API parameter values that are decorated as "sensitive" in the API will not
  5731  // be included in the string output. The member name will be present, but the
  5732  // value will be replaced with "sensitive".
  5733  func (s PutRegistryCatalogDataOutput) String() string {
  5734  	return awsutil.Prettify(s)
  5735  }
  5736  
  5737  // GoString returns the string representation.
  5738  //
  5739  // API parameter values that are decorated as "sensitive" in the API will not
  5740  // be included in the string output. The member name will be present, but the
  5741  // value will be replaced with "sensitive".
  5742  func (s PutRegistryCatalogDataOutput) GoString() string {
  5743  	return s.String()
  5744  }
  5745  
  5746  // SetRegistryCatalogData sets the RegistryCatalogData field's value.
  5747  func (s *PutRegistryCatalogDataOutput) SetRegistryCatalogData(v *RegistryCatalogData) *PutRegistryCatalogDataOutput {
  5748  	s.RegistryCatalogData = v
  5749  	return s
  5750  }
  5751  
  5752  type PutRepositoryCatalogDataInput struct {
  5753  	_ struct{} `type:"structure"`
  5754  
  5755  	// An object containing the catalog data for a repository. This data is publicly
  5756  	// visible in the Amazon ECR Public Gallery.
  5757  	//
  5758  	// CatalogData is a required field
  5759  	CatalogData *RepositoryCatalogDataInput `locationName:"catalogData" type:"structure" required:"true"`
  5760  
  5761  	// The AWS account ID associated with the public registry the repository is
  5762  	// in. If you do not specify a registry, the default public registry is assumed.
  5763  	RegistryId *string `locationName:"registryId" type:"string"`
  5764  
  5765  	// The name of the repository to create or update the catalog data for.
  5766  	//
  5767  	// RepositoryName is a required field
  5768  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  5769  }
  5770  
  5771  // String returns the string representation.
  5772  //
  5773  // API parameter values that are decorated as "sensitive" in the API will not
  5774  // be included in the string output. The member name will be present, but the
  5775  // value will be replaced with "sensitive".
  5776  func (s PutRepositoryCatalogDataInput) String() string {
  5777  	return awsutil.Prettify(s)
  5778  }
  5779  
  5780  // GoString returns the string representation.
  5781  //
  5782  // API parameter values that are decorated as "sensitive" in the API will not
  5783  // be included in the string output. The member name will be present, but the
  5784  // value will be replaced with "sensitive".
  5785  func (s PutRepositoryCatalogDataInput) GoString() string {
  5786  	return s.String()
  5787  }
  5788  
  5789  // Validate inspects the fields of the type to determine if they are valid.
  5790  func (s *PutRepositoryCatalogDataInput) Validate() error {
  5791  	invalidParams := request.ErrInvalidParams{Context: "PutRepositoryCatalogDataInput"}
  5792  	if s.CatalogData == nil {
  5793  		invalidParams.Add(request.NewErrParamRequired("CatalogData"))
  5794  	}
  5795  	if s.RepositoryName == nil {
  5796  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  5797  	}
  5798  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  5799  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  5800  	}
  5801  
  5802  	if invalidParams.Len() > 0 {
  5803  		return invalidParams
  5804  	}
  5805  	return nil
  5806  }
  5807  
  5808  // SetCatalogData sets the CatalogData field's value.
  5809  func (s *PutRepositoryCatalogDataInput) SetCatalogData(v *RepositoryCatalogDataInput) *PutRepositoryCatalogDataInput {
  5810  	s.CatalogData = v
  5811  	return s
  5812  }
  5813  
  5814  // SetRegistryId sets the RegistryId field's value.
  5815  func (s *PutRepositoryCatalogDataInput) SetRegistryId(v string) *PutRepositoryCatalogDataInput {
  5816  	s.RegistryId = &v
  5817  	return s
  5818  }
  5819  
  5820  // SetRepositoryName sets the RepositoryName field's value.
  5821  func (s *PutRepositoryCatalogDataInput) SetRepositoryName(v string) *PutRepositoryCatalogDataInput {
  5822  	s.RepositoryName = &v
  5823  	return s
  5824  }
  5825  
  5826  type PutRepositoryCatalogDataOutput struct {
  5827  	_ struct{} `type:"structure"`
  5828  
  5829  	// The catalog data for the repository.
  5830  	CatalogData *RepositoryCatalogData `locationName:"catalogData" type:"structure"`
  5831  }
  5832  
  5833  // String returns the string representation.
  5834  //
  5835  // API parameter values that are decorated as "sensitive" in the API will not
  5836  // be included in the string output. The member name will be present, but the
  5837  // value will be replaced with "sensitive".
  5838  func (s PutRepositoryCatalogDataOutput) String() string {
  5839  	return awsutil.Prettify(s)
  5840  }
  5841  
  5842  // GoString returns the string representation.
  5843  //
  5844  // API parameter values that are decorated as "sensitive" in the API will not
  5845  // be included in the string output. The member name will be present, but the
  5846  // value will be replaced with "sensitive".
  5847  func (s PutRepositoryCatalogDataOutput) GoString() string {
  5848  	return s.String()
  5849  }
  5850  
  5851  // SetCatalogData sets the CatalogData field's value.
  5852  func (s *PutRepositoryCatalogDataOutput) SetCatalogData(v *RepositoryCatalogData) *PutRepositoryCatalogDataOutput {
  5853  	s.CatalogData = v
  5854  	return s
  5855  }
  5856  
  5857  // An object that describes the image tag details returned by a DescribeImageTags
  5858  // action.
  5859  type ReferencedImageDetail struct {
  5860  	_ struct{} `type:"structure"`
  5861  
  5862  	// The artifact media type of the image.
  5863  	ArtifactMediaType *string `locationName:"artifactMediaType" type:"string"`
  5864  
  5865  	// The sha256 digest of the image manifest.
  5866  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  5867  
  5868  	// The media type of the image manifest.
  5869  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  5870  
  5871  	// The date and time, expressed in standard JavaScript date format, at which
  5872  	// the current image tag was pushed to the repository.
  5873  	ImagePushedAt *time.Time `locationName:"imagePushedAt" type:"timestamp"`
  5874  
  5875  	// The size, in bytes, of the image in the repository.
  5876  	//
  5877  	// If the image is a manifest list, this will be the max size of all manifests
  5878  	// in the list.
  5879  	//
  5880  	// Beginning with Docker version 1.9, the Docker client compresses image layers
  5881  	// before pushing them to a V2 Docker registry. The output of the docker images
  5882  	// command shows the uncompressed image size, so it may return a larger image
  5883  	// size than the image sizes returned by DescribeImages.
  5884  	ImageSizeInBytes *int64 `locationName:"imageSizeInBytes" type:"long"`
  5885  }
  5886  
  5887  // String returns the string representation.
  5888  //
  5889  // API parameter values that are decorated as "sensitive" in the API will not
  5890  // be included in the string output. The member name will be present, but the
  5891  // value will be replaced with "sensitive".
  5892  func (s ReferencedImageDetail) String() string {
  5893  	return awsutil.Prettify(s)
  5894  }
  5895  
  5896  // GoString returns the string representation.
  5897  //
  5898  // API parameter values that are decorated as "sensitive" in the API will not
  5899  // be included in the string output. The member name will be present, but the
  5900  // value will be replaced with "sensitive".
  5901  func (s ReferencedImageDetail) GoString() string {
  5902  	return s.String()
  5903  }
  5904  
  5905  // SetArtifactMediaType sets the ArtifactMediaType field's value.
  5906  func (s *ReferencedImageDetail) SetArtifactMediaType(v string) *ReferencedImageDetail {
  5907  	s.ArtifactMediaType = &v
  5908  	return s
  5909  }
  5910  
  5911  // SetImageDigest sets the ImageDigest field's value.
  5912  func (s *ReferencedImageDetail) SetImageDigest(v string) *ReferencedImageDetail {
  5913  	s.ImageDigest = &v
  5914  	return s
  5915  }
  5916  
  5917  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  5918  func (s *ReferencedImageDetail) SetImageManifestMediaType(v string) *ReferencedImageDetail {
  5919  	s.ImageManifestMediaType = &v
  5920  	return s
  5921  }
  5922  
  5923  // SetImagePushedAt sets the ImagePushedAt field's value.
  5924  func (s *ReferencedImageDetail) SetImagePushedAt(v time.Time) *ReferencedImageDetail {
  5925  	s.ImagePushedAt = &v
  5926  	return s
  5927  }
  5928  
  5929  // SetImageSizeInBytes sets the ImageSizeInBytes field's value.
  5930  func (s *ReferencedImageDetail) SetImageSizeInBytes(v int64) *ReferencedImageDetail {
  5931  	s.ImageSizeInBytes = &v
  5932  	return s
  5933  }
  5934  
  5935  // The manifest list is referencing an image that does not exist.
  5936  type ReferencedImagesNotFoundException struct {
  5937  	_            struct{}                  `type:"structure"`
  5938  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5939  
  5940  	Message_ *string `locationName:"message" type:"string"`
  5941  }
  5942  
  5943  // String returns the string representation.
  5944  //
  5945  // API parameter values that are decorated as "sensitive" in the API will not
  5946  // be included in the string output. The member name will be present, but the
  5947  // value will be replaced with "sensitive".
  5948  func (s ReferencedImagesNotFoundException) String() string {
  5949  	return awsutil.Prettify(s)
  5950  }
  5951  
  5952  // GoString returns the string representation.
  5953  //
  5954  // API parameter values that are decorated as "sensitive" in the API will not
  5955  // be included in the string output. The member name will be present, but the
  5956  // value will be replaced with "sensitive".
  5957  func (s ReferencedImagesNotFoundException) GoString() string {
  5958  	return s.String()
  5959  }
  5960  
  5961  func newErrorReferencedImagesNotFoundException(v protocol.ResponseMetadata) error {
  5962  	return &ReferencedImagesNotFoundException{
  5963  		RespMetadata: v,
  5964  	}
  5965  }
  5966  
  5967  // Code returns the exception type name.
  5968  func (s *ReferencedImagesNotFoundException) Code() string {
  5969  	return "ReferencedImagesNotFoundException"
  5970  }
  5971  
  5972  // Message returns the exception's message.
  5973  func (s *ReferencedImagesNotFoundException) Message() string {
  5974  	if s.Message_ != nil {
  5975  		return *s.Message_
  5976  	}
  5977  	return ""
  5978  }
  5979  
  5980  // OrigErr always returns nil, satisfies awserr.Error interface.
  5981  func (s *ReferencedImagesNotFoundException) OrigErr() error {
  5982  	return nil
  5983  }
  5984  
  5985  func (s *ReferencedImagesNotFoundException) Error() string {
  5986  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5987  }
  5988  
  5989  // Status code returns the HTTP status code for the request's response error.
  5990  func (s *ReferencedImagesNotFoundException) StatusCode() int {
  5991  	return s.RespMetadata.StatusCode
  5992  }
  5993  
  5994  // RequestID returns the service's response RequestID for request.
  5995  func (s *ReferencedImagesNotFoundException) RequestID() string {
  5996  	return s.RespMetadata.RequestID
  5997  }
  5998  
  5999  // The details of a public registry.
  6000  type Registry struct {
  6001  	_ struct{} `type:"structure"`
  6002  
  6003  	// An array of objects representing the aliases for a public registry.
  6004  	//
  6005  	// Aliases is a required field
  6006  	Aliases []*RegistryAlias `locationName:"aliases" type:"list" required:"true"`
  6007  
  6008  	// The Amazon Resource Name (ARN) of the public registry.
  6009  	//
  6010  	// RegistryArn is a required field
  6011  	RegistryArn *string `locationName:"registryArn" type:"string" required:"true"`
  6012  
  6013  	// The AWS account ID associated with the registry. If you do not specify a
  6014  	// registry, the default public registry is assumed.
  6015  	//
  6016  	// RegistryId is a required field
  6017  	RegistryId *string `locationName:"registryId" type:"string" required:"true"`
  6018  
  6019  	// The URI of a public registry. The URI contains a universal prefix and the
  6020  	// registry alias.
  6021  	//
  6022  	// RegistryUri is a required field
  6023  	RegistryUri *string `locationName:"registryUri" type:"string" required:"true"`
  6024  
  6025  	// Whether the account is verified. This indicates whether the account is an
  6026  	// AWS Marketplace vendor. If an account is verified, each public repository
  6027  	// will received a verified account badge on the Amazon ECR Public Gallery.
  6028  	//
  6029  	// Verified is a required field
  6030  	Verified *bool `locationName:"verified" type:"boolean" required:"true"`
  6031  }
  6032  
  6033  // String returns the string representation.
  6034  //
  6035  // API parameter values that are decorated as "sensitive" in the API will not
  6036  // be included in the string output. The member name will be present, but the
  6037  // value will be replaced with "sensitive".
  6038  func (s Registry) String() string {
  6039  	return awsutil.Prettify(s)
  6040  }
  6041  
  6042  // GoString returns the string representation.
  6043  //
  6044  // API parameter values that are decorated as "sensitive" in the API will not
  6045  // be included in the string output. The member name will be present, but the
  6046  // value will be replaced with "sensitive".
  6047  func (s Registry) GoString() string {
  6048  	return s.String()
  6049  }
  6050  
  6051  // SetAliases sets the Aliases field's value.
  6052  func (s *Registry) SetAliases(v []*RegistryAlias) *Registry {
  6053  	s.Aliases = v
  6054  	return s
  6055  }
  6056  
  6057  // SetRegistryArn sets the RegistryArn field's value.
  6058  func (s *Registry) SetRegistryArn(v string) *Registry {
  6059  	s.RegistryArn = &v
  6060  	return s
  6061  }
  6062  
  6063  // SetRegistryId sets the RegistryId field's value.
  6064  func (s *Registry) SetRegistryId(v string) *Registry {
  6065  	s.RegistryId = &v
  6066  	return s
  6067  }
  6068  
  6069  // SetRegistryUri sets the RegistryUri field's value.
  6070  func (s *Registry) SetRegistryUri(v string) *Registry {
  6071  	s.RegistryUri = &v
  6072  	return s
  6073  }
  6074  
  6075  // SetVerified sets the Verified field's value.
  6076  func (s *Registry) SetVerified(v bool) *Registry {
  6077  	s.Verified = &v
  6078  	return s
  6079  }
  6080  
  6081  // An object representing the aliases for a public registry. A public registry
  6082  // is given an alias upon creation but a custom alias can be set using the Amazon
  6083  // ECR console. For more information, see Registries (https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html)
  6084  // in the Amazon Elastic Container Registry User Guide.
  6085  type RegistryAlias struct {
  6086  	_ struct{} `type:"structure"`
  6087  
  6088  	// Whether or not the registry alias is the default alias for the registry.
  6089  	// When the first public repository is created, your public registry is assigned
  6090  	// a default registry alias.
  6091  	//
  6092  	// DefaultRegistryAlias is a required field
  6093  	DefaultRegistryAlias *bool `locationName:"defaultRegistryAlias" type:"boolean" required:"true"`
  6094  
  6095  	// The name of the registry alias.
  6096  	//
  6097  	// Name is a required field
  6098  	Name *string `locationName:"name" min:"2" type:"string" required:"true"`
  6099  
  6100  	// Whether or not the registry alias is the primary alias for the registry.
  6101  	// If true, the alias is the primary registry alias and is displayed in both
  6102  	// the repository URL and the image URI used in the docker pull commands on
  6103  	// the Amazon ECR Public Gallery.
  6104  	//
  6105  	// A registry alias that is not the primary registry alias can be used in the
  6106  	// repository URI in a docker pull command.
  6107  	//
  6108  	// PrimaryRegistryAlias is a required field
  6109  	PrimaryRegistryAlias *bool `locationName:"primaryRegistryAlias" type:"boolean" required:"true"`
  6110  
  6111  	// The status of the registry alias.
  6112  	//
  6113  	// Status is a required field
  6114  	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistryAliasStatus"`
  6115  }
  6116  
  6117  // String returns the string representation.
  6118  //
  6119  // API parameter values that are decorated as "sensitive" in the API will not
  6120  // be included in the string output. The member name will be present, but the
  6121  // value will be replaced with "sensitive".
  6122  func (s RegistryAlias) String() string {
  6123  	return awsutil.Prettify(s)
  6124  }
  6125  
  6126  // GoString returns the string representation.
  6127  //
  6128  // API parameter values that are decorated as "sensitive" in the API will not
  6129  // be included in the string output. The member name will be present, but the
  6130  // value will be replaced with "sensitive".
  6131  func (s RegistryAlias) GoString() string {
  6132  	return s.String()
  6133  }
  6134  
  6135  // SetDefaultRegistryAlias sets the DefaultRegistryAlias field's value.
  6136  func (s *RegistryAlias) SetDefaultRegistryAlias(v bool) *RegistryAlias {
  6137  	s.DefaultRegistryAlias = &v
  6138  	return s
  6139  }
  6140  
  6141  // SetName sets the Name field's value.
  6142  func (s *RegistryAlias) SetName(v string) *RegistryAlias {
  6143  	s.Name = &v
  6144  	return s
  6145  }
  6146  
  6147  // SetPrimaryRegistryAlias sets the PrimaryRegistryAlias field's value.
  6148  func (s *RegistryAlias) SetPrimaryRegistryAlias(v bool) *RegistryAlias {
  6149  	s.PrimaryRegistryAlias = &v
  6150  	return s
  6151  }
  6152  
  6153  // SetStatus sets the Status field's value.
  6154  func (s *RegistryAlias) SetStatus(v string) *RegistryAlias {
  6155  	s.Status = &v
  6156  	return s
  6157  }
  6158  
  6159  // The metadata for a public registry.
  6160  type RegistryCatalogData struct {
  6161  	_ struct{} `type:"structure"`
  6162  
  6163  	// The display name for a public registry. This appears on the Amazon ECR Public
  6164  	// Gallery.
  6165  	//
  6166  	// Only accounts that have the verified account badge can have a registry display
  6167  	// name.
  6168  	DisplayName *string `locationName:"displayName" type:"string"`
  6169  }
  6170  
  6171  // String returns the string representation.
  6172  //
  6173  // API parameter values that are decorated as "sensitive" in the API will not
  6174  // be included in the string output. The member name will be present, but the
  6175  // value will be replaced with "sensitive".
  6176  func (s RegistryCatalogData) String() string {
  6177  	return awsutil.Prettify(s)
  6178  }
  6179  
  6180  // GoString returns the string representation.
  6181  //
  6182  // API parameter values that are decorated as "sensitive" in the API will not
  6183  // be included in the string output. The member name will be present, but the
  6184  // value will be replaced with "sensitive".
  6185  func (s RegistryCatalogData) GoString() string {
  6186  	return s.String()
  6187  }
  6188  
  6189  // SetDisplayName sets the DisplayName field's value.
  6190  func (s *RegistryCatalogData) SetDisplayName(v string) *RegistryCatalogData {
  6191  	s.DisplayName = &v
  6192  	return s
  6193  }
  6194  
  6195  // The registry does not exist.
  6196  type RegistryNotFoundException struct {
  6197  	_            struct{}                  `type:"structure"`
  6198  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6199  
  6200  	Message_ *string `locationName:"message" type:"string"`
  6201  }
  6202  
  6203  // String returns the string representation.
  6204  //
  6205  // API parameter values that are decorated as "sensitive" in the API will not
  6206  // be included in the string output. The member name will be present, but the
  6207  // value will be replaced with "sensitive".
  6208  func (s RegistryNotFoundException) String() string {
  6209  	return awsutil.Prettify(s)
  6210  }
  6211  
  6212  // GoString returns the string representation.
  6213  //
  6214  // API parameter values that are decorated as "sensitive" in the API will not
  6215  // be included in the string output. The member name will be present, but the
  6216  // value will be replaced with "sensitive".
  6217  func (s RegistryNotFoundException) GoString() string {
  6218  	return s.String()
  6219  }
  6220  
  6221  func newErrorRegistryNotFoundException(v protocol.ResponseMetadata) error {
  6222  	return &RegistryNotFoundException{
  6223  		RespMetadata: v,
  6224  	}
  6225  }
  6226  
  6227  // Code returns the exception type name.
  6228  func (s *RegistryNotFoundException) Code() string {
  6229  	return "RegistryNotFoundException"
  6230  }
  6231  
  6232  // Message returns the exception's message.
  6233  func (s *RegistryNotFoundException) Message() string {
  6234  	if s.Message_ != nil {
  6235  		return *s.Message_
  6236  	}
  6237  	return ""
  6238  }
  6239  
  6240  // OrigErr always returns nil, satisfies awserr.Error interface.
  6241  func (s *RegistryNotFoundException) OrigErr() error {
  6242  	return nil
  6243  }
  6244  
  6245  func (s *RegistryNotFoundException) Error() string {
  6246  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6247  }
  6248  
  6249  // Status code returns the HTTP status code for the request's response error.
  6250  func (s *RegistryNotFoundException) StatusCode() int {
  6251  	return s.RespMetadata.StatusCode
  6252  }
  6253  
  6254  // RequestID returns the service's response RequestID for request.
  6255  func (s *RegistryNotFoundException) RequestID() string {
  6256  	return s.RespMetadata.RequestID
  6257  }
  6258  
  6259  // An object representing a repository.
  6260  type Repository struct {
  6261  	_ struct{} `type:"structure"`
  6262  
  6263  	// The date and time, in JavaScript date format, when the repository was created.
  6264  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  6265  
  6266  	// The AWS account ID associated with the public registry that contains the
  6267  	// repository.
  6268  	RegistryId *string `locationName:"registryId" type:"string"`
  6269  
  6270  	// The Amazon Resource Name (ARN) that identifies the repository. The ARN contains
  6271  	// the arn:aws:ecr namespace, followed by the region of the repository, AWS
  6272  	// account ID of the repository owner, repository namespace, and repository
  6273  	// name. For example, arn:aws:ecr:region:012345678910:repository/test.
  6274  	RepositoryArn *string `locationName:"repositoryArn" type:"string"`
  6275  
  6276  	// The name of the repository.
  6277  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  6278  
  6279  	// The URI for the repository. You can use this URI for container image push
  6280  	// and pull operations.
  6281  	RepositoryUri *string `locationName:"repositoryUri" type:"string"`
  6282  }
  6283  
  6284  // String returns the string representation.
  6285  //
  6286  // API parameter values that are decorated as "sensitive" in the API will not
  6287  // be included in the string output. The member name will be present, but the
  6288  // value will be replaced with "sensitive".
  6289  func (s Repository) String() string {
  6290  	return awsutil.Prettify(s)
  6291  }
  6292  
  6293  // GoString returns the string representation.
  6294  //
  6295  // API parameter values that are decorated as "sensitive" in the API will not
  6296  // be included in the string output. The member name will be present, but the
  6297  // value will be replaced with "sensitive".
  6298  func (s Repository) GoString() string {
  6299  	return s.String()
  6300  }
  6301  
  6302  // SetCreatedAt sets the CreatedAt field's value.
  6303  func (s *Repository) SetCreatedAt(v time.Time) *Repository {
  6304  	s.CreatedAt = &v
  6305  	return s
  6306  }
  6307  
  6308  // SetRegistryId sets the RegistryId field's value.
  6309  func (s *Repository) SetRegistryId(v string) *Repository {
  6310  	s.RegistryId = &v
  6311  	return s
  6312  }
  6313  
  6314  // SetRepositoryArn sets the RepositoryArn field's value.
  6315  func (s *Repository) SetRepositoryArn(v string) *Repository {
  6316  	s.RepositoryArn = &v
  6317  	return s
  6318  }
  6319  
  6320  // SetRepositoryName sets the RepositoryName field's value.
  6321  func (s *Repository) SetRepositoryName(v string) *Repository {
  6322  	s.RepositoryName = &v
  6323  	return s
  6324  }
  6325  
  6326  // SetRepositoryUri sets the RepositoryUri field's value.
  6327  func (s *Repository) SetRepositoryUri(v string) *Repository {
  6328  	s.RepositoryUri = &v
  6329  	return s
  6330  }
  6331  
  6332  // The specified repository already exists in the specified registry.
  6333  type RepositoryAlreadyExistsException struct {
  6334  	_            struct{}                  `type:"structure"`
  6335  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6336  
  6337  	Message_ *string `locationName:"message" type:"string"`
  6338  }
  6339  
  6340  // String returns the string representation.
  6341  //
  6342  // API parameter values that are decorated as "sensitive" in the API will not
  6343  // be included in the string output. The member name will be present, but the
  6344  // value will be replaced with "sensitive".
  6345  func (s RepositoryAlreadyExistsException) String() string {
  6346  	return awsutil.Prettify(s)
  6347  }
  6348  
  6349  // GoString returns the string representation.
  6350  //
  6351  // API parameter values that are decorated as "sensitive" in the API will not
  6352  // be included in the string output. The member name will be present, but the
  6353  // value will be replaced with "sensitive".
  6354  func (s RepositoryAlreadyExistsException) GoString() string {
  6355  	return s.String()
  6356  }
  6357  
  6358  func newErrorRepositoryAlreadyExistsException(v protocol.ResponseMetadata) error {
  6359  	return &RepositoryAlreadyExistsException{
  6360  		RespMetadata: v,
  6361  	}
  6362  }
  6363  
  6364  // Code returns the exception type name.
  6365  func (s *RepositoryAlreadyExistsException) Code() string {
  6366  	return "RepositoryAlreadyExistsException"
  6367  }
  6368  
  6369  // Message returns the exception's message.
  6370  func (s *RepositoryAlreadyExistsException) Message() string {
  6371  	if s.Message_ != nil {
  6372  		return *s.Message_
  6373  	}
  6374  	return ""
  6375  }
  6376  
  6377  // OrigErr always returns nil, satisfies awserr.Error interface.
  6378  func (s *RepositoryAlreadyExistsException) OrigErr() error {
  6379  	return nil
  6380  }
  6381  
  6382  func (s *RepositoryAlreadyExistsException) Error() string {
  6383  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6384  }
  6385  
  6386  // Status code returns the HTTP status code for the request's response error.
  6387  func (s *RepositoryAlreadyExistsException) StatusCode() int {
  6388  	return s.RespMetadata.StatusCode
  6389  }
  6390  
  6391  // RequestID returns the service's response RequestID for request.
  6392  func (s *RepositoryAlreadyExistsException) RequestID() string {
  6393  	return s.RespMetadata.RequestID
  6394  }
  6395  
  6396  // The catalog data for a repository. This data is publicly visible in the Amazon
  6397  // ECR Public Gallery.
  6398  type RepositoryCatalogData struct {
  6399  	_ struct{} `type:"structure"`
  6400  
  6401  	// The longform description of the contents of the repository. This text appears
  6402  	// in the repository details on the Amazon ECR Public Gallery.
  6403  	AboutText *string `locationName:"aboutText" type:"string"`
  6404  
  6405  	// The architecture tags that are associated with the repository.
  6406  	//
  6407  	// Only supported operating system tags appear publicly in the Amazon ECR Public
  6408  	// Gallery. For more information, see RepositoryCatalogDataInput.
  6409  	Architectures []*string `locationName:"architectures" type:"list"`
  6410  
  6411  	// The short description of the repository.
  6412  	Description *string `locationName:"description" type:"string"`
  6413  
  6414  	// The URL containing the logo associated with the repository.
  6415  	LogoUrl *string `locationName:"logoUrl" type:"string"`
  6416  
  6417  	// Whether or not the repository is certified by AWS Marketplace.
  6418  	MarketplaceCertified *bool `locationName:"marketplaceCertified" type:"boolean"`
  6419  
  6420  	// The operating system tags that are associated with the repository.
  6421  	//
  6422  	// Only supported operating system tags appear publicly in the Amazon ECR Public
  6423  	// Gallery. For more information, see RepositoryCatalogDataInput.
  6424  	OperatingSystems []*string `locationName:"operatingSystems" type:"list"`
  6425  
  6426  	// The longform usage details of the contents of the repository. The usage text
  6427  	// provides context for users of the repository.
  6428  	UsageText *string `locationName:"usageText" type:"string"`
  6429  }
  6430  
  6431  // String returns the string representation.
  6432  //
  6433  // API parameter values that are decorated as "sensitive" in the API will not
  6434  // be included in the string output. The member name will be present, but the
  6435  // value will be replaced with "sensitive".
  6436  func (s RepositoryCatalogData) String() string {
  6437  	return awsutil.Prettify(s)
  6438  }
  6439  
  6440  // GoString returns the string representation.
  6441  //
  6442  // API parameter values that are decorated as "sensitive" in the API will not
  6443  // be included in the string output. The member name will be present, but the
  6444  // value will be replaced with "sensitive".
  6445  func (s RepositoryCatalogData) GoString() string {
  6446  	return s.String()
  6447  }
  6448  
  6449  // SetAboutText sets the AboutText field's value.
  6450  func (s *RepositoryCatalogData) SetAboutText(v string) *RepositoryCatalogData {
  6451  	s.AboutText = &v
  6452  	return s
  6453  }
  6454  
  6455  // SetArchitectures sets the Architectures field's value.
  6456  func (s *RepositoryCatalogData) SetArchitectures(v []*string) *RepositoryCatalogData {
  6457  	s.Architectures = v
  6458  	return s
  6459  }
  6460  
  6461  // SetDescription sets the Description field's value.
  6462  func (s *RepositoryCatalogData) SetDescription(v string) *RepositoryCatalogData {
  6463  	s.Description = &v
  6464  	return s
  6465  }
  6466  
  6467  // SetLogoUrl sets the LogoUrl field's value.
  6468  func (s *RepositoryCatalogData) SetLogoUrl(v string) *RepositoryCatalogData {
  6469  	s.LogoUrl = &v
  6470  	return s
  6471  }
  6472  
  6473  // SetMarketplaceCertified sets the MarketplaceCertified field's value.
  6474  func (s *RepositoryCatalogData) SetMarketplaceCertified(v bool) *RepositoryCatalogData {
  6475  	s.MarketplaceCertified = &v
  6476  	return s
  6477  }
  6478  
  6479  // SetOperatingSystems sets the OperatingSystems field's value.
  6480  func (s *RepositoryCatalogData) SetOperatingSystems(v []*string) *RepositoryCatalogData {
  6481  	s.OperatingSystems = v
  6482  	return s
  6483  }
  6484  
  6485  // SetUsageText sets the UsageText field's value.
  6486  func (s *RepositoryCatalogData) SetUsageText(v string) *RepositoryCatalogData {
  6487  	s.UsageText = &v
  6488  	return s
  6489  }
  6490  
  6491  // An object containing the catalog data for a repository. This data is publicly
  6492  // visible in the Amazon ECR Public Gallery.
  6493  type RepositoryCatalogDataInput struct {
  6494  	_ struct{} `type:"structure"`
  6495  
  6496  	// A detailed description of the contents of the repository. It is publicly
  6497  	// visible in the Amazon ECR Public Gallery. The text must be in markdown format.
  6498  	AboutText *string `locationName:"aboutText" type:"string"`
  6499  
  6500  	// The system architecture that the images in the repository are compatible
  6501  	// with. On the Amazon ECR Public Gallery, the following supported architectures
  6502  	// will appear as badges on the repository and are used as search filters.
  6503  	//
  6504  	//    * Linux
  6505  	//
  6506  	//    * Windows
  6507  	//
  6508  	// If an unsupported tag is added to your repository catalog data, it will be
  6509  	// associated with the repository and can be retrieved using the API but will
  6510  	// not be discoverable in the Amazon ECR Public Gallery.
  6511  	Architectures []*string `locationName:"architectures" type:"list"`
  6512  
  6513  	// A short description of the contents of the repository. This text appears
  6514  	// in both the image details and also when searching for repositories on the
  6515  	// Amazon ECR Public Gallery.
  6516  	Description *string `locationName:"description" type:"string"`
  6517  
  6518  	// The base64-encoded repository logo payload.
  6519  	//
  6520  	// The repository logo is only publicly visible in the Amazon ECR Public Gallery
  6521  	// for verified accounts.
  6522  	// LogoImageBlob is automatically base64 encoded/decoded by the SDK.
  6523  	LogoImageBlob []byte `locationName:"logoImageBlob" type:"blob"`
  6524  
  6525  	// The operating systems that the images in the repository are compatible with.
  6526  	// On the Amazon ECR Public Gallery, the following supported operating systems
  6527  	// will appear as badges on the repository and are used as search filters.
  6528  	//
  6529  	//    * ARM
  6530  	//
  6531  	//    * ARM 64
  6532  	//
  6533  	//    * x86
  6534  	//
  6535  	//    * x86-64
  6536  	//
  6537  	// If an unsupported tag is added to your repository catalog data, it will be
  6538  	// associated with the repository and can be retrieved using the API but will
  6539  	// not be discoverable in the Amazon ECR Public Gallery.
  6540  	OperatingSystems []*string `locationName:"operatingSystems" type:"list"`
  6541  
  6542  	// Detailed information on how to use the contents of the repository. It is
  6543  	// publicly visible in the Amazon ECR Public Gallery. The usage text provides
  6544  	// context, support information, and additional usage details for users of the
  6545  	// repository. The text must be in markdown format.
  6546  	UsageText *string `locationName:"usageText" type:"string"`
  6547  }
  6548  
  6549  // String returns the string representation.
  6550  //
  6551  // API parameter values that are decorated as "sensitive" in the API will not
  6552  // be included in the string output. The member name will be present, but the
  6553  // value will be replaced with "sensitive".
  6554  func (s RepositoryCatalogDataInput) String() string {
  6555  	return awsutil.Prettify(s)
  6556  }
  6557  
  6558  // GoString returns the string representation.
  6559  //
  6560  // API parameter values that are decorated as "sensitive" in the API will not
  6561  // be included in the string output. The member name will be present, but the
  6562  // value will be replaced with "sensitive".
  6563  func (s RepositoryCatalogDataInput) GoString() string {
  6564  	return s.String()
  6565  }
  6566  
  6567  // SetAboutText sets the AboutText field's value.
  6568  func (s *RepositoryCatalogDataInput) SetAboutText(v string) *RepositoryCatalogDataInput {
  6569  	s.AboutText = &v
  6570  	return s
  6571  }
  6572  
  6573  // SetArchitectures sets the Architectures field's value.
  6574  func (s *RepositoryCatalogDataInput) SetArchitectures(v []*string) *RepositoryCatalogDataInput {
  6575  	s.Architectures = v
  6576  	return s
  6577  }
  6578  
  6579  // SetDescription sets the Description field's value.
  6580  func (s *RepositoryCatalogDataInput) SetDescription(v string) *RepositoryCatalogDataInput {
  6581  	s.Description = &v
  6582  	return s
  6583  }
  6584  
  6585  // SetLogoImageBlob sets the LogoImageBlob field's value.
  6586  func (s *RepositoryCatalogDataInput) SetLogoImageBlob(v []byte) *RepositoryCatalogDataInput {
  6587  	s.LogoImageBlob = v
  6588  	return s
  6589  }
  6590  
  6591  // SetOperatingSystems sets the OperatingSystems field's value.
  6592  func (s *RepositoryCatalogDataInput) SetOperatingSystems(v []*string) *RepositoryCatalogDataInput {
  6593  	s.OperatingSystems = v
  6594  	return s
  6595  }
  6596  
  6597  // SetUsageText sets the UsageText field's value.
  6598  func (s *RepositoryCatalogDataInput) SetUsageText(v string) *RepositoryCatalogDataInput {
  6599  	s.UsageText = &v
  6600  	return s
  6601  }
  6602  
  6603  // The specified repository contains images. To delete a repository that contains
  6604  // images, you must force the deletion with the force parameter.
  6605  type RepositoryNotEmptyException struct {
  6606  	_            struct{}                  `type:"structure"`
  6607  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6608  
  6609  	Message_ *string `locationName:"message" type:"string"`
  6610  }
  6611  
  6612  // String returns the string representation.
  6613  //
  6614  // API parameter values that are decorated as "sensitive" in the API will not
  6615  // be included in the string output. The member name will be present, but the
  6616  // value will be replaced with "sensitive".
  6617  func (s RepositoryNotEmptyException) String() string {
  6618  	return awsutil.Prettify(s)
  6619  }
  6620  
  6621  // GoString returns the string representation.
  6622  //
  6623  // API parameter values that are decorated as "sensitive" in the API will not
  6624  // be included in the string output. The member name will be present, but the
  6625  // value will be replaced with "sensitive".
  6626  func (s RepositoryNotEmptyException) GoString() string {
  6627  	return s.String()
  6628  }
  6629  
  6630  func newErrorRepositoryNotEmptyException(v protocol.ResponseMetadata) error {
  6631  	return &RepositoryNotEmptyException{
  6632  		RespMetadata: v,
  6633  	}
  6634  }
  6635  
  6636  // Code returns the exception type name.
  6637  func (s *RepositoryNotEmptyException) Code() string {
  6638  	return "RepositoryNotEmptyException"
  6639  }
  6640  
  6641  // Message returns the exception's message.
  6642  func (s *RepositoryNotEmptyException) Message() string {
  6643  	if s.Message_ != nil {
  6644  		return *s.Message_
  6645  	}
  6646  	return ""
  6647  }
  6648  
  6649  // OrigErr always returns nil, satisfies awserr.Error interface.
  6650  func (s *RepositoryNotEmptyException) OrigErr() error {
  6651  	return nil
  6652  }
  6653  
  6654  func (s *RepositoryNotEmptyException) Error() string {
  6655  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6656  }
  6657  
  6658  // Status code returns the HTTP status code for the request's response error.
  6659  func (s *RepositoryNotEmptyException) StatusCode() int {
  6660  	return s.RespMetadata.StatusCode
  6661  }
  6662  
  6663  // RequestID returns the service's response RequestID for request.
  6664  func (s *RepositoryNotEmptyException) RequestID() string {
  6665  	return s.RespMetadata.RequestID
  6666  }
  6667  
  6668  // The specified repository could not be found. Check the spelling of the specified
  6669  // repository and ensure that you are performing operations on the correct registry.
  6670  type RepositoryNotFoundException struct {
  6671  	_            struct{}                  `type:"structure"`
  6672  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6673  
  6674  	Message_ *string `locationName:"message" type:"string"`
  6675  }
  6676  
  6677  // String returns the string representation.
  6678  //
  6679  // API parameter values that are decorated as "sensitive" in the API will not
  6680  // be included in the string output. The member name will be present, but the
  6681  // value will be replaced with "sensitive".
  6682  func (s RepositoryNotFoundException) String() string {
  6683  	return awsutil.Prettify(s)
  6684  }
  6685  
  6686  // GoString returns the string representation.
  6687  //
  6688  // API parameter values that are decorated as "sensitive" in the API will not
  6689  // be included in the string output. The member name will be present, but the
  6690  // value will be replaced with "sensitive".
  6691  func (s RepositoryNotFoundException) GoString() string {
  6692  	return s.String()
  6693  }
  6694  
  6695  func newErrorRepositoryNotFoundException(v protocol.ResponseMetadata) error {
  6696  	return &RepositoryNotFoundException{
  6697  		RespMetadata: v,
  6698  	}
  6699  }
  6700  
  6701  // Code returns the exception type name.
  6702  func (s *RepositoryNotFoundException) Code() string {
  6703  	return "RepositoryNotFoundException"
  6704  }
  6705  
  6706  // Message returns the exception's message.
  6707  func (s *RepositoryNotFoundException) Message() string {
  6708  	if s.Message_ != nil {
  6709  		return *s.Message_
  6710  	}
  6711  	return ""
  6712  }
  6713  
  6714  // OrigErr always returns nil, satisfies awserr.Error interface.
  6715  func (s *RepositoryNotFoundException) OrigErr() error {
  6716  	return nil
  6717  }
  6718  
  6719  func (s *RepositoryNotFoundException) Error() string {
  6720  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6721  }
  6722  
  6723  // Status code returns the HTTP status code for the request's response error.
  6724  func (s *RepositoryNotFoundException) StatusCode() int {
  6725  	return s.RespMetadata.StatusCode
  6726  }
  6727  
  6728  // RequestID returns the service's response RequestID for request.
  6729  func (s *RepositoryNotFoundException) RequestID() string {
  6730  	return s.RespMetadata.RequestID
  6731  }
  6732  
  6733  // The specified repository and registry combination does not have an associated
  6734  // repository policy.
  6735  type RepositoryPolicyNotFoundException struct {
  6736  	_            struct{}                  `type:"structure"`
  6737  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6738  
  6739  	Message_ *string `locationName:"message" type:"string"`
  6740  }
  6741  
  6742  // String returns the string representation.
  6743  //
  6744  // API parameter values that are decorated as "sensitive" in the API will not
  6745  // be included in the string output. The member name will be present, but the
  6746  // value will be replaced with "sensitive".
  6747  func (s RepositoryPolicyNotFoundException) String() string {
  6748  	return awsutil.Prettify(s)
  6749  }
  6750  
  6751  // GoString returns the string representation.
  6752  //
  6753  // API parameter values that are decorated as "sensitive" in the API will not
  6754  // be included in the string output. The member name will be present, but the
  6755  // value will be replaced with "sensitive".
  6756  func (s RepositoryPolicyNotFoundException) GoString() string {
  6757  	return s.String()
  6758  }
  6759  
  6760  func newErrorRepositoryPolicyNotFoundException(v protocol.ResponseMetadata) error {
  6761  	return &RepositoryPolicyNotFoundException{
  6762  		RespMetadata: v,
  6763  	}
  6764  }
  6765  
  6766  // Code returns the exception type name.
  6767  func (s *RepositoryPolicyNotFoundException) Code() string {
  6768  	return "RepositoryPolicyNotFoundException"
  6769  }
  6770  
  6771  // Message returns the exception's message.
  6772  func (s *RepositoryPolicyNotFoundException) Message() string {
  6773  	if s.Message_ != nil {
  6774  		return *s.Message_
  6775  	}
  6776  	return ""
  6777  }
  6778  
  6779  // OrigErr always returns nil, satisfies awserr.Error interface.
  6780  func (s *RepositoryPolicyNotFoundException) OrigErr() error {
  6781  	return nil
  6782  }
  6783  
  6784  func (s *RepositoryPolicyNotFoundException) Error() string {
  6785  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6786  }
  6787  
  6788  // Status code returns the HTTP status code for the request's response error.
  6789  func (s *RepositoryPolicyNotFoundException) StatusCode() int {
  6790  	return s.RespMetadata.StatusCode
  6791  }
  6792  
  6793  // RequestID returns the service's response RequestID for request.
  6794  func (s *RepositoryPolicyNotFoundException) RequestID() string {
  6795  	return s.RespMetadata.RequestID
  6796  }
  6797  
  6798  // These errors are usually caused by a server-side issue.
  6799  type ServerException struct {
  6800  	_            struct{}                  `type:"structure"`
  6801  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6802  
  6803  	Message_ *string `locationName:"message" type:"string"`
  6804  }
  6805  
  6806  // String returns the string representation.
  6807  //
  6808  // API parameter values that are decorated as "sensitive" in the API will not
  6809  // be included in the string output. The member name will be present, but the
  6810  // value will be replaced with "sensitive".
  6811  func (s ServerException) String() string {
  6812  	return awsutil.Prettify(s)
  6813  }
  6814  
  6815  // GoString returns the string representation.
  6816  //
  6817  // API parameter values that are decorated as "sensitive" in the API will not
  6818  // be included in the string output. The member name will be present, but the
  6819  // value will be replaced with "sensitive".
  6820  func (s ServerException) GoString() string {
  6821  	return s.String()
  6822  }
  6823  
  6824  func newErrorServerException(v protocol.ResponseMetadata) error {
  6825  	return &ServerException{
  6826  		RespMetadata: v,
  6827  	}
  6828  }
  6829  
  6830  // Code returns the exception type name.
  6831  func (s *ServerException) Code() string {
  6832  	return "ServerException"
  6833  }
  6834  
  6835  // Message returns the exception's message.
  6836  func (s *ServerException) Message() string {
  6837  	if s.Message_ != nil {
  6838  		return *s.Message_
  6839  	}
  6840  	return ""
  6841  }
  6842  
  6843  // OrigErr always returns nil, satisfies awserr.Error interface.
  6844  func (s *ServerException) OrigErr() error {
  6845  	return nil
  6846  }
  6847  
  6848  func (s *ServerException) Error() string {
  6849  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6850  }
  6851  
  6852  // Status code returns the HTTP status code for the request's response error.
  6853  func (s *ServerException) StatusCode() int {
  6854  	return s.RespMetadata.StatusCode
  6855  }
  6856  
  6857  // RequestID returns the service's response RequestID for request.
  6858  func (s *ServerException) RequestID() string {
  6859  	return s.RespMetadata.RequestID
  6860  }
  6861  
  6862  type SetRepositoryPolicyInput struct {
  6863  	_ struct{} `type:"structure"`
  6864  
  6865  	// If the policy you are attempting to set on a repository policy would prevent
  6866  	// you from setting another policy in the future, you must force the SetRepositoryPolicy
  6867  	// operation. This is intended to prevent accidental repository lock outs.
  6868  	Force *bool `locationName:"force" type:"boolean"`
  6869  
  6870  	// The JSON repository policy text to apply to the repository. For more information,
  6871  	// see Amazon ECR Repository Policies (https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html)
  6872  	// in the Amazon Elastic Container Registry User Guide.
  6873  	//
  6874  	// PolicyText is a required field
  6875  	PolicyText *string `locationName:"policyText" type:"string" required:"true"`
  6876  
  6877  	// The AWS account ID associated with the registry that contains the repository.
  6878  	// If you do not specify a registry, the default public registry is assumed.
  6879  	RegistryId *string `locationName:"registryId" type:"string"`
  6880  
  6881  	// The name of the repository to receive the policy.
  6882  	//
  6883  	// RepositoryName is a required field
  6884  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  6885  }
  6886  
  6887  // String returns the string representation.
  6888  //
  6889  // API parameter values that are decorated as "sensitive" in the API will not
  6890  // be included in the string output. The member name will be present, but the
  6891  // value will be replaced with "sensitive".
  6892  func (s SetRepositoryPolicyInput) String() string {
  6893  	return awsutil.Prettify(s)
  6894  }
  6895  
  6896  // GoString returns the string representation.
  6897  //
  6898  // API parameter values that are decorated as "sensitive" in the API will not
  6899  // be included in the string output. The member name will be present, but the
  6900  // value will be replaced with "sensitive".
  6901  func (s SetRepositoryPolicyInput) GoString() string {
  6902  	return s.String()
  6903  }
  6904  
  6905  // Validate inspects the fields of the type to determine if they are valid.
  6906  func (s *SetRepositoryPolicyInput) Validate() error {
  6907  	invalidParams := request.ErrInvalidParams{Context: "SetRepositoryPolicyInput"}
  6908  	if s.PolicyText == nil {
  6909  		invalidParams.Add(request.NewErrParamRequired("PolicyText"))
  6910  	}
  6911  	if s.RepositoryName == nil {
  6912  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  6913  	}
  6914  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  6915  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  6916  	}
  6917  
  6918  	if invalidParams.Len() > 0 {
  6919  		return invalidParams
  6920  	}
  6921  	return nil
  6922  }
  6923  
  6924  // SetForce sets the Force field's value.
  6925  func (s *SetRepositoryPolicyInput) SetForce(v bool) *SetRepositoryPolicyInput {
  6926  	s.Force = &v
  6927  	return s
  6928  }
  6929  
  6930  // SetPolicyText sets the PolicyText field's value.
  6931  func (s *SetRepositoryPolicyInput) SetPolicyText(v string) *SetRepositoryPolicyInput {
  6932  	s.PolicyText = &v
  6933  	return s
  6934  }
  6935  
  6936  // SetRegistryId sets the RegistryId field's value.
  6937  func (s *SetRepositoryPolicyInput) SetRegistryId(v string) *SetRepositoryPolicyInput {
  6938  	s.RegistryId = &v
  6939  	return s
  6940  }
  6941  
  6942  // SetRepositoryName sets the RepositoryName field's value.
  6943  func (s *SetRepositoryPolicyInput) SetRepositoryName(v string) *SetRepositoryPolicyInput {
  6944  	s.RepositoryName = &v
  6945  	return s
  6946  }
  6947  
  6948  type SetRepositoryPolicyOutput struct {
  6949  	_ struct{} `type:"structure"`
  6950  
  6951  	// The JSON repository policy text applied to the repository.
  6952  	PolicyText *string `locationName:"policyText" type:"string"`
  6953  
  6954  	// The registry ID associated with the request.
  6955  	RegistryId *string `locationName:"registryId" type:"string"`
  6956  
  6957  	// The repository name associated with the request.
  6958  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  6959  }
  6960  
  6961  // String returns the string representation.
  6962  //
  6963  // API parameter values that are decorated as "sensitive" in the API will not
  6964  // be included in the string output. The member name will be present, but the
  6965  // value will be replaced with "sensitive".
  6966  func (s SetRepositoryPolicyOutput) String() string {
  6967  	return awsutil.Prettify(s)
  6968  }
  6969  
  6970  // GoString returns the string representation.
  6971  //
  6972  // API parameter values that are decorated as "sensitive" in the API will not
  6973  // be included in the string output. The member name will be present, but the
  6974  // value will be replaced with "sensitive".
  6975  func (s SetRepositoryPolicyOutput) GoString() string {
  6976  	return s.String()
  6977  }
  6978  
  6979  // SetPolicyText sets the PolicyText field's value.
  6980  func (s *SetRepositoryPolicyOutput) SetPolicyText(v string) *SetRepositoryPolicyOutput {
  6981  	s.PolicyText = &v
  6982  	return s
  6983  }
  6984  
  6985  // SetRegistryId sets the RegistryId field's value.
  6986  func (s *SetRepositoryPolicyOutput) SetRegistryId(v string) *SetRepositoryPolicyOutput {
  6987  	s.RegistryId = &v
  6988  	return s
  6989  }
  6990  
  6991  // SetRepositoryName sets the RepositoryName field's value.
  6992  func (s *SetRepositoryPolicyOutput) SetRepositoryName(v string) *SetRepositoryPolicyOutput {
  6993  	s.RepositoryName = &v
  6994  	return s
  6995  }
  6996  
  6997  // The metadata that you apply to a resource to help you categorize and organize
  6998  // them. Each tag consists of a key and an optional value, both of which you
  6999  // define. Tag keys can have a maximum character length of 128 characters, and
  7000  // tag values can have a maximum length of 256 characters.
  7001  type Tag struct {
  7002  	_ struct{} `type:"structure"`
  7003  
  7004  	// One part of a key-value pair that make up a tag. A key is a general label
  7005  	// that acts like a category for more specific tag values.
  7006  	Key *string `min:"1" type:"string"`
  7007  
  7008  	// The optional part of a key-value pair that make up a tag. A value acts as
  7009  	// a descriptor within a tag category (key).
  7010  	Value *string `type:"string"`
  7011  }
  7012  
  7013  // String returns the string representation.
  7014  //
  7015  // API parameter values that are decorated as "sensitive" in the API will not
  7016  // be included in the string output. The member name will be present, but the
  7017  // value will be replaced with "sensitive".
  7018  func (s Tag) String() string {
  7019  	return awsutil.Prettify(s)
  7020  }
  7021  
  7022  // GoString returns the string representation.
  7023  //
  7024  // API parameter values that are decorated as "sensitive" in the API will not
  7025  // be included in the string output. The member name will be present, but the
  7026  // value will be replaced with "sensitive".
  7027  func (s Tag) GoString() string {
  7028  	return s.String()
  7029  }
  7030  
  7031  // Validate inspects the fields of the type to determine if they are valid.
  7032  func (s *Tag) Validate() error {
  7033  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  7034  	if s.Key != nil && len(*s.Key) < 1 {
  7035  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  7036  	}
  7037  
  7038  	if invalidParams.Len() > 0 {
  7039  		return invalidParams
  7040  	}
  7041  	return nil
  7042  }
  7043  
  7044  // SetKey sets the Key field's value.
  7045  func (s *Tag) SetKey(v string) *Tag {
  7046  	s.Key = &v
  7047  	return s
  7048  }
  7049  
  7050  // SetValue sets the Value field's value.
  7051  func (s *Tag) SetValue(v string) *Tag {
  7052  	s.Value = &v
  7053  	return s
  7054  }
  7055  
  7056  type TagResourceInput struct {
  7057  	_ struct{} `type:"structure"`
  7058  
  7059  	// The Amazon Resource Name (ARN) of the resource to which to add tags. Currently,
  7060  	// the supported resource is an Amazon ECR Public repository.
  7061  	//
  7062  	// ResourceArn is a required field
  7063  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  7064  
  7065  	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
  7066  	// keys can have a maximum character length of 128 characters, and tag values
  7067  	// can have a maximum length of 256 characters.
  7068  	//
  7069  	// Tags is a required field
  7070  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
  7071  }
  7072  
  7073  // String returns the string representation.
  7074  //
  7075  // API parameter values that are decorated as "sensitive" in the API will not
  7076  // be included in the string output. The member name will be present, but the
  7077  // value will be replaced with "sensitive".
  7078  func (s TagResourceInput) String() string {
  7079  	return awsutil.Prettify(s)
  7080  }
  7081  
  7082  // GoString returns the string representation.
  7083  //
  7084  // API parameter values that are decorated as "sensitive" in the API will not
  7085  // be included in the string output. The member name will be present, but the
  7086  // value will be replaced with "sensitive".
  7087  func (s TagResourceInput) GoString() string {
  7088  	return s.String()
  7089  }
  7090  
  7091  // Validate inspects the fields of the type to determine if they are valid.
  7092  func (s *TagResourceInput) Validate() error {
  7093  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  7094  	if s.ResourceArn == nil {
  7095  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7096  	}
  7097  	if s.Tags == nil {
  7098  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  7099  	}
  7100  	if s.Tags != nil {
  7101  		for i, v := range s.Tags {
  7102  			if v == nil {
  7103  				continue
  7104  			}
  7105  			if err := v.Validate(); err != nil {
  7106  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7107  			}
  7108  		}
  7109  	}
  7110  
  7111  	if invalidParams.Len() > 0 {
  7112  		return invalidParams
  7113  	}
  7114  	return nil
  7115  }
  7116  
  7117  // SetResourceArn sets the ResourceArn field's value.
  7118  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  7119  	s.ResourceArn = &v
  7120  	return s
  7121  }
  7122  
  7123  // SetTags sets the Tags field's value.
  7124  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  7125  	s.Tags = v
  7126  	return s
  7127  }
  7128  
  7129  type TagResourceOutput struct {
  7130  	_ struct{} `type:"structure"`
  7131  }
  7132  
  7133  // String returns the string representation.
  7134  //
  7135  // API parameter values that are decorated as "sensitive" in the API will not
  7136  // be included in the string output. The member name will be present, but the
  7137  // value will be replaced with "sensitive".
  7138  func (s TagResourceOutput) String() string {
  7139  	return awsutil.Prettify(s)
  7140  }
  7141  
  7142  // GoString returns the string representation.
  7143  //
  7144  // API parameter values that are decorated as "sensitive" in the API will not
  7145  // be included in the string output. The member name will be present, but the
  7146  // value will be replaced with "sensitive".
  7147  func (s TagResourceOutput) GoString() string {
  7148  	return s.String()
  7149  }
  7150  
  7151  // The list of tags on the repository is over the limit. The maximum number
  7152  // of tags that can be applied to a repository is 50.
  7153  type TooManyTagsException struct {
  7154  	_            struct{}                  `type:"structure"`
  7155  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7156  
  7157  	Message_ *string `locationName:"message" type:"string"`
  7158  }
  7159  
  7160  // String returns the string representation.
  7161  //
  7162  // API parameter values that are decorated as "sensitive" in the API will not
  7163  // be included in the string output. The member name will be present, but the
  7164  // value will be replaced with "sensitive".
  7165  func (s TooManyTagsException) String() string {
  7166  	return awsutil.Prettify(s)
  7167  }
  7168  
  7169  // GoString returns the string representation.
  7170  //
  7171  // API parameter values that are decorated as "sensitive" in the API will not
  7172  // be included in the string output. The member name will be present, but the
  7173  // value will be replaced with "sensitive".
  7174  func (s TooManyTagsException) GoString() string {
  7175  	return s.String()
  7176  }
  7177  
  7178  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
  7179  	return &TooManyTagsException{
  7180  		RespMetadata: v,
  7181  	}
  7182  }
  7183  
  7184  // Code returns the exception type name.
  7185  func (s *TooManyTagsException) Code() string {
  7186  	return "TooManyTagsException"
  7187  }
  7188  
  7189  // Message returns the exception's message.
  7190  func (s *TooManyTagsException) Message() string {
  7191  	if s.Message_ != nil {
  7192  		return *s.Message_
  7193  	}
  7194  	return ""
  7195  }
  7196  
  7197  // OrigErr always returns nil, satisfies awserr.Error interface.
  7198  func (s *TooManyTagsException) OrigErr() error {
  7199  	return nil
  7200  }
  7201  
  7202  func (s *TooManyTagsException) Error() string {
  7203  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7204  }
  7205  
  7206  // Status code returns the HTTP status code for the request's response error.
  7207  func (s *TooManyTagsException) StatusCode() int {
  7208  	return s.RespMetadata.StatusCode
  7209  }
  7210  
  7211  // RequestID returns the service's response RequestID for request.
  7212  func (s *TooManyTagsException) RequestID() string {
  7213  	return s.RespMetadata.RequestID
  7214  }
  7215  
  7216  // The action is not supported in this Region.
  7217  type UnsupportedCommandException struct {
  7218  	_            struct{}                  `type:"structure"`
  7219  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7220  
  7221  	Message_ *string `locationName:"message" type:"string"`
  7222  }
  7223  
  7224  // String returns the string representation.
  7225  //
  7226  // API parameter values that are decorated as "sensitive" in the API will not
  7227  // be included in the string output. The member name will be present, but the
  7228  // value will be replaced with "sensitive".
  7229  func (s UnsupportedCommandException) String() string {
  7230  	return awsutil.Prettify(s)
  7231  }
  7232  
  7233  // GoString returns the string representation.
  7234  //
  7235  // API parameter values that are decorated as "sensitive" in the API will not
  7236  // be included in the string output. The member name will be present, but the
  7237  // value will be replaced with "sensitive".
  7238  func (s UnsupportedCommandException) GoString() string {
  7239  	return s.String()
  7240  }
  7241  
  7242  func newErrorUnsupportedCommandException(v protocol.ResponseMetadata) error {
  7243  	return &UnsupportedCommandException{
  7244  		RespMetadata: v,
  7245  	}
  7246  }
  7247  
  7248  // Code returns the exception type name.
  7249  func (s *UnsupportedCommandException) Code() string {
  7250  	return "UnsupportedCommandException"
  7251  }
  7252  
  7253  // Message returns the exception's message.
  7254  func (s *UnsupportedCommandException) Message() string {
  7255  	if s.Message_ != nil {
  7256  		return *s.Message_
  7257  	}
  7258  	return ""
  7259  }
  7260  
  7261  // OrigErr always returns nil, satisfies awserr.Error interface.
  7262  func (s *UnsupportedCommandException) OrigErr() error {
  7263  	return nil
  7264  }
  7265  
  7266  func (s *UnsupportedCommandException) Error() string {
  7267  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7268  }
  7269  
  7270  // Status code returns the HTTP status code for the request's response error.
  7271  func (s *UnsupportedCommandException) StatusCode() int {
  7272  	return s.RespMetadata.StatusCode
  7273  }
  7274  
  7275  // RequestID returns the service's response RequestID for request.
  7276  func (s *UnsupportedCommandException) RequestID() string {
  7277  	return s.RespMetadata.RequestID
  7278  }
  7279  
  7280  type UntagResourceInput struct {
  7281  	_ struct{} `type:"structure"`
  7282  
  7283  	// The Amazon Resource Name (ARN) of the resource from which to delete tags.
  7284  	// Currently, the supported resource is an Amazon ECR Public repository.
  7285  	//
  7286  	// ResourceArn is a required field
  7287  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  7288  
  7289  	// The keys of the tags to be removed.
  7290  	//
  7291  	// TagKeys is a required field
  7292  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
  7293  }
  7294  
  7295  // String returns the string representation.
  7296  //
  7297  // API parameter values that are decorated as "sensitive" in the API will not
  7298  // be included in the string output. The member name will be present, but the
  7299  // value will be replaced with "sensitive".
  7300  func (s UntagResourceInput) String() string {
  7301  	return awsutil.Prettify(s)
  7302  }
  7303  
  7304  // GoString returns the string representation.
  7305  //
  7306  // API parameter values that are decorated as "sensitive" in the API will not
  7307  // be included in the string output. The member name will be present, but the
  7308  // value will be replaced with "sensitive".
  7309  func (s UntagResourceInput) GoString() string {
  7310  	return s.String()
  7311  }
  7312  
  7313  // Validate inspects the fields of the type to determine if they are valid.
  7314  func (s *UntagResourceInput) Validate() error {
  7315  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  7316  	if s.ResourceArn == nil {
  7317  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7318  	}
  7319  	if s.TagKeys == nil {
  7320  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  7321  	}
  7322  
  7323  	if invalidParams.Len() > 0 {
  7324  		return invalidParams
  7325  	}
  7326  	return nil
  7327  }
  7328  
  7329  // SetResourceArn sets the ResourceArn field's value.
  7330  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  7331  	s.ResourceArn = &v
  7332  	return s
  7333  }
  7334  
  7335  // SetTagKeys sets the TagKeys field's value.
  7336  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  7337  	s.TagKeys = v
  7338  	return s
  7339  }
  7340  
  7341  type UntagResourceOutput struct {
  7342  	_ struct{} `type:"structure"`
  7343  }
  7344  
  7345  // String returns the string representation.
  7346  //
  7347  // API parameter values that are decorated as "sensitive" in the API will not
  7348  // be included in the string output. The member name will be present, but the
  7349  // value will be replaced with "sensitive".
  7350  func (s UntagResourceOutput) String() string {
  7351  	return awsutil.Prettify(s)
  7352  }
  7353  
  7354  // GoString returns the string representation.
  7355  //
  7356  // API parameter values that are decorated as "sensitive" in the API will not
  7357  // be included in the string output. The member name will be present, but the
  7358  // value will be replaced with "sensitive".
  7359  func (s UntagResourceOutput) GoString() string {
  7360  	return s.String()
  7361  }
  7362  
  7363  type UploadLayerPartInput struct {
  7364  	_ struct{} `type:"structure"`
  7365  
  7366  	// The base64-encoded layer part payload.
  7367  	// LayerPartBlob is automatically base64 encoded/decoded by the SDK.
  7368  	//
  7369  	// LayerPartBlob is a required field
  7370  	LayerPartBlob []byte `locationName:"layerPartBlob" type:"blob" required:"true"`
  7371  
  7372  	// The position of the first byte of the layer part witin the overall image
  7373  	// layer.
  7374  	//
  7375  	// PartFirstByte is a required field
  7376  	PartFirstByte *int64 `locationName:"partFirstByte" type:"long" required:"true"`
  7377  
  7378  	// The position of the last byte of the layer part within the overall image
  7379  	// layer.
  7380  	//
  7381  	// PartLastByte is a required field
  7382  	PartLastByte *int64 `locationName:"partLastByte" type:"long" required:"true"`
  7383  
  7384  	// The AWS account ID associated with the registry to which you are uploading
  7385  	// layer parts. If you do not specify a registry, the default public registry
  7386  	// is assumed.
  7387  	RegistryId *string `locationName:"registryId" min:"1" type:"string"`
  7388  
  7389  	// The name of the repository to which you are uploading layer parts.
  7390  	//
  7391  	// RepositoryName is a required field
  7392  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  7393  
  7394  	// The upload ID from a previous InitiateLayerUpload operation to associate
  7395  	// with the layer part upload.
  7396  	//
  7397  	// UploadId is a required field
  7398  	UploadId *string `locationName:"uploadId" type:"string" required:"true"`
  7399  }
  7400  
  7401  // String returns the string representation.
  7402  //
  7403  // API parameter values that are decorated as "sensitive" in the API will not
  7404  // be included in the string output. The member name will be present, but the
  7405  // value will be replaced with "sensitive".
  7406  func (s UploadLayerPartInput) String() string {
  7407  	return awsutil.Prettify(s)
  7408  }
  7409  
  7410  // GoString returns the string representation.
  7411  //
  7412  // API parameter values that are decorated as "sensitive" in the API will not
  7413  // be included in the string output. The member name will be present, but the
  7414  // value will be replaced with "sensitive".
  7415  func (s UploadLayerPartInput) GoString() string {
  7416  	return s.String()
  7417  }
  7418  
  7419  // Validate inspects the fields of the type to determine if they are valid.
  7420  func (s *UploadLayerPartInput) Validate() error {
  7421  	invalidParams := request.ErrInvalidParams{Context: "UploadLayerPartInput"}
  7422  	if s.LayerPartBlob == nil {
  7423  		invalidParams.Add(request.NewErrParamRequired("LayerPartBlob"))
  7424  	}
  7425  	if s.PartFirstByte == nil {
  7426  		invalidParams.Add(request.NewErrParamRequired("PartFirstByte"))
  7427  	}
  7428  	if s.PartLastByte == nil {
  7429  		invalidParams.Add(request.NewErrParamRequired("PartLastByte"))
  7430  	}
  7431  	if s.RegistryId != nil && len(*s.RegistryId) < 1 {
  7432  		invalidParams.Add(request.NewErrParamMinLen("RegistryId", 1))
  7433  	}
  7434  	if s.RepositoryName == nil {
  7435  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  7436  	}
  7437  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  7438  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  7439  	}
  7440  	if s.UploadId == nil {
  7441  		invalidParams.Add(request.NewErrParamRequired("UploadId"))
  7442  	}
  7443  
  7444  	if invalidParams.Len() > 0 {
  7445  		return invalidParams
  7446  	}
  7447  	return nil
  7448  }
  7449  
  7450  // SetLayerPartBlob sets the LayerPartBlob field's value.
  7451  func (s *UploadLayerPartInput) SetLayerPartBlob(v []byte) *UploadLayerPartInput {
  7452  	s.LayerPartBlob = v
  7453  	return s
  7454  }
  7455  
  7456  // SetPartFirstByte sets the PartFirstByte field's value.
  7457  func (s *UploadLayerPartInput) SetPartFirstByte(v int64) *UploadLayerPartInput {
  7458  	s.PartFirstByte = &v
  7459  	return s
  7460  }
  7461  
  7462  // SetPartLastByte sets the PartLastByte field's value.
  7463  func (s *UploadLayerPartInput) SetPartLastByte(v int64) *UploadLayerPartInput {
  7464  	s.PartLastByte = &v
  7465  	return s
  7466  }
  7467  
  7468  // SetRegistryId sets the RegistryId field's value.
  7469  func (s *UploadLayerPartInput) SetRegistryId(v string) *UploadLayerPartInput {
  7470  	s.RegistryId = &v
  7471  	return s
  7472  }
  7473  
  7474  // SetRepositoryName sets the RepositoryName field's value.
  7475  func (s *UploadLayerPartInput) SetRepositoryName(v string) *UploadLayerPartInput {
  7476  	s.RepositoryName = &v
  7477  	return s
  7478  }
  7479  
  7480  // SetUploadId sets the UploadId field's value.
  7481  func (s *UploadLayerPartInput) SetUploadId(v string) *UploadLayerPartInput {
  7482  	s.UploadId = &v
  7483  	return s
  7484  }
  7485  
  7486  type UploadLayerPartOutput struct {
  7487  	_ struct{} `type:"structure"`
  7488  
  7489  	// The integer value of the last byte received in the request.
  7490  	LastByteReceived *int64 `locationName:"lastByteReceived" type:"long"`
  7491  
  7492  	// The registry ID associated with the request.
  7493  	RegistryId *string `locationName:"registryId" type:"string"`
  7494  
  7495  	// The repository name associated with the request.
  7496  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  7497  
  7498  	// The upload ID associated with the request.
  7499  	UploadId *string `locationName:"uploadId" type:"string"`
  7500  }
  7501  
  7502  // String returns the string representation.
  7503  //
  7504  // API parameter values that are decorated as "sensitive" in the API will not
  7505  // be included in the string output. The member name will be present, but the
  7506  // value will be replaced with "sensitive".
  7507  func (s UploadLayerPartOutput) String() string {
  7508  	return awsutil.Prettify(s)
  7509  }
  7510  
  7511  // GoString returns the string representation.
  7512  //
  7513  // API parameter values that are decorated as "sensitive" in the API will not
  7514  // be included in the string output. The member name will be present, but the
  7515  // value will be replaced with "sensitive".
  7516  func (s UploadLayerPartOutput) GoString() string {
  7517  	return s.String()
  7518  }
  7519  
  7520  // SetLastByteReceived sets the LastByteReceived field's value.
  7521  func (s *UploadLayerPartOutput) SetLastByteReceived(v int64) *UploadLayerPartOutput {
  7522  	s.LastByteReceived = &v
  7523  	return s
  7524  }
  7525  
  7526  // SetRegistryId sets the RegistryId field's value.
  7527  func (s *UploadLayerPartOutput) SetRegistryId(v string) *UploadLayerPartOutput {
  7528  	s.RegistryId = &v
  7529  	return s
  7530  }
  7531  
  7532  // SetRepositoryName sets the RepositoryName field's value.
  7533  func (s *UploadLayerPartOutput) SetRepositoryName(v string) *UploadLayerPartOutput {
  7534  	s.RepositoryName = &v
  7535  	return s
  7536  }
  7537  
  7538  // SetUploadId sets the UploadId field's value.
  7539  func (s *UploadLayerPartOutput) SetUploadId(v string) *UploadLayerPartOutput {
  7540  	s.UploadId = &v
  7541  	return s
  7542  }
  7543  
  7544  // The upload could not be found, or the specified upload ID is not valid for
  7545  // this repository.
  7546  type UploadNotFoundException struct {
  7547  	_            struct{}                  `type:"structure"`
  7548  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7549  
  7550  	Message_ *string `locationName:"message" type:"string"`
  7551  }
  7552  
  7553  // String returns the string representation.
  7554  //
  7555  // API parameter values that are decorated as "sensitive" in the API will not
  7556  // be included in the string output. The member name will be present, but the
  7557  // value will be replaced with "sensitive".
  7558  func (s UploadNotFoundException) String() string {
  7559  	return awsutil.Prettify(s)
  7560  }
  7561  
  7562  // GoString returns the string representation.
  7563  //
  7564  // API parameter values that are decorated as "sensitive" in the API will not
  7565  // be included in the string output. The member name will be present, but the
  7566  // value will be replaced with "sensitive".
  7567  func (s UploadNotFoundException) GoString() string {
  7568  	return s.String()
  7569  }
  7570  
  7571  func newErrorUploadNotFoundException(v protocol.ResponseMetadata) error {
  7572  	return &UploadNotFoundException{
  7573  		RespMetadata: v,
  7574  	}
  7575  }
  7576  
  7577  // Code returns the exception type name.
  7578  func (s *UploadNotFoundException) Code() string {
  7579  	return "UploadNotFoundException"
  7580  }
  7581  
  7582  // Message returns the exception's message.
  7583  func (s *UploadNotFoundException) Message() string {
  7584  	if s.Message_ != nil {
  7585  		return *s.Message_
  7586  	}
  7587  	return ""
  7588  }
  7589  
  7590  // OrigErr always returns nil, satisfies awserr.Error interface.
  7591  func (s *UploadNotFoundException) OrigErr() error {
  7592  	return nil
  7593  }
  7594  
  7595  func (s *UploadNotFoundException) Error() string {
  7596  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7597  }
  7598  
  7599  // Status code returns the HTTP status code for the request's response error.
  7600  func (s *UploadNotFoundException) StatusCode() int {
  7601  	return s.RespMetadata.StatusCode
  7602  }
  7603  
  7604  // RequestID returns the service's response RequestID for request.
  7605  func (s *UploadNotFoundException) RequestID() string {
  7606  	return s.RespMetadata.RequestID
  7607  }
  7608  
  7609  const (
  7610  	// ImageFailureCodeInvalidImageDigest is a ImageFailureCode enum value
  7611  	ImageFailureCodeInvalidImageDigest = "InvalidImageDigest"
  7612  
  7613  	// ImageFailureCodeInvalidImageTag is a ImageFailureCode enum value
  7614  	ImageFailureCodeInvalidImageTag = "InvalidImageTag"
  7615  
  7616  	// ImageFailureCodeImageTagDoesNotMatchDigest is a ImageFailureCode enum value
  7617  	ImageFailureCodeImageTagDoesNotMatchDigest = "ImageTagDoesNotMatchDigest"
  7618  
  7619  	// ImageFailureCodeImageNotFound is a ImageFailureCode enum value
  7620  	ImageFailureCodeImageNotFound = "ImageNotFound"
  7621  
  7622  	// ImageFailureCodeMissingDigestAndTag is a ImageFailureCode enum value
  7623  	ImageFailureCodeMissingDigestAndTag = "MissingDigestAndTag"
  7624  
  7625  	// ImageFailureCodeImageReferencedByManifestList is a ImageFailureCode enum value
  7626  	ImageFailureCodeImageReferencedByManifestList = "ImageReferencedByManifestList"
  7627  
  7628  	// ImageFailureCodeKmsError is a ImageFailureCode enum value
  7629  	ImageFailureCodeKmsError = "KmsError"
  7630  )
  7631  
  7632  // ImageFailureCode_Values returns all elements of the ImageFailureCode enum
  7633  func ImageFailureCode_Values() []string {
  7634  	return []string{
  7635  		ImageFailureCodeInvalidImageDigest,
  7636  		ImageFailureCodeInvalidImageTag,
  7637  		ImageFailureCodeImageTagDoesNotMatchDigest,
  7638  		ImageFailureCodeImageNotFound,
  7639  		ImageFailureCodeMissingDigestAndTag,
  7640  		ImageFailureCodeImageReferencedByManifestList,
  7641  		ImageFailureCodeKmsError,
  7642  	}
  7643  }
  7644  
  7645  const (
  7646  	// LayerAvailabilityAvailable is a LayerAvailability enum value
  7647  	LayerAvailabilityAvailable = "AVAILABLE"
  7648  
  7649  	// LayerAvailabilityUnavailable is a LayerAvailability enum value
  7650  	LayerAvailabilityUnavailable = "UNAVAILABLE"
  7651  )
  7652  
  7653  // LayerAvailability_Values returns all elements of the LayerAvailability enum
  7654  func LayerAvailability_Values() []string {
  7655  	return []string{
  7656  		LayerAvailabilityAvailable,
  7657  		LayerAvailabilityUnavailable,
  7658  	}
  7659  }
  7660  
  7661  const (
  7662  	// LayerFailureCodeInvalidLayerDigest is a LayerFailureCode enum value
  7663  	LayerFailureCodeInvalidLayerDigest = "InvalidLayerDigest"
  7664  
  7665  	// LayerFailureCodeMissingLayerDigest is a LayerFailureCode enum value
  7666  	LayerFailureCodeMissingLayerDigest = "MissingLayerDigest"
  7667  )
  7668  
  7669  // LayerFailureCode_Values returns all elements of the LayerFailureCode enum
  7670  func LayerFailureCode_Values() []string {
  7671  	return []string{
  7672  		LayerFailureCodeInvalidLayerDigest,
  7673  		LayerFailureCodeMissingLayerDigest,
  7674  	}
  7675  }
  7676  
  7677  const (
  7678  	// RegistryAliasStatusActive is a RegistryAliasStatus enum value
  7679  	RegistryAliasStatusActive = "ACTIVE"
  7680  
  7681  	// RegistryAliasStatusPending is a RegistryAliasStatus enum value
  7682  	RegistryAliasStatusPending = "PENDING"
  7683  
  7684  	// RegistryAliasStatusRejected is a RegistryAliasStatus enum value
  7685  	RegistryAliasStatusRejected = "REJECTED"
  7686  )
  7687  
  7688  // RegistryAliasStatus_Values returns all elements of the RegistryAliasStatus enum
  7689  func RegistryAliasStatus_Values() []string {
  7690  	return []string{
  7691  		RegistryAliasStatusActive,
  7692  		RegistryAliasStatusPending,
  7693  		RegistryAliasStatusRejected,
  7694  	}
  7695  }