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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package ecr
     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-2015-09-21/BatchCheckLayerAvailability
    42  func (c *ECR) 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 EC2 Container Registry.
    59  //
    60  // Checks the availability of one or more image layers in a repository.
    61  //
    62  // When an image is pushed to a repository, each image layer is checked to verify
    63  // if it has been uploaded before. If it has been uploaded, then the image layer
    64  // is skipped.
    65  //
    66  // This operation is used by the Amazon ECR proxy and is not generally used
    67  // by customers for pulling and pushing images. In most cases, you should use
    68  // the docker CLI to pull, tag, and push images.
    69  //
    70  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    71  // with awserr.Error's Code and Message methods to get detailed information about
    72  // the error.
    73  //
    74  // See the AWS API reference guide for Amazon EC2 Container Registry's
    75  // API operation BatchCheckLayerAvailability for usage and error information.
    76  //
    77  // Returned Error Types:
    78  //   * RepositoryNotFoundException
    79  //   The specified repository could not be found. Check the spelling of the specified
    80  //   repository and ensure that you are performing operations on the correct registry.
    81  //
    82  //   * InvalidParameterException
    83  //   The specified parameter is invalid. Review the available parameters for the
    84  //   API request.
    85  //
    86  //   * ServerException
    87  //   These errors are usually caused by a server-side issue.
    88  //
    89  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchCheckLayerAvailability
    90  func (c *ECR) BatchCheckLayerAvailability(input *BatchCheckLayerAvailabilityInput) (*BatchCheckLayerAvailabilityOutput, error) {
    91  	req, out := c.BatchCheckLayerAvailabilityRequest(input)
    92  	return out, req.Send()
    93  }
    94  
    95  // BatchCheckLayerAvailabilityWithContext is the same as BatchCheckLayerAvailability with the addition of
    96  // the ability to pass a context and additional request options.
    97  //
    98  // See BatchCheckLayerAvailability for details on how to use this API operation.
    99  //
   100  // The context must be non-nil and will be used for request cancellation. If
   101  // the context is nil a panic will occur. In the future the SDK may create
   102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   103  // for more information on using Contexts.
   104  func (c *ECR) BatchCheckLayerAvailabilityWithContext(ctx aws.Context, input *BatchCheckLayerAvailabilityInput, opts ...request.Option) (*BatchCheckLayerAvailabilityOutput, error) {
   105  	req, out := c.BatchCheckLayerAvailabilityRequest(input)
   106  	req.SetContext(ctx)
   107  	req.ApplyOptions(opts...)
   108  	return out, req.Send()
   109  }
   110  
   111  const opBatchDeleteImage = "BatchDeleteImage"
   112  
   113  // BatchDeleteImageRequest generates a "aws/request.Request" representing the
   114  // client's request for the BatchDeleteImage operation. The "output" return
   115  // value will be populated with the request's response once the request completes
   116  // successfully.
   117  //
   118  // Use "Send" method on the returned Request to send the API call to the service.
   119  // the "output" return value is not valid until after Send returns without error.
   120  //
   121  // See BatchDeleteImage for more information on using the BatchDeleteImage
   122  // API call, and error handling.
   123  //
   124  // This method is useful when you want to inject custom logic or configuration
   125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   126  //
   127  //
   128  //    // Example sending a request using the BatchDeleteImageRequest method.
   129  //    req, resp := client.BatchDeleteImageRequest(params)
   130  //
   131  //    err := req.Send()
   132  //    if err == nil { // resp is now filled
   133  //        fmt.Println(resp)
   134  //    }
   135  //
   136  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchDeleteImage
   137  func (c *ECR) BatchDeleteImageRequest(input *BatchDeleteImageInput) (req *request.Request, output *BatchDeleteImageOutput) {
   138  	op := &request.Operation{
   139  		Name:       opBatchDeleteImage,
   140  		HTTPMethod: "POST",
   141  		HTTPPath:   "/",
   142  	}
   143  
   144  	if input == nil {
   145  		input = &BatchDeleteImageInput{}
   146  	}
   147  
   148  	output = &BatchDeleteImageOutput{}
   149  	req = c.newRequest(op, input, output)
   150  	return
   151  }
   152  
   153  // BatchDeleteImage API operation for Amazon EC2 Container Registry.
   154  //
   155  // Deletes a list of specified images within a repository. Images are specified
   156  // with either an imageTag or imageDigest.
   157  //
   158  // You can remove a tag from an image by specifying the image's tag in your
   159  // request. When you remove the last tag from an image, the image is deleted
   160  // from your repository.
   161  //
   162  // You can completely delete an image (and all of its tags) by specifying the
   163  // image's digest in your request.
   164  //
   165  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   166  // with awserr.Error's Code and Message methods to get detailed information about
   167  // the error.
   168  //
   169  // See the AWS API reference guide for Amazon EC2 Container Registry's
   170  // API operation BatchDeleteImage for usage and error information.
   171  //
   172  // Returned Error Types:
   173  //   * ServerException
   174  //   These errors are usually caused by a server-side issue.
   175  //
   176  //   * InvalidParameterException
   177  //   The specified parameter is invalid. Review the available parameters for the
   178  //   API request.
   179  //
   180  //   * RepositoryNotFoundException
   181  //   The specified repository could not be found. Check the spelling of the specified
   182  //   repository and ensure that you are performing operations on the correct registry.
   183  //
   184  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchDeleteImage
   185  func (c *ECR) BatchDeleteImage(input *BatchDeleteImageInput) (*BatchDeleteImageOutput, error) {
   186  	req, out := c.BatchDeleteImageRequest(input)
   187  	return out, req.Send()
   188  }
   189  
   190  // BatchDeleteImageWithContext is the same as BatchDeleteImage with the addition of
   191  // the ability to pass a context and additional request options.
   192  //
   193  // See BatchDeleteImage for details on how to use this API operation.
   194  //
   195  // The context must be non-nil and will be used for request cancellation. If
   196  // the context is nil a panic will occur. In the future the SDK may create
   197  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   198  // for more information on using Contexts.
   199  func (c *ECR) BatchDeleteImageWithContext(ctx aws.Context, input *BatchDeleteImageInput, opts ...request.Option) (*BatchDeleteImageOutput, error) {
   200  	req, out := c.BatchDeleteImageRequest(input)
   201  	req.SetContext(ctx)
   202  	req.ApplyOptions(opts...)
   203  	return out, req.Send()
   204  }
   205  
   206  const opBatchGetImage = "BatchGetImage"
   207  
   208  // BatchGetImageRequest generates a "aws/request.Request" representing the
   209  // client's request for the BatchGetImage operation. The "output" return
   210  // value will be populated with the request's response once the request completes
   211  // successfully.
   212  //
   213  // Use "Send" method on the returned Request to send the API call to the service.
   214  // the "output" return value is not valid until after Send returns without error.
   215  //
   216  // See BatchGetImage for more information on using the BatchGetImage
   217  // API call, and error handling.
   218  //
   219  // This method is useful when you want to inject custom logic or configuration
   220  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   221  //
   222  //
   223  //    // Example sending a request using the BatchGetImageRequest method.
   224  //    req, resp := client.BatchGetImageRequest(params)
   225  //
   226  //    err := req.Send()
   227  //    if err == nil { // resp is now filled
   228  //        fmt.Println(resp)
   229  //    }
   230  //
   231  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage
   232  func (c *ECR) BatchGetImageRequest(input *BatchGetImageInput) (req *request.Request, output *BatchGetImageOutput) {
   233  	op := &request.Operation{
   234  		Name:       opBatchGetImage,
   235  		HTTPMethod: "POST",
   236  		HTTPPath:   "/",
   237  	}
   238  
   239  	if input == nil {
   240  		input = &BatchGetImageInput{}
   241  	}
   242  
   243  	output = &BatchGetImageOutput{}
   244  	req = c.newRequest(op, input, output)
   245  	return
   246  }
   247  
   248  // BatchGetImage API operation for Amazon EC2 Container Registry.
   249  //
   250  // Gets detailed information for an image. Images are specified with either
   251  // an imageTag or imageDigest.
   252  //
   253  // When an image is pulled, the BatchGetImage API is called once to retrieve
   254  // the image manifest.
   255  //
   256  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   257  // with awserr.Error's Code and Message methods to get detailed information about
   258  // the error.
   259  //
   260  // See the AWS API reference guide for Amazon EC2 Container Registry's
   261  // API operation BatchGetImage for usage and error information.
   262  //
   263  // Returned Error Types:
   264  //   * ServerException
   265  //   These errors are usually caused by a server-side issue.
   266  //
   267  //   * InvalidParameterException
   268  //   The specified parameter is invalid. Review the available parameters for the
   269  //   API request.
   270  //
   271  //   * RepositoryNotFoundException
   272  //   The specified repository could not be found. Check the spelling of the specified
   273  //   repository and ensure that you are performing operations on the correct registry.
   274  //
   275  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage
   276  func (c *ECR) BatchGetImage(input *BatchGetImageInput) (*BatchGetImageOutput, error) {
   277  	req, out := c.BatchGetImageRequest(input)
   278  	return out, req.Send()
   279  }
   280  
   281  // BatchGetImageWithContext is the same as BatchGetImage with the addition of
   282  // the ability to pass a context and additional request options.
   283  //
   284  // See BatchGetImage for details on how to use this API operation.
   285  //
   286  // The context must be non-nil and will be used for request cancellation. If
   287  // the context is nil a panic will occur. In the future the SDK may create
   288  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   289  // for more information on using Contexts.
   290  func (c *ECR) BatchGetImageWithContext(ctx aws.Context, input *BatchGetImageInput, opts ...request.Option) (*BatchGetImageOutput, error) {
   291  	req, out := c.BatchGetImageRequest(input)
   292  	req.SetContext(ctx)
   293  	req.ApplyOptions(opts...)
   294  	return out, req.Send()
   295  }
   296  
   297  const opCompleteLayerUpload = "CompleteLayerUpload"
   298  
   299  // CompleteLayerUploadRequest generates a "aws/request.Request" representing the
   300  // client's request for the CompleteLayerUpload operation. The "output" return
   301  // value will be populated with the request's response once the request completes
   302  // successfully.
   303  //
   304  // Use "Send" method on the returned Request to send the API call to the service.
   305  // the "output" return value is not valid until after Send returns without error.
   306  //
   307  // See CompleteLayerUpload for more information on using the CompleteLayerUpload
   308  // API call, and error handling.
   309  //
   310  // This method is useful when you want to inject custom logic or configuration
   311  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   312  //
   313  //
   314  //    // Example sending a request using the CompleteLayerUploadRequest method.
   315  //    req, resp := client.CompleteLayerUploadRequest(params)
   316  //
   317  //    err := req.Send()
   318  //    if err == nil { // resp is now filled
   319  //        fmt.Println(resp)
   320  //    }
   321  //
   322  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CompleteLayerUpload
   323  func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req *request.Request, output *CompleteLayerUploadOutput) {
   324  	op := &request.Operation{
   325  		Name:       opCompleteLayerUpload,
   326  		HTTPMethod: "POST",
   327  		HTTPPath:   "/",
   328  	}
   329  
   330  	if input == nil {
   331  		input = &CompleteLayerUploadInput{}
   332  	}
   333  
   334  	output = &CompleteLayerUploadOutput{}
   335  	req = c.newRequest(op, input, output)
   336  	return
   337  }
   338  
   339  // CompleteLayerUpload API operation for Amazon EC2 Container Registry.
   340  //
   341  // Informs Amazon ECR that the image layer upload has completed for a specified
   342  // registry, repository name, and upload ID. You can optionally provide a sha256
   343  // digest of the image layer for data validation purposes.
   344  //
   345  // When an image is pushed, the CompleteLayerUpload API is called once per each
   346  // new image layer to verify that the upload has completed.
   347  //
   348  // This operation is used by the Amazon ECR proxy and is not generally used
   349  // by customers for pulling and pushing images. In most cases, you should use
   350  // the docker CLI to pull, tag, and push images.
   351  //
   352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   353  // with awserr.Error's Code and Message methods to get detailed information about
   354  // the error.
   355  //
   356  // See the AWS API reference guide for Amazon EC2 Container Registry's
   357  // API operation CompleteLayerUpload for usage and error information.
   358  //
   359  // Returned Error Types:
   360  //   * ServerException
   361  //   These errors are usually caused by a server-side issue.
   362  //
   363  //   * InvalidParameterException
   364  //   The specified parameter is invalid. Review the available parameters for the
   365  //   API request.
   366  //
   367  //   * RepositoryNotFoundException
   368  //   The specified repository could not be found. Check the spelling of the specified
   369  //   repository and ensure that you are performing operations on the correct registry.
   370  //
   371  //   * UploadNotFoundException
   372  //   The upload could not be found, or the specified upload ID is not valid for
   373  //   this repository.
   374  //
   375  //   * InvalidLayerException
   376  //   The layer digest calculation performed by Amazon ECR upon receipt of the
   377  //   image layer does not match the digest specified.
   378  //
   379  //   * LayerPartTooSmallException
   380  //   Layer parts must be at least 5 MiB in size.
   381  //
   382  //   * LayerAlreadyExistsException
   383  //   The image layer already exists in the associated repository.
   384  //
   385  //   * EmptyUploadException
   386  //   The specified layer upload does not contain any layer parts.
   387  //
   388  //   * KmsException
   389  //   The operation failed due to a KMS exception.
   390  //
   391  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CompleteLayerUpload
   392  func (c *ECR) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLayerUploadOutput, error) {
   393  	req, out := c.CompleteLayerUploadRequest(input)
   394  	return out, req.Send()
   395  }
   396  
   397  // CompleteLayerUploadWithContext is the same as CompleteLayerUpload with the addition of
   398  // the ability to pass a context and additional request options.
   399  //
   400  // See CompleteLayerUpload for details on how to use this API operation.
   401  //
   402  // The context must be non-nil and will be used for request cancellation. If
   403  // the context is nil a panic will occur. In the future the SDK may create
   404  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   405  // for more information on using Contexts.
   406  func (c *ECR) CompleteLayerUploadWithContext(ctx aws.Context, input *CompleteLayerUploadInput, opts ...request.Option) (*CompleteLayerUploadOutput, error) {
   407  	req, out := c.CompleteLayerUploadRequest(input)
   408  	req.SetContext(ctx)
   409  	req.ApplyOptions(opts...)
   410  	return out, req.Send()
   411  }
   412  
   413  const opCreateRepository = "CreateRepository"
   414  
   415  // CreateRepositoryRequest generates a "aws/request.Request" representing the
   416  // client's request for the CreateRepository operation. The "output" return
   417  // value will be populated with the request's response once the request completes
   418  // successfully.
   419  //
   420  // Use "Send" method on the returned Request to send the API call to the service.
   421  // the "output" return value is not valid until after Send returns without error.
   422  //
   423  // See CreateRepository for more information on using the CreateRepository
   424  // API call, and error handling.
   425  //
   426  // This method is useful when you want to inject custom logic or configuration
   427  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   428  //
   429  //
   430  //    // Example sending a request using the CreateRepositoryRequest method.
   431  //    req, resp := client.CreateRepositoryRequest(params)
   432  //
   433  //    err := req.Send()
   434  //    if err == nil { // resp is now filled
   435  //        fmt.Println(resp)
   436  //    }
   437  //
   438  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository
   439  func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *request.Request, output *CreateRepositoryOutput) {
   440  	op := &request.Operation{
   441  		Name:       opCreateRepository,
   442  		HTTPMethod: "POST",
   443  		HTTPPath:   "/",
   444  	}
   445  
   446  	if input == nil {
   447  		input = &CreateRepositoryInput{}
   448  	}
   449  
   450  	output = &CreateRepositoryOutput{}
   451  	req = c.newRequest(op, input, output)
   452  	return
   453  }
   454  
   455  // CreateRepository API operation for Amazon EC2 Container Registry.
   456  //
   457  // Creates a repository. For more information, see Amazon ECR repositories (https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html)
   458  // in the Amazon Elastic Container Registry User Guide.
   459  //
   460  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   461  // with awserr.Error's Code and Message methods to get detailed information about
   462  // the error.
   463  //
   464  // See the AWS API reference guide for Amazon EC2 Container Registry's
   465  // API operation CreateRepository for usage and error information.
   466  //
   467  // Returned Error Types:
   468  //   * ServerException
   469  //   These errors are usually caused by a server-side issue.
   470  //
   471  //   * InvalidParameterException
   472  //   The specified parameter is invalid. Review the available parameters for the
   473  //   API request.
   474  //
   475  //   * InvalidTagParameterException
   476  //   An invalid parameter has been specified. Tag keys can have a maximum character
   477  //   length of 128 characters, and tag values can have a maximum length of 256
   478  //   characters.
   479  //
   480  //   * TooManyTagsException
   481  //   The list of tags on the repository is over the limit. The maximum number
   482  //   of tags that can be applied to a repository is 50.
   483  //
   484  //   * RepositoryAlreadyExistsException
   485  //   The specified repository already exists in the specified registry.
   486  //
   487  //   * LimitExceededException
   488  //   The operation did not succeed because it would have exceeded a service limit
   489  //   for your account. For more information, see Amazon ECR service quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
   490  //   in the Amazon Elastic Container Registry User Guide.
   491  //
   492  //   * KmsException
   493  //   The operation failed due to a KMS exception.
   494  //
   495  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository
   496  func (c *ECR) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) {
   497  	req, out := c.CreateRepositoryRequest(input)
   498  	return out, req.Send()
   499  }
   500  
   501  // CreateRepositoryWithContext is the same as CreateRepository with the addition of
   502  // the ability to pass a context and additional request options.
   503  //
   504  // See CreateRepository for details on how to use this API operation.
   505  //
   506  // The context must be non-nil and will be used for request cancellation. If
   507  // the context is nil a panic will occur. In the future the SDK may create
   508  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   509  // for more information on using Contexts.
   510  func (c *ECR) CreateRepositoryWithContext(ctx aws.Context, input *CreateRepositoryInput, opts ...request.Option) (*CreateRepositoryOutput, error) {
   511  	req, out := c.CreateRepositoryRequest(input)
   512  	req.SetContext(ctx)
   513  	req.ApplyOptions(opts...)
   514  	return out, req.Send()
   515  }
   516  
   517  const opDeleteLifecyclePolicy = "DeleteLifecyclePolicy"
   518  
   519  // DeleteLifecyclePolicyRequest generates a "aws/request.Request" representing the
   520  // client's request for the DeleteLifecyclePolicy operation. The "output" return
   521  // value will be populated with the request's response once the request completes
   522  // successfully.
   523  //
   524  // Use "Send" method on the returned Request to send the API call to the service.
   525  // the "output" return value is not valid until after Send returns without error.
   526  //
   527  // See DeleteLifecyclePolicy for more information on using the DeleteLifecyclePolicy
   528  // API call, and error handling.
   529  //
   530  // This method is useful when you want to inject custom logic or configuration
   531  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   532  //
   533  //
   534  //    // Example sending a request using the DeleteLifecyclePolicyRequest method.
   535  //    req, resp := client.DeleteLifecyclePolicyRequest(params)
   536  //
   537  //    err := req.Send()
   538  //    if err == nil { // resp is now filled
   539  //        fmt.Println(resp)
   540  //    }
   541  //
   542  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteLifecyclePolicy
   543  func (c *ECR) DeleteLifecyclePolicyRequest(input *DeleteLifecyclePolicyInput) (req *request.Request, output *DeleteLifecyclePolicyOutput) {
   544  	op := &request.Operation{
   545  		Name:       opDeleteLifecyclePolicy,
   546  		HTTPMethod: "POST",
   547  		HTTPPath:   "/",
   548  	}
   549  
   550  	if input == nil {
   551  		input = &DeleteLifecyclePolicyInput{}
   552  	}
   553  
   554  	output = &DeleteLifecyclePolicyOutput{}
   555  	req = c.newRequest(op, input, output)
   556  	return
   557  }
   558  
   559  // DeleteLifecyclePolicy API operation for Amazon EC2 Container Registry.
   560  //
   561  // Deletes the lifecycle policy associated with the specified repository.
   562  //
   563  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   564  // with awserr.Error's Code and Message methods to get detailed information about
   565  // the error.
   566  //
   567  // See the AWS API reference guide for Amazon EC2 Container Registry's
   568  // API operation DeleteLifecyclePolicy for usage and error information.
   569  //
   570  // Returned Error Types:
   571  //   * ServerException
   572  //   These errors are usually caused by a server-side issue.
   573  //
   574  //   * InvalidParameterException
   575  //   The specified parameter is invalid. Review the available parameters for the
   576  //   API request.
   577  //
   578  //   * RepositoryNotFoundException
   579  //   The specified repository could not be found. Check the spelling of the specified
   580  //   repository and ensure that you are performing operations on the correct registry.
   581  //
   582  //   * LifecyclePolicyNotFoundException
   583  //   The lifecycle policy could not be found, and no policy is set to the repository.
   584  //
   585  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteLifecyclePolicy
   586  func (c *ECR) DeleteLifecyclePolicy(input *DeleteLifecyclePolicyInput) (*DeleteLifecyclePolicyOutput, error) {
   587  	req, out := c.DeleteLifecyclePolicyRequest(input)
   588  	return out, req.Send()
   589  }
   590  
   591  // DeleteLifecyclePolicyWithContext is the same as DeleteLifecyclePolicy with the addition of
   592  // the ability to pass a context and additional request options.
   593  //
   594  // See DeleteLifecyclePolicy for details on how to use this API operation.
   595  //
   596  // The context must be non-nil and will be used for request cancellation. If
   597  // the context is nil a panic will occur. In the future the SDK may create
   598  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   599  // for more information on using Contexts.
   600  func (c *ECR) DeleteLifecyclePolicyWithContext(ctx aws.Context, input *DeleteLifecyclePolicyInput, opts ...request.Option) (*DeleteLifecyclePolicyOutput, error) {
   601  	req, out := c.DeleteLifecyclePolicyRequest(input)
   602  	req.SetContext(ctx)
   603  	req.ApplyOptions(opts...)
   604  	return out, req.Send()
   605  }
   606  
   607  const opDeleteRegistryPolicy = "DeleteRegistryPolicy"
   608  
   609  // DeleteRegistryPolicyRequest generates a "aws/request.Request" representing the
   610  // client's request for the DeleteRegistryPolicy operation. The "output" return
   611  // value will be populated with the request's response once the request completes
   612  // successfully.
   613  //
   614  // Use "Send" method on the returned Request to send the API call to the service.
   615  // the "output" return value is not valid until after Send returns without error.
   616  //
   617  // See DeleteRegistryPolicy for more information on using the DeleteRegistryPolicy
   618  // API call, and error handling.
   619  //
   620  // This method is useful when you want to inject custom logic or configuration
   621  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   622  //
   623  //
   624  //    // Example sending a request using the DeleteRegistryPolicyRequest method.
   625  //    req, resp := client.DeleteRegistryPolicyRequest(params)
   626  //
   627  //    err := req.Send()
   628  //    if err == nil { // resp is now filled
   629  //        fmt.Println(resp)
   630  //    }
   631  //
   632  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRegistryPolicy
   633  func (c *ECR) DeleteRegistryPolicyRequest(input *DeleteRegistryPolicyInput) (req *request.Request, output *DeleteRegistryPolicyOutput) {
   634  	op := &request.Operation{
   635  		Name:       opDeleteRegistryPolicy,
   636  		HTTPMethod: "POST",
   637  		HTTPPath:   "/",
   638  	}
   639  
   640  	if input == nil {
   641  		input = &DeleteRegistryPolicyInput{}
   642  	}
   643  
   644  	output = &DeleteRegistryPolicyOutput{}
   645  	req = c.newRequest(op, input, output)
   646  	return
   647  }
   648  
   649  // DeleteRegistryPolicy API operation for Amazon EC2 Container Registry.
   650  //
   651  // Deletes the registry permissions policy.
   652  //
   653  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   654  // with awserr.Error's Code and Message methods to get detailed information about
   655  // the error.
   656  //
   657  // See the AWS API reference guide for Amazon EC2 Container Registry's
   658  // API operation DeleteRegistryPolicy for usage and error information.
   659  //
   660  // Returned Error Types:
   661  //   * ServerException
   662  //   These errors are usually caused by a server-side issue.
   663  //
   664  //   * InvalidParameterException
   665  //   The specified parameter is invalid. Review the available parameters for the
   666  //   API request.
   667  //
   668  //   * RegistryPolicyNotFoundException
   669  //   The registry doesn't have an associated registry policy.
   670  //
   671  //   * ValidationException
   672  //   There was an exception validating this request.
   673  //
   674  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRegistryPolicy
   675  func (c *ECR) DeleteRegistryPolicy(input *DeleteRegistryPolicyInput) (*DeleteRegistryPolicyOutput, error) {
   676  	req, out := c.DeleteRegistryPolicyRequest(input)
   677  	return out, req.Send()
   678  }
   679  
   680  // DeleteRegistryPolicyWithContext is the same as DeleteRegistryPolicy with the addition of
   681  // the ability to pass a context and additional request options.
   682  //
   683  // See DeleteRegistryPolicy for details on how to use this API operation.
   684  //
   685  // The context must be non-nil and will be used for request cancellation. If
   686  // the context is nil a panic will occur. In the future the SDK may create
   687  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   688  // for more information on using Contexts.
   689  func (c *ECR) DeleteRegistryPolicyWithContext(ctx aws.Context, input *DeleteRegistryPolicyInput, opts ...request.Option) (*DeleteRegistryPolicyOutput, error) {
   690  	req, out := c.DeleteRegistryPolicyRequest(input)
   691  	req.SetContext(ctx)
   692  	req.ApplyOptions(opts...)
   693  	return out, req.Send()
   694  }
   695  
   696  const opDeleteRepository = "DeleteRepository"
   697  
   698  // DeleteRepositoryRequest generates a "aws/request.Request" representing the
   699  // client's request for the DeleteRepository operation. The "output" return
   700  // value will be populated with the request's response once the request completes
   701  // successfully.
   702  //
   703  // Use "Send" method on the returned Request to send the API call to the service.
   704  // the "output" return value is not valid until after Send returns without error.
   705  //
   706  // See DeleteRepository for more information on using the DeleteRepository
   707  // API call, and error handling.
   708  //
   709  // This method is useful when you want to inject custom logic or configuration
   710  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   711  //
   712  //
   713  //    // Example sending a request using the DeleteRepositoryRequest method.
   714  //    req, resp := client.DeleteRepositoryRequest(params)
   715  //
   716  //    err := req.Send()
   717  //    if err == nil { // resp is now filled
   718  //        fmt.Println(resp)
   719  //    }
   720  //
   721  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository
   722  func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) {
   723  	op := &request.Operation{
   724  		Name:       opDeleteRepository,
   725  		HTTPMethod: "POST",
   726  		HTTPPath:   "/",
   727  	}
   728  
   729  	if input == nil {
   730  		input = &DeleteRepositoryInput{}
   731  	}
   732  
   733  	output = &DeleteRepositoryOutput{}
   734  	req = c.newRequest(op, input, output)
   735  	return
   736  }
   737  
   738  // DeleteRepository API operation for Amazon EC2 Container Registry.
   739  //
   740  // Deletes a repository. If the repository contains images, you must either
   741  // delete all images in the repository or use the force option to delete the
   742  // repository.
   743  //
   744  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   745  // with awserr.Error's Code and Message methods to get detailed information about
   746  // the error.
   747  //
   748  // See the AWS API reference guide for Amazon EC2 Container Registry's
   749  // API operation DeleteRepository for usage and error information.
   750  //
   751  // Returned Error Types:
   752  //   * ServerException
   753  //   These errors are usually caused by a server-side issue.
   754  //
   755  //   * InvalidParameterException
   756  //   The specified parameter is invalid. Review the available parameters for the
   757  //   API request.
   758  //
   759  //   * RepositoryNotFoundException
   760  //   The specified repository could not be found. Check the spelling of the specified
   761  //   repository and ensure that you are performing operations on the correct registry.
   762  //
   763  //   * RepositoryNotEmptyException
   764  //   The specified repository contains images. To delete a repository that contains
   765  //   images, you must force the deletion with the force parameter.
   766  //
   767  //   * KmsException
   768  //   The operation failed due to a KMS exception.
   769  //
   770  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository
   771  func (c *ECR) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) {
   772  	req, out := c.DeleteRepositoryRequest(input)
   773  	return out, req.Send()
   774  }
   775  
   776  // DeleteRepositoryWithContext is the same as DeleteRepository with the addition of
   777  // the ability to pass a context and additional request options.
   778  //
   779  // See DeleteRepository for details on how to use this API operation.
   780  //
   781  // The context must be non-nil and will be used for request cancellation. If
   782  // the context is nil a panic will occur. In the future the SDK may create
   783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   784  // for more information on using Contexts.
   785  func (c *ECR) DeleteRepositoryWithContext(ctx aws.Context, input *DeleteRepositoryInput, opts ...request.Option) (*DeleteRepositoryOutput, error) {
   786  	req, out := c.DeleteRepositoryRequest(input)
   787  	req.SetContext(ctx)
   788  	req.ApplyOptions(opts...)
   789  	return out, req.Send()
   790  }
   791  
   792  const opDeleteRepositoryPolicy = "DeleteRepositoryPolicy"
   793  
   794  // DeleteRepositoryPolicyRequest generates a "aws/request.Request" representing the
   795  // client's request for the DeleteRepositoryPolicy operation. The "output" return
   796  // value will be populated with the request's response once the request completes
   797  // successfully.
   798  //
   799  // Use "Send" method on the returned Request to send the API call to the service.
   800  // the "output" return value is not valid until after Send returns without error.
   801  //
   802  // See DeleteRepositoryPolicy for more information on using the DeleteRepositoryPolicy
   803  // API call, and error handling.
   804  //
   805  // This method is useful when you want to inject custom logic or configuration
   806  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   807  //
   808  //
   809  //    // Example sending a request using the DeleteRepositoryPolicyRequest method.
   810  //    req, resp := client.DeleteRepositoryPolicyRequest(params)
   811  //
   812  //    err := req.Send()
   813  //    if err == nil { // resp is now filled
   814  //        fmt.Println(resp)
   815  //    }
   816  //
   817  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepositoryPolicy
   818  func (c *ECR) DeleteRepositoryPolicyRequest(input *DeleteRepositoryPolicyInput) (req *request.Request, output *DeleteRepositoryPolicyOutput) {
   819  	op := &request.Operation{
   820  		Name:       opDeleteRepositoryPolicy,
   821  		HTTPMethod: "POST",
   822  		HTTPPath:   "/",
   823  	}
   824  
   825  	if input == nil {
   826  		input = &DeleteRepositoryPolicyInput{}
   827  	}
   828  
   829  	output = &DeleteRepositoryPolicyOutput{}
   830  	req = c.newRequest(op, input, output)
   831  	return
   832  }
   833  
   834  // DeleteRepositoryPolicy API operation for Amazon EC2 Container Registry.
   835  //
   836  // Deletes the repository policy associated with the specified repository.
   837  //
   838  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   839  // with awserr.Error's Code and Message methods to get detailed information about
   840  // the error.
   841  //
   842  // See the AWS API reference guide for Amazon EC2 Container Registry's
   843  // API operation DeleteRepositoryPolicy for usage and error information.
   844  //
   845  // Returned Error Types:
   846  //   * ServerException
   847  //   These errors are usually caused by a server-side issue.
   848  //
   849  //   * InvalidParameterException
   850  //   The specified parameter is invalid. Review the available parameters for the
   851  //   API request.
   852  //
   853  //   * RepositoryNotFoundException
   854  //   The specified repository could not be found. Check the spelling of the specified
   855  //   repository and ensure that you are performing operations on the correct registry.
   856  //
   857  //   * RepositoryPolicyNotFoundException
   858  //   The specified repository and registry combination does not have an associated
   859  //   repository policy.
   860  //
   861  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepositoryPolicy
   862  func (c *ECR) DeleteRepositoryPolicy(input *DeleteRepositoryPolicyInput) (*DeleteRepositoryPolicyOutput, error) {
   863  	req, out := c.DeleteRepositoryPolicyRequest(input)
   864  	return out, req.Send()
   865  }
   866  
   867  // DeleteRepositoryPolicyWithContext is the same as DeleteRepositoryPolicy with the addition of
   868  // the ability to pass a context and additional request options.
   869  //
   870  // See DeleteRepositoryPolicy for details on how to use this API operation.
   871  //
   872  // The context must be non-nil and will be used for request cancellation. If
   873  // the context is nil a panic will occur. In the future the SDK may create
   874  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   875  // for more information on using Contexts.
   876  func (c *ECR) DeleteRepositoryPolicyWithContext(ctx aws.Context, input *DeleteRepositoryPolicyInput, opts ...request.Option) (*DeleteRepositoryPolicyOutput, error) {
   877  	req, out := c.DeleteRepositoryPolicyRequest(input)
   878  	req.SetContext(ctx)
   879  	req.ApplyOptions(opts...)
   880  	return out, req.Send()
   881  }
   882  
   883  const opDescribeImageReplicationStatus = "DescribeImageReplicationStatus"
   884  
   885  // DescribeImageReplicationStatusRequest generates a "aws/request.Request" representing the
   886  // client's request for the DescribeImageReplicationStatus operation. The "output" return
   887  // value will be populated with the request's response once the request completes
   888  // successfully.
   889  //
   890  // Use "Send" method on the returned Request to send the API call to the service.
   891  // the "output" return value is not valid until after Send returns without error.
   892  //
   893  // See DescribeImageReplicationStatus for more information on using the DescribeImageReplicationStatus
   894  // API call, and error handling.
   895  //
   896  // This method is useful when you want to inject custom logic or configuration
   897  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   898  //
   899  //
   900  //    // Example sending a request using the DescribeImageReplicationStatusRequest method.
   901  //    req, resp := client.DescribeImageReplicationStatusRequest(params)
   902  //
   903  //    err := req.Send()
   904  //    if err == nil { // resp is now filled
   905  //        fmt.Println(resp)
   906  //    }
   907  //
   908  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageReplicationStatus
   909  func (c *ECR) DescribeImageReplicationStatusRequest(input *DescribeImageReplicationStatusInput) (req *request.Request, output *DescribeImageReplicationStatusOutput) {
   910  	op := &request.Operation{
   911  		Name:       opDescribeImageReplicationStatus,
   912  		HTTPMethod: "POST",
   913  		HTTPPath:   "/",
   914  	}
   915  
   916  	if input == nil {
   917  		input = &DescribeImageReplicationStatusInput{}
   918  	}
   919  
   920  	output = &DescribeImageReplicationStatusOutput{}
   921  	req = c.newRequest(op, input, output)
   922  	return
   923  }
   924  
   925  // DescribeImageReplicationStatus API operation for Amazon EC2 Container Registry.
   926  //
   927  // Returns the replication status for a specified image.
   928  //
   929  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   930  // with awserr.Error's Code and Message methods to get detailed information about
   931  // the error.
   932  //
   933  // See the AWS API reference guide for Amazon EC2 Container Registry's
   934  // API operation DescribeImageReplicationStatus for usage and error information.
   935  //
   936  // Returned Error Types:
   937  //   * ServerException
   938  //   These errors are usually caused by a server-side issue.
   939  //
   940  //   * InvalidParameterException
   941  //   The specified parameter is invalid. Review the available parameters for the
   942  //   API request.
   943  //
   944  //   * ImageNotFoundException
   945  //   The image requested does not exist in the specified repository.
   946  //
   947  //   * RepositoryNotFoundException
   948  //   The specified repository could not be found. Check the spelling of the specified
   949  //   repository and ensure that you are performing operations on the correct registry.
   950  //
   951  //   * ValidationException
   952  //   There was an exception validating this request.
   953  //
   954  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageReplicationStatus
   955  func (c *ECR) DescribeImageReplicationStatus(input *DescribeImageReplicationStatusInput) (*DescribeImageReplicationStatusOutput, error) {
   956  	req, out := c.DescribeImageReplicationStatusRequest(input)
   957  	return out, req.Send()
   958  }
   959  
   960  // DescribeImageReplicationStatusWithContext is the same as DescribeImageReplicationStatus with the addition of
   961  // the ability to pass a context and additional request options.
   962  //
   963  // See DescribeImageReplicationStatus for details on how to use this API operation.
   964  //
   965  // The context must be non-nil and will be used for request cancellation. If
   966  // the context is nil a panic will occur. In the future the SDK may create
   967  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   968  // for more information on using Contexts.
   969  func (c *ECR) DescribeImageReplicationStatusWithContext(ctx aws.Context, input *DescribeImageReplicationStatusInput, opts ...request.Option) (*DescribeImageReplicationStatusOutput, error) {
   970  	req, out := c.DescribeImageReplicationStatusRequest(input)
   971  	req.SetContext(ctx)
   972  	req.ApplyOptions(opts...)
   973  	return out, req.Send()
   974  }
   975  
   976  const opDescribeImageScanFindings = "DescribeImageScanFindings"
   977  
   978  // DescribeImageScanFindingsRequest generates a "aws/request.Request" representing the
   979  // client's request for the DescribeImageScanFindings operation. The "output" return
   980  // value will be populated with the request's response once the request completes
   981  // successfully.
   982  //
   983  // Use "Send" method on the returned Request to send the API call to the service.
   984  // the "output" return value is not valid until after Send returns without error.
   985  //
   986  // See DescribeImageScanFindings for more information on using the DescribeImageScanFindings
   987  // API call, and error handling.
   988  //
   989  // This method is useful when you want to inject custom logic or configuration
   990  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   991  //
   992  //
   993  //    // Example sending a request using the DescribeImageScanFindingsRequest method.
   994  //    req, resp := client.DescribeImageScanFindingsRequest(params)
   995  //
   996  //    err := req.Send()
   997  //    if err == nil { // resp is now filled
   998  //        fmt.Println(resp)
   999  //    }
  1000  //
  1001  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageScanFindings
  1002  func (c *ECR) DescribeImageScanFindingsRequest(input *DescribeImageScanFindingsInput) (req *request.Request, output *DescribeImageScanFindingsOutput) {
  1003  	op := &request.Operation{
  1004  		Name:       opDescribeImageScanFindings,
  1005  		HTTPMethod: "POST",
  1006  		HTTPPath:   "/",
  1007  		Paginator: &request.Paginator{
  1008  			InputTokens:     []string{"nextToken"},
  1009  			OutputTokens:    []string{"nextToken"},
  1010  			LimitToken:      "maxResults",
  1011  			TruncationToken: "",
  1012  		},
  1013  	}
  1014  
  1015  	if input == nil {
  1016  		input = &DescribeImageScanFindingsInput{}
  1017  	}
  1018  
  1019  	output = &DescribeImageScanFindingsOutput{}
  1020  	req = c.newRequest(op, input, output)
  1021  	return
  1022  }
  1023  
  1024  // DescribeImageScanFindings API operation for Amazon EC2 Container Registry.
  1025  //
  1026  // Returns the scan findings for the specified image.
  1027  //
  1028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1029  // with awserr.Error's Code and Message methods to get detailed information about
  1030  // the error.
  1031  //
  1032  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1033  // API operation DescribeImageScanFindings for usage and error information.
  1034  //
  1035  // Returned Error Types:
  1036  //   * ServerException
  1037  //   These errors are usually caused by a server-side issue.
  1038  //
  1039  //   * InvalidParameterException
  1040  //   The specified parameter is invalid. Review the available parameters for the
  1041  //   API request.
  1042  //
  1043  //   * RepositoryNotFoundException
  1044  //   The specified repository could not be found. Check the spelling of the specified
  1045  //   repository and ensure that you are performing operations on the correct registry.
  1046  //
  1047  //   * ImageNotFoundException
  1048  //   The image requested does not exist in the specified repository.
  1049  //
  1050  //   * ScanNotFoundException
  1051  //   The specified image scan could not be found. Ensure that image scanning is
  1052  //   enabled on the repository and try again.
  1053  //
  1054  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageScanFindings
  1055  func (c *ECR) DescribeImageScanFindings(input *DescribeImageScanFindingsInput) (*DescribeImageScanFindingsOutput, error) {
  1056  	req, out := c.DescribeImageScanFindingsRequest(input)
  1057  	return out, req.Send()
  1058  }
  1059  
  1060  // DescribeImageScanFindingsWithContext is the same as DescribeImageScanFindings with the addition of
  1061  // the ability to pass a context and additional request options.
  1062  //
  1063  // See DescribeImageScanFindings for details on how to use this API operation.
  1064  //
  1065  // The context must be non-nil and will be used for request cancellation. If
  1066  // the context is nil a panic will occur. In the future the SDK may create
  1067  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1068  // for more information on using Contexts.
  1069  func (c *ECR) DescribeImageScanFindingsWithContext(ctx aws.Context, input *DescribeImageScanFindingsInput, opts ...request.Option) (*DescribeImageScanFindingsOutput, error) {
  1070  	req, out := c.DescribeImageScanFindingsRequest(input)
  1071  	req.SetContext(ctx)
  1072  	req.ApplyOptions(opts...)
  1073  	return out, req.Send()
  1074  }
  1075  
  1076  // DescribeImageScanFindingsPages iterates over the pages of a DescribeImageScanFindings operation,
  1077  // calling the "fn" function with the response data for each page. To stop
  1078  // iterating, return false from the fn function.
  1079  //
  1080  // See DescribeImageScanFindings method for more information on how to use this operation.
  1081  //
  1082  // Note: This operation can generate multiple requests to a service.
  1083  //
  1084  //    // Example iterating over at most 3 pages of a DescribeImageScanFindings operation.
  1085  //    pageNum := 0
  1086  //    err := client.DescribeImageScanFindingsPages(params,
  1087  //        func(page *ecr.DescribeImageScanFindingsOutput, lastPage bool) bool {
  1088  //            pageNum++
  1089  //            fmt.Println(page)
  1090  //            return pageNum <= 3
  1091  //        })
  1092  //
  1093  func (c *ECR) DescribeImageScanFindingsPages(input *DescribeImageScanFindingsInput, fn func(*DescribeImageScanFindingsOutput, bool) bool) error {
  1094  	return c.DescribeImageScanFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
  1095  }
  1096  
  1097  // DescribeImageScanFindingsPagesWithContext same as DescribeImageScanFindingsPages except
  1098  // it takes a Context and allows setting request options on the pages.
  1099  //
  1100  // The context must be non-nil and will be used for request cancellation. If
  1101  // the context is nil a panic will occur. In the future the SDK may create
  1102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1103  // for more information on using Contexts.
  1104  func (c *ECR) DescribeImageScanFindingsPagesWithContext(ctx aws.Context, input *DescribeImageScanFindingsInput, fn func(*DescribeImageScanFindingsOutput, bool) bool, opts ...request.Option) error {
  1105  	p := request.Pagination{
  1106  		NewRequest: func() (*request.Request, error) {
  1107  			var inCpy *DescribeImageScanFindingsInput
  1108  			if input != nil {
  1109  				tmp := *input
  1110  				inCpy = &tmp
  1111  			}
  1112  			req, _ := c.DescribeImageScanFindingsRequest(inCpy)
  1113  			req.SetContext(ctx)
  1114  			req.ApplyOptions(opts...)
  1115  			return req, nil
  1116  		},
  1117  	}
  1118  
  1119  	for p.Next() {
  1120  		if !fn(p.Page().(*DescribeImageScanFindingsOutput), !p.HasNextPage()) {
  1121  			break
  1122  		}
  1123  	}
  1124  
  1125  	return p.Err()
  1126  }
  1127  
  1128  const opDescribeImages = "DescribeImages"
  1129  
  1130  // DescribeImagesRequest generates a "aws/request.Request" representing the
  1131  // client's request for the DescribeImages operation. The "output" return
  1132  // value will be populated with the request's response once the request completes
  1133  // successfully.
  1134  //
  1135  // Use "Send" method on the returned Request to send the API call to the service.
  1136  // the "output" return value is not valid until after Send returns without error.
  1137  //
  1138  // See DescribeImages for more information on using the DescribeImages
  1139  // API call, and error handling.
  1140  //
  1141  // This method is useful when you want to inject custom logic or configuration
  1142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1143  //
  1144  //
  1145  //    // Example sending a request using the DescribeImagesRequest method.
  1146  //    req, resp := client.DescribeImagesRequest(params)
  1147  //
  1148  //    err := req.Send()
  1149  //    if err == nil { // resp is now filled
  1150  //        fmt.Println(resp)
  1151  //    }
  1152  //
  1153  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages
  1154  func (c *ECR) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  1155  	op := &request.Operation{
  1156  		Name:       opDescribeImages,
  1157  		HTTPMethod: "POST",
  1158  		HTTPPath:   "/",
  1159  		Paginator: &request.Paginator{
  1160  			InputTokens:     []string{"nextToken"},
  1161  			OutputTokens:    []string{"nextToken"},
  1162  			LimitToken:      "maxResults",
  1163  			TruncationToken: "",
  1164  		},
  1165  	}
  1166  
  1167  	if input == nil {
  1168  		input = &DescribeImagesInput{}
  1169  	}
  1170  
  1171  	output = &DescribeImagesOutput{}
  1172  	req = c.newRequest(op, input, output)
  1173  	return
  1174  }
  1175  
  1176  // DescribeImages API operation for Amazon EC2 Container Registry.
  1177  //
  1178  // Returns metadata about the images in a repository.
  1179  //
  1180  // Beginning with Docker version 1.9, the Docker client compresses image layers
  1181  // before pushing them to a V2 Docker registry. The output of the docker images
  1182  // command shows the uncompressed image size, so it may return a larger image
  1183  // size than the image sizes returned by DescribeImages.
  1184  //
  1185  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1186  // with awserr.Error's Code and Message methods to get detailed information about
  1187  // the error.
  1188  //
  1189  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1190  // API operation DescribeImages for usage and error information.
  1191  //
  1192  // Returned Error Types:
  1193  //   * ServerException
  1194  //   These errors are usually caused by a server-side issue.
  1195  //
  1196  //   * InvalidParameterException
  1197  //   The specified parameter is invalid. Review the available parameters for the
  1198  //   API request.
  1199  //
  1200  //   * RepositoryNotFoundException
  1201  //   The specified repository could not be found. Check the spelling of the specified
  1202  //   repository and ensure that you are performing operations on the correct registry.
  1203  //
  1204  //   * ImageNotFoundException
  1205  //   The image requested does not exist in the specified repository.
  1206  //
  1207  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages
  1208  func (c *ECR) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  1209  	req, out := c.DescribeImagesRequest(input)
  1210  	return out, req.Send()
  1211  }
  1212  
  1213  // DescribeImagesWithContext is the same as DescribeImages with the addition of
  1214  // the ability to pass a context and additional request options.
  1215  //
  1216  // See DescribeImages for details on how to use this API operation.
  1217  //
  1218  // The context must be non-nil and will be used for request cancellation. If
  1219  // the context is nil a panic will occur. In the future the SDK may create
  1220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1221  // for more information on using Contexts.
  1222  func (c *ECR) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  1223  	req, out := c.DescribeImagesRequest(input)
  1224  	req.SetContext(ctx)
  1225  	req.ApplyOptions(opts...)
  1226  	return out, req.Send()
  1227  }
  1228  
  1229  // DescribeImagesPages iterates over the pages of a DescribeImages operation,
  1230  // calling the "fn" function with the response data for each page. To stop
  1231  // iterating, return false from the fn function.
  1232  //
  1233  // See DescribeImages method for more information on how to use this operation.
  1234  //
  1235  // Note: This operation can generate multiple requests to a service.
  1236  //
  1237  //    // Example iterating over at most 3 pages of a DescribeImages operation.
  1238  //    pageNum := 0
  1239  //    err := client.DescribeImagesPages(params,
  1240  //        func(page *ecr.DescribeImagesOutput, lastPage bool) bool {
  1241  //            pageNum++
  1242  //            fmt.Println(page)
  1243  //            return pageNum <= 3
  1244  //        })
  1245  //
  1246  func (c *ECR) DescribeImagesPages(input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool) error {
  1247  	return c.DescribeImagesPagesWithContext(aws.BackgroundContext(), input, fn)
  1248  }
  1249  
  1250  // DescribeImagesPagesWithContext same as DescribeImagesPages except
  1251  // it takes a Context and allows setting request options on the pages.
  1252  //
  1253  // The context must be non-nil and will be used for request cancellation. If
  1254  // the context is nil a panic will occur. In the future the SDK may create
  1255  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1256  // for more information on using Contexts.
  1257  func (c *ECR) DescribeImagesPagesWithContext(ctx aws.Context, input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool, opts ...request.Option) error {
  1258  	p := request.Pagination{
  1259  		NewRequest: func() (*request.Request, error) {
  1260  			var inCpy *DescribeImagesInput
  1261  			if input != nil {
  1262  				tmp := *input
  1263  				inCpy = &tmp
  1264  			}
  1265  			req, _ := c.DescribeImagesRequest(inCpy)
  1266  			req.SetContext(ctx)
  1267  			req.ApplyOptions(opts...)
  1268  			return req, nil
  1269  		},
  1270  	}
  1271  
  1272  	for p.Next() {
  1273  		if !fn(p.Page().(*DescribeImagesOutput), !p.HasNextPage()) {
  1274  			break
  1275  		}
  1276  	}
  1277  
  1278  	return p.Err()
  1279  }
  1280  
  1281  const opDescribeRegistry = "DescribeRegistry"
  1282  
  1283  // DescribeRegistryRequest generates a "aws/request.Request" representing the
  1284  // client's request for the DescribeRegistry operation. The "output" return
  1285  // value will be populated with the request's response once the request completes
  1286  // successfully.
  1287  //
  1288  // Use "Send" method on the returned Request to send the API call to the service.
  1289  // the "output" return value is not valid until after Send returns without error.
  1290  //
  1291  // See DescribeRegistry for more information on using the DescribeRegistry
  1292  // API call, and error handling.
  1293  //
  1294  // This method is useful when you want to inject custom logic or configuration
  1295  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1296  //
  1297  //
  1298  //    // Example sending a request using the DescribeRegistryRequest method.
  1299  //    req, resp := client.DescribeRegistryRequest(params)
  1300  //
  1301  //    err := req.Send()
  1302  //    if err == nil { // resp is now filled
  1303  //        fmt.Println(resp)
  1304  //    }
  1305  //
  1306  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRegistry
  1307  func (c *ECR) DescribeRegistryRequest(input *DescribeRegistryInput) (req *request.Request, output *DescribeRegistryOutput) {
  1308  	op := &request.Operation{
  1309  		Name:       opDescribeRegistry,
  1310  		HTTPMethod: "POST",
  1311  		HTTPPath:   "/",
  1312  	}
  1313  
  1314  	if input == nil {
  1315  		input = &DescribeRegistryInput{}
  1316  	}
  1317  
  1318  	output = &DescribeRegistryOutput{}
  1319  	req = c.newRequest(op, input, output)
  1320  	return
  1321  }
  1322  
  1323  // DescribeRegistry API operation for Amazon EC2 Container Registry.
  1324  //
  1325  // Describes the settings for a registry. The replication configuration for
  1326  // a repository can be created or updated with the PutReplicationConfiguration
  1327  // API action.
  1328  //
  1329  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1330  // with awserr.Error's Code and Message methods to get detailed information about
  1331  // the error.
  1332  //
  1333  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1334  // API operation DescribeRegistry for usage and error information.
  1335  //
  1336  // Returned Error Types:
  1337  //   * ServerException
  1338  //   These errors are usually caused by a server-side issue.
  1339  //
  1340  //   * InvalidParameterException
  1341  //   The specified parameter is invalid. Review the available parameters for the
  1342  //   API request.
  1343  //
  1344  //   * ValidationException
  1345  //   There was an exception validating this request.
  1346  //
  1347  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRegistry
  1348  func (c *ECR) DescribeRegistry(input *DescribeRegistryInput) (*DescribeRegistryOutput, error) {
  1349  	req, out := c.DescribeRegistryRequest(input)
  1350  	return out, req.Send()
  1351  }
  1352  
  1353  // DescribeRegistryWithContext is the same as DescribeRegistry with the addition of
  1354  // the ability to pass a context and additional request options.
  1355  //
  1356  // See DescribeRegistry 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 *ECR) DescribeRegistryWithContext(ctx aws.Context, input *DescribeRegistryInput, opts ...request.Option) (*DescribeRegistryOutput, error) {
  1363  	req, out := c.DescribeRegistryRequest(input)
  1364  	req.SetContext(ctx)
  1365  	req.ApplyOptions(opts...)
  1366  	return out, req.Send()
  1367  }
  1368  
  1369  const opDescribeRepositories = "DescribeRepositories"
  1370  
  1371  // DescribeRepositoriesRequest generates a "aws/request.Request" representing the
  1372  // client's request for the DescribeRepositories 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 DescribeRepositories for more information on using the DescribeRepositories
  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 DescribeRepositoriesRequest method.
  1387  //    req, resp := client.DescribeRepositoriesRequest(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-2015-09-21/DescribeRepositories
  1395  func (c *ECR) DescribeRepositoriesRequest(input *DescribeRepositoriesInput) (req *request.Request, output *DescribeRepositoriesOutput) {
  1396  	op := &request.Operation{
  1397  		Name:       opDescribeRepositories,
  1398  		HTTPMethod: "POST",
  1399  		HTTPPath:   "/",
  1400  		Paginator: &request.Paginator{
  1401  			InputTokens:     []string{"nextToken"},
  1402  			OutputTokens:    []string{"nextToken"},
  1403  			LimitToken:      "maxResults",
  1404  			TruncationToken: "",
  1405  		},
  1406  	}
  1407  
  1408  	if input == nil {
  1409  		input = &DescribeRepositoriesInput{}
  1410  	}
  1411  
  1412  	output = &DescribeRepositoriesOutput{}
  1413  	req = c.newRequest(op, input, output)
  1414  	return
  1415  }
  1416  
  1417  // DescribeRepositories API operation for Amazon EC2 Container Registry.
  1418  //
  1419  // Describes image repositories in a registry.
  1420  //
  1421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1422  // with awserr.Error's Code and Message methods to get detailed information about
  1423  // the error.
  1424  //
  1425  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1426  // API operation DescribeRepositories for usage and error information.
  1427  //
  1428  // Returned Error Types:
  1429  //   * ServerException
  1430  //   These errors are usually caused by a server-side issue.
  1431  //
  1432  //   * InvalidParameterException
  1433  //   The specified parameter is invalid. Review the available parameters for the
  1434  //   API request.
  1435  //
  1436  //   * RepositoryNotFoundException
  1437  //   The specified repository could not be found. Check the spelling of the specified
  1438  //   repository and ensure that you are performing operations on the correct registry.
  1439  //
  1440  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRepositories
  1441  func (c *ECR) DescribeRepositories(input *DescribeRepositoriesInput) (*DescribeRepositoriesOutput, error) {
  1442  	req, out := c.DescribeRepositoriesRequest(input)
  1443  	return out, req.Send()
  1444  }
  1445  
  1446  // DescribeRepositoriesWithContext is the same as DescribeRepositories with the addition of
  1447  // the ability to pass a context and additional request options.
  1448  //
  1449  // See DescribeRepositories for details on how to use this API operation.
  1450  //
  1451  // The context must be non-nil and will be used for request cancellation. If
  1452  // the context is nil a panic will occur. In the future the SDK may create
  1453  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1454  // for more information on using Contexts.
  1455  func (c *ECR) DescribeRepositoriesWithContext(ctx aws.Context, input *DescribeRepositoriesInput, opts ...request.Option) (*DescribeRepositoriesOutput, error) {
  1456  	req, out := c.DescribeRepositoriesRequest(input)
  1457  	req.SetContext(ctx)
  1458  	req.ApplyOptions(opts...)
  1459  	return out, req.Send()
  1460  }
  1461  
  1462  // DescribeRepositoriesPages iterates over the pages of a DescribeRepositories operation,
  1463  // calling the "fn" function with the response data for each page. To stop
  1464  // iterating, return false from the fn function.
  1465  //
  1466  // See DescribeRepositories method for more information on how to use this operation.
  1467  //
  1468  // Note: This operation can generate multiple requests to a service.
  1469  //
  1470  //    // Example iterating over at most 3 pages of a DescribeRepositories operation.
  1471  //    pageNum := 0
  1472  //    err := client.DescribeRepositoriesPages(params,
  1473  //        func(page *ecr.DescribeRepositoriesOutput, lastPage bool) bool {
  1474  //            pageNum++
  1475  //            fmt.Println(page)
  1476  //            return pageNum <= 3
  1477  //        })
  1478  //
  1479  func (c *ECR) DescribeRepositoriesPages(input *DescribeRepositoriesInput, fn func(*DescribeRepositoriesOutput, bool) bool) error {
  1480  	return c.DescribeRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn)
  1481  }
  1482  
  1483  // DescribeRepositoriesPagesWithContext same as DescribeRepositoriesPages except
  1484  // it takes a Context and allows setting request options on the pages.
  1485  //
  1486  // The context must be non-nil and will be used for request cancellation. If
  1487  // the context is nil a panic will occur. In the future the SDK may create
  1488  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1489  // for more information on using Contexts.
  1490  func (c *ECR) DescribeRepositoriesPagesWithContext(ctx aws.Context, input *DescribeRepositoriesInput, fn func(*DescribeRepositoriesOutput, bool) bool, opts ...request.Option) error {
  1491  	p := request.Pagination{
  1492  		NewRequest: func() (*request.Request, error) {
  1493  			var inCpy *DescribeRepositoriesInput
  1494  			if input != nil {
  1495  				tmp := *input
  1496  				inCpy = &tmp
  1497  			}
  1498  			req, _ := c.DescribeRepositoriesRequest(inCpy)
  1499  			req.SetContext(ctx)
  1500  			req.ApplyOptions(opts...)
  1501  			return req, nil
  1502  		},
  1503  	}
  1504  
  1505  	for p.Next() {
  1506  		if !fn(p.Page().(*DescribeRepositoriesOutput), !p.HasNextPage()) {
  1507  			break
  1508  		}
  1509  	}
  1510  
  1511  	return p.Err()
  1512  }
  1513  
  1514  const opGetAuthorizationToken = "GetAuthorizationToken"
  1515  
  1516  // GetAuthorizationTokenRequest generates a "aws/request.Request" representing the
  1517  // client's request for the GetAuthorizationToken operation. The "output" return
  1518  // value will be populated with the request's response once the request completes
  1519  // successfully.
  1520  //
  1521  // Use "Send" method on the returned Request to send the API call to the service.
  1522  // the "output" return value is not valid until after Send returns without error.
  1523  //
  1524  // See GetAuthorizationToken for more information on using the GetAuthorizationToken
  1525  // API call, and error handling.
  1526  //
  1527  // This method is useful when you want to inject custom logic or configuration
  1528  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1529  //
  1530  //
  1531  //    // Example sending a request using the GetAuthorizationTokenRequest method.
  1532  //    req, resp := client.GetAuthorizationTokenRequest(params)
  1533  //
  1534  //    err := req.Send()
  1535  //    if err == nil { // resp is now filled
  1536  //        fmt.Println(resp)
  1537  //    }
  1538  //
  1539  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetAuthorizationToken
  1540  func (c *ECR) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (req *request.Request, output *GetAuthorizationTokenOutput) {
  1541  	op := &request.Operation{
  1542  		Name:       opGetAuthorizationToken,
  1543  		HTTPMethod: "POST",
  1544  		HTTPPath:   "/",
  1545  	}
  1546  
  1547  	if input == nil {
  1548  		input = &GetAuthorizationTokenInput{}
  1549  	}
  1550  
  1551  	output = &GetAuthorizationTokenOutput{}
  1552  	req = c.newRequest(op, input, output)
  1553  	return
  1554  }
  1555  
  1556  // GetAuthorizationToken API operation for Amazon EC2 Container Registry.
  1557  //
  1558  // Retrieves an authorization token. An authorization token represents your
  1559  // IAM authentication credentials and can be used to access any Amazon ECR registry
  1560  // that your IAM principal has access to. The authorization token is valid for
  1561  // 12 hours.
  1562  //
  1563  // The authorizationToken returned is a base64 encoded string that can be decoded
  1564  // and used in a docker login command to authenticate to a registry. The CLI
  1565  // offers an get-login-password command that simplifies the login process. For
  1566  // more information, see Registry authentication (https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth)
  1567  // in the Amazon Elastic Container Registry User Guide.
  1568  //
  1569  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1570  // with awserr.Error's Code and Message methods to get detailed information about
  1571  // the error.
  1572  //
  1573  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1574  // API operation GetAuthorizationToken for usage and error information.
  1575  //
  1576  // Returned Error Types:
  1577  //   * ServerException
  1578  //   These errors are usually caused by a server-side issue.
  1579  //
  1580  //   * InvalidParameterException
  1581  //   The specified parameter is invalid. Review the available parameters for the
  1582  //   API request.
  1583  //
  1584  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetAuthorizationToken
  1585  func (c *ECR) GetAuthorizationToken(input *GetAuthorizationTokenInput) (*GetAuthorizationTokenOutput, error) {
  1586  	req, out := c.GetAuthorizationTokenRequest(input)
  1587  	return out, req.Send()
  1588  }
  1589  
  1590  // GetAuthorizationTokenWithContext is the same as GetAuthorizationToken with the addition of
  1591  // the ability to pass a context and additional request options.
  1592  //
  1593  // See GetAuthorizationToken for details on how to use this API operation.
  1594  //
  1595  // The context must be non-nil and will be used for request cancellation. If
  1596  // the context is nil a panic will occur. In the future the SDK may create
  1597  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1598  // for more information on using Contexts.
  1599  func (c *ECR) GetAuthorizationTokenWithContext(ctx aws.Context, input *GetAuthorizationTokenInput, opts ...request.Option) (*GetAuthorizationTokenOutput, error) {
  1600  	req, out := c.GetAuthorizationTokenRequest(input)
  1601  	req.SetContext(ctx)
  1602  	req.ApplyOptions(opts...)
  1603  	return out, req.Send()
  1604  }
  1605  
  1606  const opGetDownloadUrlForLayer = "GetDownloadUrlForLayer"
  1607  
  1608  // GetDownloadUrlForLayerRequest generates a "aws/request.Request" representing the
  1609  // client's request for the GetDownloadUrlForLayer operation. The "output" return
  1610  // value will be populated with the request's response once the request completes
  1611  // successfully.
  1612  //
  1613  // Use "Send" method on the returned Request to send the API call to the service.
  1614  // the "output" return value is not valid until after Send returns without error.
  1615  //
  1616  // See GetDownloadUrlForLayer for more information on using the GetDownloadUrlForLayer
  1617  // API call, and error handling.
  1618  //
  1619  // This method is useful when you want to inject custom logic or configuration
  1620  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1621  //
  1622  //
  1623  //    // Example sending a request using the GetDownloadUrlForLayerRequest method.
  1624  //    req, resp := client.GetDownloadUrlForLayerRequest(params)
  1625  //
  1626  //    err := req.Send()
  1627  //    if err == nil { // resp is now filled
  1628  //        fmt.Println(resp)
  1629  //    }
  1630  //
  1631  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetDownloadUrlForLayer
  1632  func (c *ECR) GetDownloadUrlForLayerRequest(input *GetDownloadUrlForLayerInput) (req *request.Request, output *GetDownloadUrlForLayerOutput) {
  1633  	op := &request.Operation{
  1634  		Name:       opGetDownloadUrlForLayer,
  1635  		HTTPMethod: "POST",
  1636  		HTTPPath:   "/",
  1637  	}
  1638  
  1639  	if input == nil {
  1640  		input = &GetDownloadUrlForLayerInput{}
  1641  	}
  1642  
  1643  	output = &GetDownloadUrlForLayerOutput{}
  1644  	req = c.newRequest(op, input, output)
  1645  	return
  1646  }
  1647  
  1648  // GetDownloadUrlForLayer API operation for Amazon EC2 Container Registry.
  1649  //
  1650  // Retrieves the pre-signed Amazon S3 download URL corresponding to an image
  1651  // layer. You can only get URLs for image layers that are referenced in an image.
  1652  //
  1653  // When an image is pulled, the GetDownloadUrlForLayer API is called once per
  1654  // image layer that is not already cached.
  1655  //
  1656  // This operation is used by the Amazon ECR proxy and is not generally used
  1657  // by customers for pulling and pushing images. In most cases, you should use
  1658  // the docker CLI to pull, tag, and push images.
  1659  //
  1660  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1661  // with awserr.Error's Code and Message methods to get detailed information about
  1662  // the error.
  1663  //
  1664  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1665  // API operation GetDownloadUrlForLayer for usage and error information.
  1666  //
  1667  // Returned Error Types:
  1668  //   * ServerException
  1669  //   These errors are usually caused by a server-side issue.
  1670  //
  1671  //   * InvalidParameterException
  1672  //   The specified parameter is invalid. Review the available parameters for the
  1673  //   API request.
  1674  //
  1675  //   * LayersNotFoundException
  1676  //   The specified layers could not be found, or the specified layer is not valid
  1677  //   for this repository.
  1678  //
  1679  //   * LayerInaccessibleException
  1680  //   The specified layer is not available because it is not associated with an
  1681  //   image. Unassociated image layers may be cleaned up at any time.
  1682  //
  1683  //   * RepositoryNotFoundException
  1684  //   The specified repository could not be found. Check the spelling of the specified
  1685  //   repository and ensure that you are performing operations on the correct registry.
  1686  //
  1687  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetDownloadUrlForLayer
  1688  func (c *ECR) GetDownloadUrlForLayer(input *GetDownloadUrlForLayerInput) (*GetDownloadUrlForLayerOutput, error) {
  1689  	req, out := c.GetDownloadUrlForLayerRequest(input)
  1690  	return out, req.Send()
  1691  }
  1692  
  1693  // GetDownloadUrlForLayerWithContext is the same as GetDownloadUrlForLayer with the addition of
  1694  // the ability to pass a context and additional request options.
  1695  //
  1696  // See GetDownloadUrlForLayer for details on how to use this API operation.
  1697  //
  1698  // The context must be non-nil and will be used for request cancellation. If
  1699  // the context is nil a panic will occur. In the future the SDK may create
  1700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1701  // for more information on using Contexts.
  1702  func (c *ECR) GetDownloadUrlForLayerWithContext(ctx aws.Context, input *GetDownloadUrlForLayerInput, opts ...request.Option) (*GetDownloadUrlForLayerOutput, error) {
  1703  	req, out := c.GetDownloadUrlForLayerRequest(input)
  1704  	req.SetContext(ctx)
  1705  	req.ApplyOptions(opts...)
  1706  	return out, req.Send()
  1707  }
  1708  
  1709  const opGetLifecyclePolicy = "GetLifecyclePolicy"
  1710  
  1711  // GetLifecyclePolicyRequest generates a "aws/request.Request" representing the
  1712  // client's request for the GetLifecyclePolicy operation. The "output" return
  1713  // value will be populated with the request's response once the request completes
  1714  // successfully.
  1715  //
  1716  // Use "Send" method on the returned Request to send the API call to the service.
  1717  // the "output" return value is not valid until after Send returns without error.
  1718  //
  1719  // See GetLifecyclePolicy for more information on using the GetLifecyclePolicy
  1720  // API call, and error handling.
  1721  //
  1722  // This method is useful when you want to inject custom logic or configuration
  1723  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1724  //
  1725  //
  1726  //    // Example sending a request using the GetLifecyclePolicyRequest method.
  1727  //    req, resp := client.GetLifecyclePolicyRequest(params)
  1728  //
  1729  //    err := req.Send()
  1730  //    if err == nil { // resp is now filled
  1731  //        fmt.Println(resp)
  1732  //    }
  1733  //
  1734  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicy
  1735  func (c *ECR) GetLifecyclePolicyRequest(input *GetLifecyclePolicyInput) (req *request.Request, output *GetLifecyclePolicyOutput) {
  1736  	op := &request.Operation{
  1737  		Name:       opGetLifecyclePolicy,
  1738  		HTTPMethod: "POST",
  1739  		HTTPPath:   "/",
  1740  	}
  1741  
  1742  	if input == nil {
  1743  		input = &GetLifecyclePolicyInput{}
  1744  	}
  1745  
  1746  	output = &GetLifecyclePolicyOutput{}
  1747  	req = c.newRequest(op, input, output)
  1748  	return
  1749  }
  1750  
  1751  // GetLifecyclePolicy API operation for Amazon EC2 Container Registry.
  1752  //
  1753  // Retrieves the lifecycle policy for the specified repository.
  1754  //
  1755  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1756  // with awserr.Error's Code and Message methods to get detailed information about
  1757  // the error.
  1758  //
  1759  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1760  // API operation GetLifecyclePolicy for usage and error information.
  1761  //
  1762  // Returned Error Types:
  1763  //   * ServerException
  1764  //   These errors are usually caused by a server-side issue.
  1765  //
  1766  //   * InvalidParameterException
  1767  //   The specified parameter is invalid. Review the available parameters for the
  1768  //   API request.
  1769  //
  1770  //   * RepositoryNotFoundException
  1771  //   The specified repository could not be found. Check the spelling of the specified
  1772  //   repository and ensure that you are performing operations on the correct registry.
  1773  //
  1774  //   * LifecyclePolicyNotFoundException
  1775  //   The lifecycle policy could not be found, and no policy is set to the repository.
  1776  //
  1777  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicy
  1778  func (c *ECR) GetLifecyclePolicy(input *GetLifecyclePolicyInput) (*GetLifecyclePolicyOutput, error) {
  1779  	req, out := c.GetLifecyclePolicyRequest(input)
  1780  	return out, req.Send()
  1781  }
  1782  
  1783  // GetLifecyclePolicyWithContext is the same as GetLifecyclePolicy with the addition of
  1784  // the ability to pass a context and additional request options.
  1785  //
  1786  // See GetLifecyclePolicy for details on how to use this API operation.
  1787  //
  1788  // The context must be non-nil and will be used for request cancellation. If
  1789  // the context is nil a panic will occur. In the future the SDK may create
  1790  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1791  // for more information on using Contexts.
  1792  func (c *ECR) GetLifecyclePolicyWithContext(ctx aws.Context, input *GetLifecyclePolicyInput, opts ...request.Option) (*GetLifecyclePolicyOutput, error) {
  1793  	req, out := c.GetLifecyclePolicyRequest(input)
  1794  	req.SetContext(ctx)
  1795  	req.ApplyOptions(opts...)
  1796  	return out, req.Send()
  1797  }
  1798  
  1799  const opGetLifecyclePolicyPreview = "GetLifecyclePolicyPreview"
  1800  
  1801  // GetLifecyclePolicyPreviewRequest generates a "aws/request.Request" representing the
  1802  // client's request for the GetLifecyclePolicyPreview operation. The "output" return
  1803  // value will be populated with the request's response once the request completes
  1804  // successfully.
  1805  //
  1806  // Use "Send" method on the returned Request to send the API call to the service.
  1807  // the "output" return value is not valid until after Send returns without error.
  1808  //
  1809  // See GetLifecyclePolicyPreview for more information on using the GetLifecyclePolicyPreview
  1810  // API call, and error handling.
  1811  //
  1812  // This method is useful when you want to inject custom logic or configuration
  1813  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1814  //
  1815  //
  1816  //    // Example sending a request using the GetLifecyclePolicyPreviewRequest method.
  1817  //    req, resp := client.GetLifecyclePolicyPreviewRequest(params)
  1818  //
  1819  //    err := req.Send()
  1820  //    if err == nil { // resp is now filled
  1821  //        fmt.Println(resp)
  1822  //    }
  1823  //
  1824  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyPreview
  1825  func (c *ECR) GetLifecyclePolicyPreviewRequest(input *GetLifecyclePolicyPreviewInput) (req *request.Request, output *GetLifecyclePolicyPreviewOutput) {
  1826  	op := &request.Operation{
  1827  		Name:       opGetLifecyclePolicyPreview,
  1828  		HTTPMethod: "POST",
  1829  		HTTPPath:   "/",
  1830  		Paginator: &request.Paginator{
  1831  			InputTokens:     []string{"nextToken"},
  1832  			OutputTokens:    []string{"nextToken"},
  1833  			LimitToken:      "maxResults",
  1834  			TruncationToken: "",
  1835  		},
  1836  	}
  1837  
  1838  	if input == nil {
  1839  		input = &GetLifecyclePolicyPreviewInput{}
  1840  	}
  1841  
  1842  	output = &GetLifecyclePolicyPreviewOutput{}
  1843  	req = c.newRequest(op, input, output)
  1844  	return
  1845  }
  1846  
  1847  // GetLifecyclePolicyPreview API operation for Amazon EC2 Container Registry.
  1848  //
  1849  // Retrieves the results of the lifecycle policy preview request for the specified
  1850  // repository.
  1851  //
  1852  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1853  // with awserr.Error's Code and Message methods to get detailed information about
  1854  // the error.
  1855  //
  1856  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1857  // API operation GetLifecyclePolicyPreview for usage and error information.
  1858  //
  1859  // Returned Error Types:
  1860  //   * ServerException
  1861  //   These errors are usually caused by a server-side issue.
  1862  //
  1863  //   * InvalidParameterException
  1864  //   The specified parameter is invalid. Review the available parameters for the
  1865  //   API request.
  1866  //
  1867  //   * RepositoryNotFoundException
  1868  //   The specified repository could not be found. Check the spelling of the specified
  1869  //   repository and ensure that you are performing operations on the correct registry.
  1870  //
  1871  //   * LifecyclePolicyPreviewNotFoundException
  1872  //   There is no dry run for this repository.
  1873  //
  1874  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyPreview
  1875  func (c *ECR) GetLifecyclePolicyPreview(input *GetLifecyclePolicyPreviewInput) (*GetLifecyclePolicyPreviewOutput, error) {
  1876  	req, out := c.GetLifecyclePolicyPreviewRequest(input)
  1877  	return out, req.Send()
  1878  }
  1879  
  1880  // GetLifecyclePolicyPreviewWithContext is the same as GetLifecyclePolicyPreview with the addition of
  1881  // the ability to pass a context and additional request options.
  1882  //
  1883  // See GetLifecyclePolicyPreview for details on how to use this API operation.
  1884  //
  1885  // The context must be non-nil and will be used for request cancellation. If
  1886  // the context is nil a panic will occur. In the future the SDK may create
  1887  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1888  // for more information on using Contexts.
  1889  func (c *ECR) GetLifecyclePolicyPreviewWithContext(ctx aws.Context, input *GetLifecyclePolicyPreviewInput, opts ...request.Option) (*GetLifecyclePolicyPreviewOutput, error) {
  1890  	req, out := c.GetLifecyclePolicyPreviewRequest(input)
  1891  	req.SetContext(ctx)
  1892  	req.ApplyOptions(opts...)
  1893  	return out, req.Send()
  1894  }
  1895  
  1896  // GetLifecyclePolicyPreviewPages iterates over the pages of a GetLifecyclePolicyPreview operation,
  1897  // calling the "fn" function with the response data for each page. To stop
  1898  // iterating, return false from the fn function.
  1899  //
  1900  // See GetLifecyclePolicyPreview method for more information on how to use this operation.
  1901  //
  1902  // Note: This operation can generate multiple requests to a service.
  1903  //
  1904  //    // Example iterating over at most 3 pages of a GetLifecyclePolicyPreview operation.
  1905  //    pageNum := 0
  1906  //    err := client.GetLifecyclePolicyPreviewPages(params,
  1907  //        func(page *ecr.GetLifecyclePolicyPreviewOutput, lastPage bool) bool {
  1908  //            pageNum++
  1909  //            fmt.Println(page)
  1910  //            return pageNum <= 3
  1911  //        })
  1912  //
  1913  func (c *ECR) GetLifecyclePolicyPreviewPages(input *GetLifecyclePolicyPreviewInput, fn func(*GetLifecyclePolicyPreviewOutput, bool) bool) error {
  1914  	return c.GetLifecyclePolicyPreviewPagesWithContext(aws.BackgroundContext(), input, fn)
  1915  }
  1916  
  1917  // GetLifecyclePolicyPreviewPagesWithContext same as GetLifecyclePolicyPreviewPages except
  1918  // it takes a Context and allows setting request options on the pages.
  1919  //
  1920  // The context must be non-nil and will be used for request cancellation. If
  1921  // the context is nil a panic will occur. In the future the SDK may create
  1922  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1923  // for more information on using Contexts.
  1924  func (c *ECR) GetLifecyclePolicyPreviewPagesWithContext(ctx aws.Context, input *GetLifecyclePolicyPreviewInput, fn func(*GetLifecyclePolicyPreviewOutput, bool) bool, opts ...request.Option) error {
  1925  	p := request.Pagination{
  1926  		NewRequest: func() (*request.Request, error) {
  1927  			var inCpy *GetLifecyclePolicyPreviewInput
  1928  			if input != nil {
  1929  				tmp := *input
  1930  				inCpy = &tmp
  1931  			}
  1932  			req, _ := c.GetLifecyclePolicyPreviewRequest(inCpy)
  1933  			req.SetContext(ctx)
  1934  			req.ApplyOptions(opts...)
  1935  			return req, nil
  1936  		},
  1937  	}
  1938  
  1939  	for p.Next() {
  1940  		if !fn(p.Page().(*GetLifecyclePolicyPreviewOutput), !p.HasNextPage()) {
  1941  			break
  1942  		}
  1943  	}
  1944  
  1945  	return p.Err()
  1946  }
  1947  
  1948  const opGetRegistryPolicy = "GetRegistryPolicy"
  1949  
  1950  // GetRegistryPolicyRequest generates a "aws/request.Request" representing the
  1951  // client's request for the GetRegistryPolicy operation. The "output" return
  1952  // value will be populated with the request's response once the request completes
  1953  // successfully.
  1954  //
  1955  // Use "Send" method on the returned Request to send the API call to the service.
  1956  // the "output" return value is not valid until after Send returns without error.
  1957  //
  1958  // See GetRegistryPolicy for more information on using the GetRegistryPolicy
  1959  // API call, and error handling.
  1960  //
  1961  // This method is useful when you want to inject custom logic or configuration
  1962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1963  //
  1964  //
  1965  //    // Example sending a request using the GetRegistryPolicyRequest method.
  1966  //    req, resp := client.GetRegistryPolicyRequest(params)
  1967  //
  1968  //    err := req.Send()
  1969  //    if err == nil { // resp is now filled
  1970  //        fmt.Println(resp)
  1971  //    }
  1972  //
  1973  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetRegistryPolicy
  1974  func (c *ECR) GetRegistryPolicyRequest(input *GetRegistryPolicyInput) (req *request.Request, output *GetRegistryPolicyOutput) {
  1975  	op := &request.Operation{
  1976  		Name:       opGetRegistryPolicy,
  1977  		HTTPMethod: "POST",
  1978  		HTTPPath:   "/",
  1979  	}
  1980  
  1981  	if input == nil {
  1982  		input = &GetRegistryPolicyInput{}
  1983  	}
  1984  
  1985  	output = &GetRegistryPolicyOutput{}
  1986  	req = c.newRequest(op, input, output)
  1987  	return
  1988  }
  1989  
  1990  // GetRegistryPolicy API operation for Amazon EC2 Container Registry.
  1991  //
  1992  // Retrieves the permissions policy for a registry.
  1993  //
  1994  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1995  // with awserr.Error's Code and Message methods to get detailed information about
  1996  // the error.
  1997  //
  1998  // See the AWS API reference guide for Amazon EC2 Container Registry's
  1999  // API operation GetRegistryPolicy for usage and error information.
  2000  //
  2001  // Returned Error Types:
  2002  //   * ServerException
  2003  //   These errors are usually caused by a server-side issue.
  2004  //
  2005  //   * InvalidParameterException
  2006  //   The specified parameter is invalid. Review the available parameters for the
  2007  //   API request.
  2008  //
  2009  //   * RegistryPolicyNotFoundException
  2010  //   The registry doesn't have an associated registry policy.
  2011  //
  2012  //   * ValidationException
  2013  //   There was an exception validating this request.
  2014  //
  2015  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetRegistryPolicy
  2016  func (c *ECR) GetRegistryPolicy(input *GetRegistryPolicyInput) (*GetRegistryPolicyOutput, error) {
  2017  	req, out := c.GetRegistryPolicyRequest(input)
  2018  	return out, req.Send()
  2019  }
  2020  
  2021  // GetRegistryPolicyWithContext is the same as GetRegistryPolicy with the addition of
  2022  // the ability to pass a context and additional request options.
  2023  //
  2024  // See GetRegistryPolicy for details on how to use this API operation.
  2025  //
  2026  // The context must be non-nil and will be used for request cancellation. If
  2027  // the context is nil a panic will occur. In the future the SDK may create
  2028  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2029  // for more information on using Contexts.
  2030  func (c *ECR) GetRegistryPolicyWithContext(ctx aws.Context, input *GetRegistryPolicyInput, opts ...request.Option) (*GetRegistryPolicyOutput, error) {
  2031  	req, out := c.GetRegistryPolicyRequest(input)
  2032  	req.SetContext(ctx)
  2033  	req.ApplyOptions(opts...)
  2034  	return out, req.Send()
  2035  }
  2036  
  2037  const opGetRepositoryPolicy = "GetRepositoryPolicy"
  2038  
  2039  // GetRepositoryPolicyRequest generates a "aws/request.Request" representing the
  2040  // client's request for the GetRepositoryPolicy operation. The "output" return
  2041  // value will be populated with the request's response once the request completes
  2042  // successfully.
  2043  //
  2044  // Use "Send" method on the returned Request to send the API call to the service.
  2045  // the "output" return value is not valid until after Send returns without error.
  2046  //
  2047  // See GetRepositoryPolicy for more information on using the GetRepositoryPolicy
  2048  // API call, and error handling.
  2049  //
  2050  // This method is useful when you want to inject custom logic or configuration
  2051  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2052  //
  2053  //
  2054  //    // Example sending a request using the GetRepositoryPolicyRequest method.
  2055  //    req, resp := client.GetRepositoryPolicyRequest(params)
  2056  //
  2057  //    err := req.Send()
  2058  //    if err == nil { // resp is now filled
  2059  //        fmt.Println(resp)
  2060  //    }
  2061  //
  2062  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetRepositoryPolicy
  2063  func (c *ECR) GetRepositoryPolicyRequest(input *GetRepositoryPolicyInput) (req *request.Request, output *GetRepositoryPolicyOutput) {
  2064  	op := &request.Operation{
  2065  		Name:       opGetRepositoryPolicy,
  2066  		HTTPMethod: "POST",
  2067  		HTTPPath:   "/",
  2068  	}
  2069  
  2070  	if input == nil {
  2071  		input = &GetRepositoryPolicyInput{}
  2072  	}
  2073  
  2074  	output = &GetRepositoryPolicyOutput{}
  2075  	req = c.newRequest(op, input, output)
  2076  	return
  2077  }
  2078  
  2079  // GetRepositoryPolicy API operation for Amazon EC2 Container Registry.
  2080  //
  2081  // Retrieves the repository policy for the specified repository.
  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 EC2 Container Registry's
  2088  // API operation GetRepositoryPolicy 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  //   * RepositoryPolicyNotFoundException
  2103  //   The specified repository and registry combination does not have an associated
  2104  //   repository policy.
  2105  //
  2106  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetRepositoryPolicy
  2107  func (c *ECR) GetRepositoryPolicy(input *GetRepositoryPolicyInput) (*GetRepositoryPolicyOutput, error) {
  2108  	req, out := c.GetRepositoryPolicyRequest(input)
  2109  	return out, req.Send()
  2110  }
  2111  
  2112  // GetRepositoryPolicyWithContext is the same as GetRepositoryPolicy with the addition of
  2113  // the ability to pass a context and additional request options.
  2114  //
  2115  // See GetRepositoryPolicy for details on how to use this API operation.
  2116  //
  2117  // The context must be non-nil and will be used for request cancellation. If
  2118  // the context is nil a panic will occur. In the future the SDK may create
  2119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2120  // for more information on using Contexts.
  2121  func (c *ECR) GetRepositoryPolicyWithContext(ctx aws.Context, input *GetRepositoryPolicyInput, opts ...request.Option) (*GetRepositoryPolicyOutput, error) {
  2122  	req, out := c.GetRepositoryPolicyRequest(input)
  2123  	req.SetContext(ctx)
  2124  	req.ApplyOptions(opts...)
  2125  	return out, req.Send()
  2126  }
  2127  
  2128  const opInitiateLayerUpload = "InitiateLayerUpload"
  2129  
  2130  // InitiateLayerUploadRequest generates a "aws/request.Request" representing the
  2131  // client's request for the InitiateLayerUpload operation. The "output" return
  2132  // value will be populated with the request's response once the request completes
  2133  // successfully.
  2134  //
  2135  // Use "Send" method on the returned Request to send the API call to the service.
  2136  // the "output" return value is not valid until after Send returns without error.
  2137  //
  2138  // See InitiateLayerUpload for more information on using the InitiateLayerUpload
  2139  // API call, and error handling.
  2140  //
  2141  // This method is useful when you want to inject custom logic or configuration
  2142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2143  //
  2144  //
  2145  //    // Example sending a request using the InitiateLayerUploadRequest method.
  2146  //    req, resp := client.InitiateLayerUploadRequest(params)
  2147  //
  2148  //    err := req.Send()
  2149  //    if err == nil { // resp is now filled
  2150  //        fmt.Println(resp)
  2151  //    }
  2152  //
  2153  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/InitiateLayerUpload
  2154  func (c *ECR) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req *request.Request, output *InitiateLayerUploadOutput) {
  2155  	op := &request.Operation{
  2156  		Name:       opInitiateLayerUpload,
  2157  		HTTPMethod: "POST",
  2158  		HTTPPath:   "/",
  2159  	}
  2160  
  2161  	if input == nil {
  2162  		input = &InitiateLayerUploadInput{}
  2163  	}
  2164  
  2165  	output = &InitiateLayerUploadOutput{}
  2166  	req = c.newRequest(op, input, output)
  2167  	return
  2168  }
  2169  
  2170  // InitiateLayerUpload API operation for Amazon EC2 Container Registry.
  2171  //
  2172  // Notifies Amazon ECR that you intend to upload an image layer.
  2173  //
  2174  // When an image is pushed, the InitiateLayerUpload API is called once per image
  2175  // layer that has not already been uploaded. Whether or not an image layer has
  2176  // been uploaded is determined by the BatchCheckLayerAvailability API action.
  2177  //
  2178  // This operation is used by the Amazon ECR proxy and is not generally used
  2179  // by customers for pulling and pushing images. In most cases, you should use
  2180  // the docker CLI to pull, tag, and push images.
  2181  //
  2182  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2183  // with awserr.Error's Code and Message methods to get detailed information about
  2184  // the error.
  2185  //
  2186  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2187  // API operation InitiateLayerUpload for usage and error information.
  2188  //
  2189  // Returned Error Types:
  2190  //   * ServerException
  2191  //   These errors are usually caused by a server-side issue.
  2192  //
  2193  //   * InvalidParameterException
  2194  //   The specified parameter is invalid. Review the available parameters for the
  2195  //   API request.
  2196  //
  2197  //   * RepositoryNotFoundException
  2198  //   The specified repository could not be found. Check the spelling of the specified
  2199  //   repository and ensure that you are performing operations on the correct registry.
  2200  //
  2201  //   * KmsException
  2202  //   The operation failed due to a KMS exception.
  2203  //
  2204  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/InitiateLayerUpload
  2205  func (c *ECR) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLayerUploadOutput, error) {
  2206  	req, out := c.InitiateLayerUploadRequest(input)
  2207  	return out, req.Send()
  2208  }
  2209  
  2210  // InitiateLayerUploadWithContext is the same as InitiateLayerUpload with the addition of
  2211  // the ability to pass a context and additional request options.
  2212  //
  2213  // See InitiateLayerUpload for details on how to use this API operation.
  2214  //
  2215  // The context must be non-nil and will be used for request cancellation. If
  2216  // the context is nil a panic will occur. In the future the SDK may create
  2217  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2218  // for more information on using Contexts.
  2219  func (c *ECR) InitiateLayerUploadWithContext(ctx aws.Context, input *InitiateLayerUploadInput, opts ...request.Option) (*InitiateLayerUploadOutput, error) {
  2220  	req, out := c.InitiateLayerUploadRequest(input)
  2221  	req.SetContext(ctx)
  2222  	req.ApplyOptions(opts...)
  2223  	return out, req.Send()
  2224  }
  2225  
  2226  const opListImages = "ListImages"
  2227  
  2228  // ListImagesRequest generates a "aws/request.Request" representing the
  2229  // client's request for the ListImages operation. The "output" return
  2230  // value will be populated with the request's response once the request completes
  2231  // successfully.
  2232  //
  2233  // Use "Send" method on the returned Request to send the API call to the service.
  2234  // the "output" return value is not valid until after Send returns without error.
  2235  //
  2236  // See ListImages for more information on using the ListImages
  2237  // API call, and error handling.
  2238  //
  2239  // This method is useful when you want to inject custom logic or configuration
  2240  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2241  //
  2242  //
  2243  //    // Example sending a request using the ListImagesRequest method.
  2244  //    req, resp := client.ListImagesRequest(params)
  2245  //
  2246  //    err := req.Send()
  2247  //    if err == nil { // resp is now filled
  2248  //        fmt.Println(resp)
  2249  //    }
  2250  //
  2251  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListImages
  2252  func (c *ECR) ListImagesRequest(input *ListImagesInput) (req *request.Request, output *ListImagesOutput) {
  2253  	op := &request.Operation{
  2254  		Name:       opListImages,
  2255  		HTTPMethod: "POST",
  2256  		HTTPPath:   "/",
  2257  		Paginator: &request.Paginator{
  2258  			InputTokens:     []string{"nextToken"},
  2259  			OutputTokens:    []string{"nextToken"},
  2260  			LimitToken:      "maxResults",
  2261  			TruncationToken: "",
  2262  		},
  2263  	}
  2264  
  2265  	if input == nil {
  2266  		input = &ListImagesInput{}
  2267  	}
  2268  
  2269  	output = &ListImagesOutput{}
  2270  	req = c.newRequest(op, input, output)
  2271  	return
  2272  }
  2273  
  2274  // ListImages API operation for Amazon EC2 Container Registry.
  2275  //
  2276  // Lists all the image IDs for the specified repository.
  2277  //
  2278  // You can filter images based on whether or not they are tagged by using the
  2279  // tagStatus filter and specifying either TAGGED, UNTAGGED or ANY. For example,
  2280  // you can filter your results to return only UNTAGGED images and then pipe
  2281  // that result to a BatchDeleteImage operation to delete them. Or, you can filter
  2282  // your results to return only TAGGED images to list all of the tags in your
  2283  // repository.
  2284  //
  2285  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2286  // with awserr.Error's Code and Message methods to get detailed information about
  2287  // the error.
  2288  //
  2289  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2290  // API operation ListImages for usage and error information.
  2291  //
  2292  // Returned Error Types:
  2293  //   * ServerException
  2294  //   These errors are usually caused by a server-side issue.
  2295  //
  2296  //   * InvalidParameterException
  2297  //   The specified parameter is invalid. Review the available parameters for the
  2298  //   API request.
  2299  //
  2300  //   * RepositoryNotFoundException
  2301  //   The specified repository could not be found. Check the spelling of the specified
  2302  //   repository and ensure that you are performing operations on the correct registry.
  2303  //
  2304  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListImages
  2305  func (c *ECR) ListImages(input *ListImagesInput) (*ListImagesOutput, error) {
  2306  	req, out := c.ListImagesRequest(input)
  2307  	return out, req.Send()
  2308  }
  2309  
  2310  // ListImagesWithContext is the same as ListImages with the addition of
  2311  // the ability to pass a context and additional request options.
  2312  //
  2313  // See ListImages for details on how to use this API operation.
  2314  //
  2315  // The context must be non-nil and will be used for request cancellation. If
  2316  // the context is nil a panic will occur. In the future the SDK may create
  2317  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2318  // for more information on using Contexts.
  2319  func (c *ECR) ListImagesWithContext(ctx aws.Context, input *ListImagesInput, opts ...request.Option) (*ListImagesOutput, error) {
  2320  	req, out := c.ListImagesRequest(input)
  2321  	req.SetContext(ctx)
  2322  	req.ApplyOptions(opts...)
  2323  	return out, req.Send()
  2324  }
  2325  
  2326  // ListImagesPages iterates over the pages of a ListImages operation,
  2327  // calling the "fn" function with the response data for each page. To stop
  2328  // iterating, return false from the fn function.
  2329  //
  2330  // See ListImages method for more information on how to use this operation.
  2331  //
  2332  // Note: This operation can generate multiple requests to a service.
  2333  //
  2334  //    // Example iterating over at most 3 pages of a ListImages operation.
  2335  //    pageNum := 0
  2336  //    err := client.ListImagesPages(params,
  2337  //        func(page *ecr.ListImagesOutput, lastPage bool) bool {
  2338  //            pageNum++
  2339  //            fmt.Println(page)
  2340  //            return pageNum <= 3
  2341  //        })
  2342  //
  2343  func (c *ECR) ListImagesPages(input *ListImagesInput, fn func(*ListImagesOutput, bool) bool) error {
  2344  	return c.ListImagesPagesWithContext(aws.BackgroundContext(), input, fn)
  2345  }
  2346  
  2347  // ListImagesPagesWithContext same as ListImagesPages except
  2348  // it takes a Context and allows setting request options on the pages.
  2349  //
  2350  // The context must be non-nil and will be used for request cancellation. If
  2351  // the context is nil a panic will occur. In the future the SDK may create
  2352  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2353  // for more information on using Contexts.
  2354  func (c *ECR) ListImagesPagesWithContext(ctx aws.Context, input *ListImagesInput, fn func(*ListImagesOutput, bool) bool, opts ...request.Option) error {
  2355  	p := request.Pagination{
  2356  		NewRequest: func() (*request.Request, error) {
  2357  			var inCpy *ListImagesInput
  2358  			if input != nil {
  2359  				tmp := *input
  2360  				inCpy = &tmp
  2361  			}
  2362  			req, _ := c.ListImagesRequest(inCpy)
  2363  			req.SetContext(ctx)
  2364  			req.ApplyOptions(opts...)
  2365  			return req, nil
  2366  		},
  2367  	}
  2368  
  2369  	for p.Next() {
  2370  		if !fn(p.Page().(*ListImagesOutput), !p.HasNextPage()) {
  2371  			break
  2372  		}
  2373  	}
  2374  
  2375  	return p.Err()
  2376  }
  2377  
  2378  const opListTagsForResource = "ListTagsForResource"
  2379  
  2380  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2381  // client's request for the ListTagsForResource operation. The "output" return
  2382  // value will be populated with the request's response once the request completes
  2383  // successfully.
  2384  //
  2385  // Use "Send" method on the returned Request to send the API call to the service.
  2386  // the "output" return value is not valid until after Send returns without error.
  2387  //
  2388  // See ListTagsForResource for more information on using the ListTagsForResource
  2389  // API call, and error handling.
  2390  //
  2391  // This method is useful when you want to inject custom logic or configuration
  2392  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2393  //
  2394  //
  2395  //    // Example sending a request using the ListTagsForResourceRequest method.
  2396  //    req, resp := client.ListTagsForResourceRequest(params)
  2397  //
  2398  //    err := req.Send()
  2399  //    if err == nil { // resp is now filled
  2400  //        fmt.Println(resp)
  2401  //    }
  2402  //
  2403  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListTagsForResource
  2404  func (c *ECR) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2405  	op := &request.Operation{
  2406  		Name:       opListTagsForResource,
  2407  		HTTPMethod: "POST",
  2408  		HTTPPath:   "/",
  2409  	}
  2410  
  2411  	if input == nil {
  2412  		input = &ListTagsForResourceInput{}
  2413  	}
  2414  
  2415  	output = &ListTagsForResourceOutput{}
  2416  	req = c.newRequest(op, input, output)
  2417  	return
  2418  }
  2419  
  2420  // ListTagsForResource API operation for Amazon EC2 Container Registry.
  2421  //
  2422  // List the tags for an Amazon ECR resource.
  2423  //
  2424  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2425  // with awserr.Error's Code and Message methods to get detailed information about
  2426  // the error.
  2427  //
  2428  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2429  // API operation ListTagsForResource for usage and error information.
  2430  //
  2431  // Returned Error Types:
  2432  //   * InvalidParameterException
  2433  //   The specified parameter is invalid. Review the available parameters for the
  2434  //   API request.
  2435  //
  2436  //   * RepositoryNotFoundException
  2437  //   The specified repository could not be found. Check the spelling of the specified
  2438  //   repository and ensure that you are performing operations on the correct registry.
  2439  //
  2440  //   * ServerException
  2441  //   These errors are usually caused by a server-side issue.
  2442  //
  2443  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListTagsForResource
  2444  func (c *ECR) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2445  	req, out := c.ListTagsForResourceRequest(input)
  2446  	return out, req.Send()
  2447  }
  2448  
  2449  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2450  // the ability to pass a context and additional request options.
  2451  //
  2452  // See ListTagsForResource for details on how to use this API operation.
  2453  //
  2454  // The context must be non-nil and will be used for request cancellation. If
  2455  // the context is nil a panic will occur. In the future the SDK may create
  2456  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2457  // for more information on using Contexts.
  2458  func (c *ECR) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2459  	req, out := c.ListTagsForResourceRequest(input)
  2460  	req.SetContext(ctx)
  2461  	req.ApplyOptions(opts...)
  2462  	return out, req.Send()
  2463  }
  2464  
  2465  const opPutImage = "PutImage"
  2466  
  2467  // PutImageRequest generates a "aws/request.Request" representing the
  2468  // client's request for the PutImage operation. The "output" return
  2469  // value will be populated with the request's response once the request completes
  2470  // successfully.
  2471  //
  2472  // Use "Send" method on the returned Request to send the API call to the service.
  2473  // the "output" return value is not valid until after Send returns without error.
  2474  //
  2475  // See PutImage for more information on using the PutImage
  2476  // API call, and error handling.
  2477  //
  2478  // This method is useful when you want to inject custom logic or configuration
  2479  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2480  //
  2481  //
  2482  //    // Example sending a request using the PutImageRequest method.
  2483  //    req, resp := client.PutImageRequest(params)
  2484  //
  2485  //    err := req.Send()
  2486  //    if err == nil { // resp is now filled
  2487  //        fmt.Println(resp)
  2488  //    }
  2489  //
  2490  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImage
  2491  func (c *ECR) PutImageRequest(input *PutImageInput) (req *request.Request, output *PutImageOutput) {
  2492  	op := &request.Operation{
  2493  		Name:       opPutImage,
  2494  		HTTPMethod: "POST",
  2495  		HTTPPath:   "/",
  2496  	}
  2497  
  2498  	if input == nil {
  2499  		input = &PutImageInput{}
  2500  	}
  2501  
  2502  	output = &PutImageOutput{}
  2503  	req = c.newRequest(op, input, output)
  2504  	return
  2505  }
  2506  
  2507  // PutImage API operation for Amazon EC2 Container Registry.
  2508  //
  2509  // Creates or updates the image manifest and tags associated with an image.
  2510  //
  2511  // When an image is pushed and all new image layers have been uploaded, the
  2512  // PutImage API is called once to create or update the image manifest and the
  2513  // tags associated with the image.
  2514  //
  2515  // This operation is used by the Amazon ECR proxy and is not generally used
  2516  // by customers for pulling and pushing images. In most cases, you should use
  2517  // the docker CLI to pull, tag, and push images.
  2518  //
  2519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2520  // with awserr.Error's Code and Message methods to get detailed information about
  2521  // the error.
  2522  //
  2523  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2524  // API operation PutImage for usage and error information.
  2525  //
  2526  // Returned Error Types:
  2527  //   * ServerException
  2528  //   These errors are usually caused by a server-side issue.
  2529  //
  2530  //   * InvalidParameterException
  2531  //   The specified parameter is invalid. Review the available parameters for the
  2532  //   API request.
  2533  //
  2534  //   * RepositoryNotFoundException
  2535  //   The specified repository could not be found. Check the spelling of the specified
  2536  //   repository and ensure that you are performing operations on the correct registry.
  2537  //
  2538  //   * ImageAlreadyExistsException
  2539  //   The specified image has already been pushed, and there were no changes to
  2540  //   the manifest or image tag after the last push.
  2541  //
  2542  //   * LayersNotFoundException
  2543  //   The specified layers could not be found, or the specified layer is not valid
  2544  //   for this repository.
  2545  //
  2546  //   * ReferencedImagesNotFoundException
  2547  //   The manifest list is referencing an image that does not exist.
  2548  //
  2549  //   * LimitExceededException
  2550  //   The operation did not succeed because it would have exceeded a service limit
  2551  //   for your account. For more information, see Amazon ECR service quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  2552  //   in the Amazon Elastic Container Registry User Guide.
  2553  //
  2554  //   * ImageTagAlreadyExistsException
  2555  //   The specified image is tagged with a tag that already exists. The repository
  2556  //   is configured for tag immutability.
  2557  //
  2558  //   * ImageDigestDoesNotMatchException
  2559  //   The specified image digest does not match the digest that Amazon ECR calculated
  2560  //   for the image.
  2561  //
  2562  //   * KmsException
  2563  //   The operation failed due to a KMS exception.
  2564  //
  2565  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImage
  2566  func (c *ECR) PutImage(input *PutImageInput) (*PutImageOutput, error) {
  2567  	req, out := c.PutImageRequest(input)
  2568  	return out, req.Send()
  2569  }
  2570  
  2571  // PutImageWithContext is the same as PutImage with the addition of
  2572  // the ability to pass a context and additional request options.
  2573  //
  2574  // See PutImage for details on how to use this API operation.
  2575  //
  2576  // The context must be non-nil and will be used for request cancellation. If
  2577  // the context is nil a panic will occur. In the future the SDK may create
  2578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2579  // for more information on using Contexts.
  2580  func (c *ECR) PutImageWithContext(ctx aws.Context, input *PutImageInput, opts ...request.Option) (*PutImageOutput, error) {
  2581  	req, out := c.PutImageRequest(input)
  2582  	req.SetContext(ctx)
  2583  	req.ApplyOptions(opts...)
  2584  	return out, req.Send()
  2585  }
  2586  
  2587  const opPutImageScanningConfiguration = "PutImageScanningConfiguration"
  2588  
  2589  // PutImageScanningConfigurationRequest generates a "aws/request.Request" representing the
  2590  // client's request for the PutImageScanningConfiguration operation. The "output" return
  2591  // value will be populated with the request's response once the request completes
  2592  // successfully.
  2593  //
  2594  // Use "Send" method on the returned Request to send the API call to the service.
  2595  // the "output" return value is not valid until after Send returns without error.
  2596  //
  2597  // See PutImageScanningConfiguration for more information on using the PutImageScanningConfiguration
  2598  // API call, and error handling.
  2599  //
  2600  // This method is useful when you want to inject custom logic or configuration
  2601  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2602  //
  2603  //
  2604  //    // Example sending a request using the PutImageScanningConfigurationRequest method.
  2605  //    req, resp := client.PutImageScanningConfigurationRequest(params)
  2606  //
  2607  //    err := req.Send()
  2608  //    if err == nil { // resp is now filled
  2609  //        fmt.Println(resp)
  2610  //    }
  2611  //
  2612  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageScanningConfiguration
  2613  func (c *ECR) PutImageScanningConfigurationRequest(input *PutImageScanningConfigurationInput) (req *request.Request, output *PutImageScanningConfigurationOutput) {
  2614  	op := &request.Operation{
  2615  		Name:       opPutImageScanningConfiguration,
  2616  		HTTPMethod: "POST",
  2617  		HTTPPath:   "/",
  2618  	}
  2619  
  2620  	if input == nil {
  2621  		input = &PutImageScanningConfigurationInput{}
  2622  	}
  2623  
  2624  	output = &PutImageScanningConfigurationOutput{}
  2625  	req = c.newRequest(op, input, output)
  2626  	return
  2627  }
  2628  
  2629  // PutImageScanningConfiguration API operation for Amazon EC2 Container Registry.
  2630  //
  2631  // Updates the image scanning configuration for the specified repository.
  2632  //
  2633  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2634  // with awserr.Error's Code and Message methods to get detailed information about
  2635  // the error.
  2636  //
  2637  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2638  // API operation PutImageScanningConfiguration for usage and error information.
  2639  //
  2640  // Returned Error Types:
  2641  //   * ServerException
  2642  //   These errors are usually caused by a server-side issue.
  2643  //
  2644  //   * InvalidParameterException
  2645  //   The specified parameter is invalid. Review the available parameters for the
  2646  //   API request.
  2647  //
  2648  //   * RepositoryNotFoundException
  2649  //   The specified repository could not be found. Check the spelling of the specified
  2650  //   repository and ensure that you are performing operations on the correct registry.
  2651  //
  2652  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageScanningConfiguration
  2653  func (c *ECR) PutImageScanningConfiguration(input *PutImageScanningConfigurationInput) (*PutImageScanningConfigurationOutput, error) {
  2654  	req, out := c.PutImageScanningConfigurationRequest(input)
  2655  	return out, req.Send()
  2656  }
  2657  
  2658  // PutImageScanningConfigurationWithContext is the same as PutImageScanningConfiguration with the addition of
  2659  // the ability to pass a context and additional request options.
  2660  //
  2661  // See PutImageScanningConfiguration for details on how to use this API operation.
  2662  //
  2663  // The context must be non-nil and will be used for request cancellation. If
  2664  // the context is nil a panic will occur. In the future the SDK may create
  2665  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2666  // for more information on using Contexts.
  2667  func (c *ECR) PutImageScanningConfigurationWithContext(ctx aws.Context, input *PutImageScanningConfigurationInput, opts ...request.Option) (*PutImageScanningConfigurationOutput, error) {
  2668  	req, out := c.PutImageScanningConfigurationRequest(input)
  2669  	req.SetContext(ctx)
  2670  	req.ApplyOptions(opts...)
  2671  	return out, req.Send()
  2672  }
  2673  
  2674  const opPutImageTagMutability = "PutImageTagMutability"
  2675  
  2676  // PutImageTagMutabilityRequest generates a "aws/request.Request" representing the
  2677  // client's request for the PutImageTagMutability operation. The "output" return
  2678  // value will be populated with the request's response once the request completes
  2679  // successfully.
  2680  //
  2681  // Use "Send" method on the returned Request to send the API call to the service.
  2682  // the "output" return value is not valid until after Send returns without error.
  2683  //
  2684  // See PutImageTagMutability for more information on using the PutImageTagMutability
  2685  // API call, and error handling.
  2686  //
  2687  // This method is useful when you want to inject custom logic or configuration
  2688  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2689  //
  2690  //
  2691  //    // Example sending a request using the PutImageTagMutabilityRequest method.
  2692  //    req, resp := client.PutImageTagMutabilityRequest(params)
  2693  //
  2694  //    err := req.Send()
  2695  //    if err == nil { // resp is now filled
  2696  //        fmt.Println(resp)
  2697  //    }
  2698  //
  2699  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageTagMutability
  2700  func (c *ECR) PutImageTagMutabilityRequest(input *PutImageTagMutabilityInput) (req *request.Request, output *PutImageTagMutabilityOutput) {
  2701  	op := &request.Operation{
  2702  		Name:       opPutImageTagMutability,
  2703  		HTTPMethod: "POST",
  2704  		HTTPPath:   "/",
  2705  	}
  2706  
  2707  	if input == nil {
  2708  		input = &PutImageTagMutabilityInput{}
  2709  	}
  2710  
  2711  	output = &PutImageTagMutabilityOutput{}
  2712  	req = c.newRequest(op, input, output)
  2713  	return
  2714  }
  2715  
  2716  // PutImageTagMutability API operation for Amazon EC2 Container Registry.
  2717  //
  2718  // Updates the image tag mutability settings for the specified repository. For
  2719  // more information, see Image tag mutability (https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-tag-mutability.html)
  2720  // in the Amazon Elastic Container Registry User Guide.
  2721  //
  2722  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2723  // with awserr.Error's Code and Message methods to get detailed information about
  2724  // the error.
  2725  //
  2726  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2727  // API operation PutImageTagMutability for usage and error information.
  2728  //
  2729  // Returned Error Types:
  2730  //   * ServerException
  2731  //   These errors are usually caused by a server-side issue.
  2732  //
  2733  //   * InvalidParameterException
  2734  //   The specified parameter is invalid. Review the available parameters for the
  2735  //   API request.
  2736  //
  2737  //   * RepositoryNotFoundException
  2738  //   The specified repository could not be found. Check the spelling of the specified
  2739  //   repository and ensure that you are performing operations on the correct registry.
  2740  //
  2741  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageTagMutability
  2742  func (c *ECR) PutImageTagMutability(input *PutImageTagMutabilityInput) (*PutImageTagMutabilityOutput, error) {
  2743  	req, out := c.PutImageTagMutabilityRequest(input)
  2744  	return out, req.Send()
  2745  }
  2746  
  2747  // PutImageTagMutabilityWithContext is the same as PutImageTagMutability with the addition of
  2748  // the ability to pass a context and additional request options.
  2749  //
  2750  // See PutImageTagMutability for details on how to use this API operation.
  2751  //
  2752  // The context must be non-nil and will be used for request cancellation. If
  2753  // the context is nil a panic will occur. In the future the SDK may create
  2754  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2755  // for more information on using Contexts.
  2756  func (c *ECR) PutImageTagMutabilityWithContext(ctx aws.Context, input *PutImageTagMutabilityInput, opts ...request.Option) (*PutImageTagMutabilityOutput, error) {
  2757  	req, out := c.PutImageTagMutabilityRequest(input)
  2758  	req.SetContext(ctx)
  2759  	req.ApplyOptions(opts...)
  2760  	return out, req.Send()
  2761  }
  2762  
  2763  const opPutLifecyclePolicy = "PutLifecyclePolicy"
  2764  
  2765  // PutLifecyclePolicyRequest generates a "aws/request.Request" representing the
  2766  // client's request for the PutLifecyclePolicy operation. The "output" return
  2767  // value will be populated with the request's response once the request completes
  2768  // successfully.
  2769  //
  2770  // Use "Send" method on the returned Request to send the API call to the service.
  2771  // the "output" return value is not valid until after Send returns without error.
  2772  //
  2773  // See PutLifecyclePolicy for more information on using the PutLifecyclePolicy
  2774  // API call, and error handling.
  2775  //
  2776  // This method is useful when you want to inject custom logic or configuration
  2777  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2778  //
  2779  //
  2780  //    // Example sending a request using the PutLifecyclePolicyRequest method.
  2781  //    req, resp := client.PutLifecyclePolicyRequest(params)
  2782  //
  2783  //    err := req.Send()
  2784  //    if err == nil { // resp is now filled
  2785  //        fmt.Println(resp)
  2786  //    }
  2787  //
  2788  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutLifecyclePolicy
  2789  func (c *ECR) PutLifecyclePolicyRequest(input *PutLifecyclePolicyInput) (req *request.Request, output *PutLifecyclePolicyOutput) {
  2790  	op := &request.Operation{
  2791  		Name:       opPutLifecyclePolicy,
  2792  		HTTPMethod: "POST",
  2793  		HTTPPath:   "/",
  2794  	}
  2795  
  2796  	if input == nil {
  2797  		input = &PutLifecyclePolicyInput{}
  2798  	}
  2799  
  2800  	output = &PutLifecyclePolicyOutput{}
  2801  	req = c.newRequest(op, input, output)
  2802  	return
  2803  }
  2804  
  2805  // PutLifecyclePolicy API operation for Amazon EC2 Container Registry.
  2806  //
  2807  // Creates or updates the lifecycle policy for the specified repository. For
  2808  // more information, see Lifecycle policy template (https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).
  2809  //
  2810  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2811  // with awserr.Error's Code and Message methods to get detailed information about
  2812  // the error.
  2813  //
  2814  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2815  // API operation PutLifecyclePolicy for usage and error information.
  2816  //
  2817  // Returned Error Types:
  2818  //   * ServerException
  2819  //   These errors are usually caused by a server-side issue.
  2820  //
  2821  //   * InvalidParameterException
  2822  //   The specified parameter is invalid. Review the available parameters for the
  2823  //   API request.
  2824  //
  2825  //   * RepositoryNotFoundException
  2826  //   The specified repository could not be found. Check the spelling of the specified
  2827  //   repository and ensure that you are performing operations on the correct registry.
  2828  //
  2829  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutLifecyclePolicy
  2830  func (c *ECR) PutLifecyclePolicy(input *PutLifecyclePolicyInput) (*PutLifecyclePolicyOutput, error) {
  2831  	req, out := c.PutLifecyclePolicyRequest(input)
  2832  	return out, req.Send()
  2833  }
  2834  
  2835  // PutLifecyclePolicyWithContext is the same as PutLifecyclePolicy with the addition of
  2836  // the ability to pass a context and additional request options.
  2837  //
  2838  // See PutLifecyclePolicy for details on how to use this API operation.
  2839  //
  2840  // The context must be non-nil and will be used for request cancellation. If
  2841  // the context is nil a panic will occur. In the future the SDK may create
  2842  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2843  // for more information on using Contexts.
  2844  func (c *ECR) PutLifecyclePolicyWithContext(ctx aws.Context, input *PutLifecyclePolicyInput, opts ...request.Option) (*PutLifecyclePolicyOutput, error) {
  2845  	req, out := c.PutLifecyclePolicyRequest(input)
  2846  	req.SetContext(ctx)
  2847  	req.ApplyOptions(opts...)
  2848  	return out, req.Send()
  2849  }
  2850  
  2851  const opPutRegistryPolicy = "PutRegistryPolicy"
  2852  
  2853  // PutRegistryPolicyRequest generates a "aws/request.Request" representing the
  2854  // client's request for the PutRegistryPolicy operation. The "output" return
  2855  // value will be populated with the request's response once the request completes
  2856  // successfully.
  2857  //
  2858  // Use "Send" method on the returned Request to send the API call to the service.
  2859  // the "output" return value is not valid until after Send returns without error.
  2860  //
  2861  // See PutRegistryPolicy for more information on using the PutRegistryPolicy
  2862  // API call, and error handling.
  2863  //
  2864  // This method is useful when you want to inject custom logic or configuration
  2865  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2866  //
  2867  //
  2868  //    // Example sending a request using the PutRegistryPolicyRequest method.
  2869  //    req, resp := client.PutRegistryPolicyRequest(params)
  2870  //
  2871  //    err := req.Send()
  2872  //    if err == nil { // resp is now filled
  2873  //        fmt.Println(resp)
  2874  //    }
  2875  //
  2876  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutRegistryPolicy
  2877  func (c *ECR) PutRegistryPolicyRequest(input *PutRegistryPolicyInput) (req *request.Request, output *PutRegistryPolicyOutput) {
  2878  	op := &request.Operation{
  2879  		Name:       opPutRegistryPolicy,
  2880  		HTTPMethod: "POST",
  2881  		HTTPPath:   "/",
  2882  	}
  2883  
  2884  	if input == nil {
  2885  		input = &PutRegistryPolicyInput{}
  2886  	}
  2887  
  2888  	output = &PutRegistryPolicyOutput{}
  2889  	req = c.newRequest(op, input, output)
  2890  	return
  2891  }
  2892  
  2893  // PutRegistryPolicy API operation for Amazon EC2 Container Registry.
  2894  //
  2895  // Creates or updates the permissions policy for your registry.
  2896  //
  2897  // A registry policy is used to specify permissions for another Amazon Web Services
  2898  // account and is used when configuring cross-account replication. For more
  2899  // information, see Registry permissions (https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html)
  2900  // in the Amazon Elastic Container Registry User Guide.
  2901  //
  2902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2903  // with awserr.Error's Code and Message methods to get detailed information about
  2904  // the error.
  2905  //
  2906  // See the AWS API reference guide for Amazon EC2 Container Registry's
  2907  // API operation PutRegistryPolicy for usage and error information.
  2908  //
  2909  // Returned Error Types:
  2910  //   * ServerException
  2911  //   These errors are usually caused by a server-side issue.
  2912  //
  2913  //   * InvalidParameterException
  2914  //   The specified parameter is invalid. Review the available parameters for the
  2915  //   API request.
  2916  //
  2917  //   * ValidationException
  2918  //   There was an exception validating this request.
  2919  //
  2920  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutRegistryPolicy
  2921  func (c *ECR) PutRegistryPolicy(input *PutRegistryPolicyInput) (*PutRegistryPolicyOutput, error) {
  2922  	req, out := c.PutRegistryPolicyRequest(input)
  2923  	return out, req.Send()
  2924  }
  2925  
  2926  // PutRegistryPolicyWithContext is the same as PutRegistryPolicy with the addition of
  2927  // the ability to pass a context and additional request options.
  2928  //
  2929  // See PutRegistryPolicy for details on how to use this API operation.
  2930  //
  2931  // The context must be non-nil and will be used for request cancellation. If
  2932  // the context is nil a panic will occur. In the future the SDK may create
  2933  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2934  // for more information on using Contexts.
  2935  func (c *ECR) PutRegistryPolicyWithContext(ctx aws.Context, input *PutRegistryPolicyInput, opts ...request.Option) (*PutRegistryPolicyOutput, error) {
  2936  	req, out := c.PutRegistryPolicyRequest(input)
  2937  	req.SetContext(ctx)
  2938  	req.ApplyOptions(opts...)
  2939  	return out, req.Send()
  2940  }
  2941  
  2942  const opPutReplicationConfiguration = "PutReplicationConfiguration"
  2943  
  2944  // PutReplicationConfigurationRequest generates a "aws/request.Request" representing the
  2945  // client's request for the PutReplicationConfiguration operation. The "output" return
  2946  // value will be populated with the request's response once the request completes
  2947  // successfully.
  2948  //
  2949  // Use "Send" method on the returned Request to send the API call to the service.
  2950  // the "output" return value is not valid until after Send returns without error.
  2951  //
  2952  // See PutReplicationConfiguration for more information on using the PutReplicationConfiguration
  2953  // API call, and error handling.
  2954  //
  2955  // This method is useful when you want to inject custom logic or configuration
  2956  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2957  //
  2958  //
  2959  //    // Example sending a request using the PutReplicationConfigurationRequest method.
  2960  //    req, resp := client.PutReplicationConfigurationRequest(params)
  2961  //
  2962  //    err := req.Send()
  2963  //    if err == nil { // resp is now filled
  2964  //        fmt.Println(resp)
  2965  //    }
  2966  //
  2967  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutReplicationConfiguration
  2968  func (c *ECR) PutReplicationConfigurationRequest(input *PutReplicationConfigurationInput) (req *request.Request, output *PutReplicationConfigurationOutput) {
  2969  	op := &request.Operation{
  2970  		Name:       opPutReplicationConfiguration,
  2971  		HTTPMethod: "POST",
  2972  		HTTPPath:   "/",
  2973  	}
  2974  
  2975  	if input == nil {
  2976  		input = &PutReplicationConfigurationInput{}
  2977  	}
  2978  
  2979  	output = &PutReplicationConfigurationOutput{}
  2980  	req = c.newRequest(op, input, output)
  2981  	return
  2982  }
  2983  
  2984  // PutReplicationConfiguration API operation for Amazon EC2 Container Registry.
  2985  //
  2986  // Creates or updates the replication configuration for a registry. The existing
  2987  // replication configuration for a repository can be retrieved with the DescribeRegistry
  2988  // API action. The first time the PutReplicationConfiguration API is called,
  2989  // a service-linked IAM role is created in your account for the replication
  2990  // process. For more information, see Using service-linked roles for Amazon
  2991  // ECR (https://docs.aws.amazon.com/AmazonECR/latest/userguide/using-service-linked-roles.html)
  2992  // in the Amazon Elastic Container Registry User Guide.
  2993  //
  2994  // When configuring cross-account replication, the destination account must
  2995  // grant the source account permission to replicate. This permission is controlled
  2996  // using a registry permissions policy. For more information, see PutRegistryPolicy.
  2997  //
  2998  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2999  // with awserr.Error's Code and Message methods to get detailed information about
  3000  // the error.
  3001  //
  3002  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3003  // API operation PutReplicationConfiguration for usage and error information.
  3004  //
  3005  // Returned Error Types:
  3006  //   * ServerException
  3007  //   These errors are usually caused by a server-side issue.
  3008  //
  3009  //   * InvalidParameterException
  3010  //   The specified parameter is invalid. Review the available parameters for the
  3011  //   API request.
  3012  //
  3013  //   * ValidationException
  3014  //   There was an exception validating this request.
  3015  //
  3016  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutReplicationConfiguration
  3017  func (c *ECR) PutReplicationConfiguration(input *PutReplicationConfigurationInput) (*PutReplicationConfigurationOutput, error) {
  3018  	req, out := c.PutReplicationConfigurationRequest(input)
  3019  	return out, req.Send()
  3020  }
  3021  
  3022  // PutReplicationConfigurationWithContext is the same as PutReplicationConfiguration with the addition of
  3023  // the ability to pass a context and additional request options.
  3024  //
  3025  // See PutReplicationConfiguration for details on how to use this API operation.
  3026  //
  3027  // The context must be non-nil and will be used for request cancellation. If
  3028  // the context is nil a panic will occur. In the future the SDK may create
  3029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3030  // for more information on using Contexts.
  3031  func (c *ECR) PutReplicationConfigurationWithContext(ctx aws.Context, input *PutReplicationConfigurationInput, opts ...request.Option) (*PutReplicationConfigurationOutput, error) {
  3032  	req, out := c.PutReplicationConfigurationRequest(input)
  3033  	req.SetContext(ctx)
  3034  	req.ApplyOptions(opts...)
  3035  	return out, req.Send()
  3036  }
  3037  
  3038  const opSetRepositoryPolicy = "SetRepositoryPolicy"
  3039  
  3040  // SetRepositoryPolicyRequest generates a "aws/request.Request" representing the
  3041  // client's request for the SetRepositoryPolicy operation. The "output" return
  3042  // value will be populated with the request's response once the request completes
  3043  // successfully.
  3044  //
  3045  // Use "Send" method on the returned Request to send the API call to the service.
  3046  // the "output" return value is not valid until after Send returns without error.
  3047  //
  3048  // See SetRepositoryPolicy for more information on using the SetRepositoryPolicy
  3049  // API call, and error handling.
  3050  //
  3051  // This method is useful when you want to inject custom logic or configuration
  3052  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3053  //
  3054  //
  3055  //    // Example sending a request using the SetRepositoryPolicyRequest method.
  3056  //    req, resp := client.SetRepositoryPolicyRequest(params)
  3057  //
  3058  //    err := req.Send()
  3059  //    if err == nil { // resp is now filled
  3060  //        fmt.Println(resp)
  3061  //    }
  3062  //
  3063  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/SetRepositoryPolicy
  3064  func (c *ECR) SetRepositoryPolicyRequest(input *SetRepositoryPolicyInput) (req *request.Request, output *SetRepositoryPolicyOutput) {
  3065  	op := &request.Operation{
  3066  		Name:       opSetRepositoryPolicy,
  3067  		HTTPMethod: "POST",
  3068  		HTTPPath:   "/",
  3069  	}
  3070  
  3071  	if input == nil {
  3072  		input = &SetRepositoryPolicyInput{}
  3073  	}
  3074  
  3075  	output = &SetRepositoryPolicyOutput{}
  3076  	req = c.newRequest(op, input, output)
  3077  	return
  3078  }
  3079  
  3080  // SetRepositoryPolicy API operation for Amazon EC2 Container Registry.
  3081  //
  3082  // Applies a repository policy to the specified repository to control access
  3083  // permissions. For more information, see Amazon ECR Repository policies (https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html)
  3084  // in the Amazon Elastic Container Registry User Guide.
  3085  //
  3086  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3087  // with awserr.Error's Code and Message methods to get detailed information about
  3088  // the error.
  3089  //
  3090  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3091  // API operation SetRepositoryPolicy for usage and error information.
  3092  //
  3093  // Returned Error Types:
  3094  //   * ServerException
  3095  //   These errors are usually caused by a server-side issue.
  3096  //
  3097  //   * InvalidParameterException
  3098  //   The specified parameter is invalid. Review the available parameters for the
  3099  //   API request.
  3100  //
  3101  //   * RepositoryNotFoundException
  3102  //   The specified repository could not be found. Check the spelling of the specified
  3103  //   repository and ensure that you are performing operations on the correct registry.
  3104  //
  3105  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/SetRepositoryPolicy
  3106  func (c *ECR) SetRepositoryPolicy(input *SetRepositoryPolicyInput) (*SetRepositoryPolicyOutput, error) {
  3107  	req, out := c.SetRepositoryPolicyRequest(input)
  3108  	return out, req.Send()
  3109  }
  3110  
  3111  // SetRepositoryPolicyWithContext is the same as SetRepositoryPolicy with the addition of
  3112  // the ability to pass a context and additional request options.
  3113  //
  3114  // See SetRepositoryPolicy for details on how to use this API operation.
  3115  //
  3116  // The context must be non-nil and will be used for request cancellation. If
  3117  // the context is nil a panic will occur. In the future the SDK may create
  3118  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3119  // for more information on using Contexts.
  3120  func (c *ECR) SetRepositoryPolicyWithContext(ctx aws.Context, input *SetRepositoryPolicyInput, opts ...request.Option) (*SetRepositoryPolicyOutput, error) {
  3121  	req, out := c.SetRepositoryPolicyRequest(input)
  3122  	req.SetContext(ctx)
  3123  	req.ApplyOptions(opts...)
  3124  	return out, req.Send()
  3125  }
  3126  
  3127  const opStartImageScan = "StartImageScan"
  3128  
  3129  // StartImageScanRequest generates a "aws/request.Request" representing the
  3130  // client's request for the StartImageScan operation. The "output" return
  3131  // value will be populated with the request's response once the request completes
  3132  // successfully.
  3133  //
  3134  // Use "Send" method on the returned Request to send the API call to the service.
  3135  // the "output" return value is not valid until after Send returns without error.
  3136  //
  3137  // See StartImageScan for more information on using the StartImageScan
  3138  // API call, and error handling.
  3139  //
  3140  // This method is useful when you want to inject custom logic or configuration
  3141  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3142  //
  3143  //
  3144  //    // Example sending a request using the StartImageScanRequest method.
  3145  //    req, resp := client.StartImageScanRequest(params)
  3146  //
  3147  //    err := req.Send()
  3148  //    if err == nil { // resp is now filled
  3149  //        fmt.Println(resp)
  3150  //    }
  3151  //
  3152  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScan
  3153  func (c *ECR) StartImageScanRequest(input *StartImageScanInput) (req *request.Request, output *StartImageScanOutput) {
  3154  	op := &request.Operation{
  3155  		Name:       opStartImageScan,
  3156  		HTTPMethod: "POST",
  3157  		HTTPPath:   "/",
  3158  	}
  3159  
  3160  	if input == nil {
  3161  		input = &StartImageScanInput{}
  3162  	}
  3163  
  3164  	output = &StartImageScanOutput{}
  3165  	req = c.newRequest(op, input, output)
  3166  	return
  3167  }
  3168  
  3169  // StartImageScan API operation for Amazon EC2 Container Registry.
  3170  //
  3171  // Starts an image vulnerability scan. An image scan can only be started once
  3172  // per 24 hours on an individual image. This limit includes if an image was
  3173  // scanned on initial push. For more information, see Image scanning (https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html)
  3174  // in the Amazon Elastic Container Registry User Guide.
  3175  //
  3176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3177  // with awserr.Error's Code and Message methods to get detailed information about
  3178  // the error.
  3179  //
  3180  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3181  // API operation StartImageScan for usage and error information.
  3182  //
  3183  // Returned Error Types:
  3184  //   * ServerException
  3185  //   These errors are usually caused by a server-side issue.
  3186  //
  3187  //   * InvalidParameterException
  3188  //   The specified parameter is invalid. Review the available parameters for the
  3189  //   API request.
  3190  //
  3191  //   * UnsupportedImageTypeException
  3192  //   The image is of a type that cannot be scanned.
  3193  //
  3194  //   * LimitExceededException
  3195  //   The operation did not succeed because it would have exceeded a service limit
  3196  //   for your account. For more information, see Amazon ECR service quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  3197  //   in the Amazon Elastic Container Registry User Guide.
  3198  //
  3199  //   * RepositoryNotFoundException
  3200  //   The specified repository could not be found. Check the spelling of the specified
  3201  //   repository and ensure that you are performing operations on the correct registry.
  3202  //
  3203  //   * ImageNotFoundException
  3204  //   The image requested does not exist in the specified repository.
  3205  //
  3206  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScan
  3207  func (c *ECR) StartImageScan(input *StartImageScanInput) (*StartImageScanOutput, error) {
  3208  	req, out := c.StartImageScanRequest(input)
  3209  	return out, req.Send()
  3210  }
  3211  
  3212  // StartImageScanWithContext is the same as StartImageScan with the addition of
  3213  // the ability to pass a context and additional request options.
  3214  //
  3215  // See StartImageScan for details on how to use this API operation.
  3216  //
  3217  // The context must be non-nil and will be used for request cancellation. If
  3218  // the context is nil a panic will occur. In the future the SDK may create
  3219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3220  // for more information on using Contexts.
  3221  func (c *ECR) StartImageScanWithContext(ctx aws.Context, input *StartImageScanInput, opts ...request.Option) (*StartImageScanOutput, error) {
  3222  	req, out := c.StartImageScanRequest(input)
  3223  	req.SetContext(ctx)
  3224  	req.ApplyOptions(opts...)
  3225  	return out, req.Send()
  3226  }
  3227  
  3228  const opStartLifecyclePolicyPreview = "StartLifecyclePolicyPreview"
  3229  
  3230  // StartLifecyclePolicyPreviewRequest generates a "aws/request.Request" representing the
  3231  // client's request for the StartLifecyclePolicyPreview operation. The "output" return
  3232  // value will be populated with the request's response once the request completes
  3233  // successfully.
  3234  //
  3235  // Use "Send" method on the returned Request to send the API call to the service.
  3236  // the "output" return value is not valid until after Send returns without error.
  3237  //
  3238  // See StartLifecyclePolicyPreview for more information on using the StartLifecyclePolicyPreview
  3239  // API call, and error handling.
  3240  //
  3241  // This method is useful when you want to inject custom logic or configuration
  3242  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3243  //
  3244  //
  3245  //    // Example sending a request using the StartLifecyclePolicyPreviewRequest method.
  3246  //    req, resp := client.StartLifecyclePolicyPreviewRequest(params)
  3247  //
  3248  //    err := req.Send()
  3249  //    if err == nil { // resp is now filled
  3250  //        fmt.Println(resp)
  3251  //    }
  3252  //
  3253  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreview
  3254  func (c *ECR) StartLifecyclePolicyPreviewRequest(input *StartLifecyclePolicyPreviewInput) (req *request.Request, output *StartLifecyclePolicyPreviewOutput) {
  3255  	op := &request.Operation{
  3256  		Name:       opStartLifecyclePolicyPreview,
  3257  		HTTPMethod: "POST",
  3258  		HTTPPath:   "/",
  3259  	}
  3260  
  3261  	if input == nil {
  3262  		input = &StartLifecyclePolicyPreviewInput{}
  3263  	}
  3264  
  3265  	output = &StartLifecyclePolicyPreviewOutput{}
  3266  	req = c.newRequest(op, input, output)
  3267  	return
  3268  }
  3269  
  3270  // StartLifecyclePolicyPreview API operation for Amazon EC2 Container Registry.
  3271  //
  3272  // Starts a preview of a lifecycle policy for the specified repository. This
  3273  // allows you to see the results before associating the lifecycle policy with
  3274  // the repository.
  3275  //
  3276  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3277  // with awserr.Error's Code and Message methods to get detailed information about
  3278  // the error.
  3279  //
  3280  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3281  // API operation StartLifecyclePolicyPreview for usage and error information.
  3282  //
  3283  // Returned Error Types:
  3284  //   * ServerException
  3285  //   These errors are usually caused by a server-side issue.
  3286  //
  3287  //   * InvalidParameterException
  3288  //   The specified parameter is invalid. Review the available parameters for the
  3289  //   API request.
  3290  //
  3291  //   * RepositoryNotFoundException
  3292  //   The specified repository could not be found. Check the spelling of the specified
  3293  //   repository and ensure that you are performing operations on the correct registry.
  3294  //
  3295  //   * LifecyclePolicyNotFoundException
  3296  //   The lifecycle policy could not be found, and no policy is set to the repository.
  3297  //
  3298  //   * LifecyclePolicyPreviewInProgressException
  3299  //   The previous lifecycle policy preview request has not completed. Wait and
  3300  //   try again.
  3301  //
  3302  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreview
  3303  func (c *ECR) StartLifecyclePolicyPreview(input *StartLifecyclePolicyPreviewInput) (*StartLifecyclePolicyPreviewOutput, error) {
  3304  	req, out := c.StartLifecyclePolicyPreviewRequest(input)
  3305  	return out, req.Send()
  3306  }
  3307  
  3308  // StartLifecyclePolicyPreviewWithContext is the same as StartLifecyclePolicyPreview with the addition of
  3309  // the ability to pass a context and additional request options.
  3310  //
  3311  // See StartLifecyclePolicyPreview for details on how to use this API operation.
  3312  //
  3313  // The context must be non-nil and will be used for request cancellation. If
  3314  // the context is nil a panic will occur. In the future the SDK may create
  3315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3316  // for more information on using Contexts.
  3317  func (c *ECR) StartLifecyclePolicyPreviewWithContext(ctx aws.Context, input *StartLifecyclePolicyPreviewInput, opts ...request.Option) (*StartLifecyclePolicyPreviewOutput, error) {
  3318  	req, out := c.StartLifecyclePolicyPreviewRequest(input)
  3319  	req.SetContext(ctx)
  3320  	req.ApplyOptions(opts...)
  3321  	return out, req.Send()
  3322  }
  3323  
  3324  const opTagResource = "TagResource"
  3325  
  3326  // TagResourceRequest generates a "aws/request.Request" representing the
  3327  // client's request for the TagResource operation. The "output" return
  3328  // value will be populated with the request's response once the request completes
  3329  // successfully.
  3330  //
  3331  // Use "Send" method on the returned Request to send the API call to the service.
  3332  // the "output" return value is not valid until after Send returns without error.
  3333  //
  3334  // See TagResource for more information on using the TagResource
  3335  // API call, and error handling.
  3336  //
  3337  // This method is useful when you want to inject custom logic or configuration
  3338  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3339  //
  3340  //
  3341  //    // Example sending a request using the TagResourceRequest method.
  3342  //    req, resp := client.TagResourceRequest(params)
  3343  //
  3344  //    err := req.Send()
  3345  //    if err == nil { // resp is now filled
  3346  //        fmt.Println(resp)
  3347  //    }
  3348  //
  3349  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/TagResource
  3350  func (c *ECR) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3351  	op := &request.Operation{
  3352  		Name:       opTagResource,
  3353  		HTTPMethod: "POST",
  3354  		HTTPPath:   "/",
  3355  	}
  3356  
  3357  	if input == nil {
  3358  		input = &TagResourceInput{}
  3359  	}
  3360  
  3361  	output = &TagResourceOutput{}
  3362  	req = c.newRequest(op, input, output)
  3363  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3364  	return
  3365  }
  3366  
  3367  // TagResource API operation for Amazon EC2 Container Registry.
  3368  //
  3369  // Adds specified tags to a resource with the specified ARN. Existing tags on
  3370  // a resource are not changed if they are not specified in the request parameters.
  3371  //
  3372  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3373  // with awserr.Error's Code and Message methods to get detailed information about
  3374  // the error.
  3375  //
  3376  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3377  // API operation TagResource for usage and error information.
  3378  //
  3379  // Returned Error Types:
  3380  //   * InvalidParameterException
  3381  //   The specified parameter is invalid. Review the available parameters for the
  3382  //   API request.
  3383  //
  3384  //   * InvalidTagParameterException
  3385  //   An invalid parameter has been specified. Tag keys can have a maximum character
  3386  //   length of 128 characters, and tag values can have a maximum length of 256
  3387  //   characters.
  3388  //
  3389  //   * TooManyTagsException
  3390  //   The list of tags on the repository is over the limit. The maximum number
  3391  //   of tags that can be applied to a repository is 50.
  3392  //
  3393  //   * RepositoryNotFoundException
  3394  //   The specified repository could not be found. Check the spelling of the specified
  3395  //   repository and ensure that you are performing operations on the correct registry.
  3396  //
  3397  //   * ServerException
  3398  //   These errors are usually caused by a server-side issue.
  3399  //
  3400  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/TagResource
  3401  func (c *ECR) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3402  	req, out := c.TagResourceRequest(input)
  3403  	return out, req.Send()
  3404  }
  3405  
  3406  // TagResourceWithContext is the same as TagResource with the addition of
  3407  // the ability to pass a context and additional request options.
  3408  //
  3409  // See TagResource for details on how to use this API operation.
  3410  //
  3411  // The context must be non-nil and will be used for request cancellation. If
  3412  // the context is nil a panic will occur. In the future the SDK may create
  3413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3414  // for more information on using Contexts.
  3415  func (c *ECR) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3416  	req, out := c.TagResourceRequest(input)
  3417  	req.SetContext(ctx)
  3418  	req.ApplyOptions(opts...)
  3419  	return out, req.Send()
  3420  }
  3421  
  3422  const opUntagResource = "UntagResource"
  3423  
  3424  // UntagResourceRequest generates a "aws/request.Request" representing the
  3425  // client's request for the UntagResource operation. The "output" return
  3426  // value will be populated with the request's response once the request completes
  3427  // successfully.
  3428  //
  3429  // Use "Send" method on the returned Request to send the API call to the service.
  3430  // the "output" return value is not valid until after Send returns without error.
  3431  //
  3432  // See UntagResource for more information on using the UntagResource
  3433  // API call, and error handling.
  3434  //
  3435  // This method is useful when you want to inject custom logic or configuration
  3436  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3437  //
  3438  //
  3439  //    // Example sending a request using the UntagResourceRequest method.
  3440  //    req, resp := client.UntagResourceRequest(params)
  3441  //
  3442  //    err := req.Send()
  3443  //    if err == nil { // resp is now filled
  3444  //        fmt.Println(resp)
  3445  //    }
  3446  //
  3447  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UntagResource
  3448  func (c *ECR) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3449  	op := &request.Operation{
  3450  		Name:       opUntagResource,
  3451  		HTTPMethod: "POST",
  3452  		HTTPPath:   "/",
  3453  	}
  3454  
  3455  	if input == nil {
  3456  		input = &UntagResourceInput{}
  3457  	}
  3458  
  3459  	output = &UntagResourceOutput{}
  3460  	req = c.newRequest(op, input, output)
  3461  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3462  	return
  3463  }
  3464  
  3465  // UntagResource API operation for Amazon EC2 Container Registry.
  3466  //
  3467  // Deletes specified tags from a resource.
  3468  //
  3469  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3470  // with awserr.Error's Code and Message methods to get detailed information about
  3471  // the error.
  3472  //
  3473  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3474  // API operation UntagResource for usage and error information.
  3475  //
  3476  // Returned Error Types:
  3477  //   * InvalidParameterException
  3478  //   The specified parameter is invalid. Review the available parameters for the
  3479  //   API request.
  3480  //
  3481  //   * InvalidTagParameterException
  3482  //   An invalid parameter has been specified. Tag keys can have a maximum character
  3483  //   length of 128 characters, and tag values can have a maximum length of 256
  3484  //   characters.
  3485  //
  3486  //   * TooManyTagsException
  3487  //   The list of tags on the repository is over the limit. The maximum number
  3488  //   of tags that can be applied to a repository is 50.
  3489  //
  3490  //   * RepositoryNotFoundException
  3491  //   The specified repository could not be found. Check the spelling of the specified
  3492  //   repository and ensure that you are performing operations on the correct registry.
  3493  //
  3494  //   * ServerException
  3495  //   These errors are usually caused by a server-side issue.
  3496  //
  3497  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UntagResource
  3498  func (c *ECR) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3499  	req, out := c.UntagResourceRequest(input)
  3500  	return out, req.Send()
  3501  }
  3502  
  3503  // UntagResourceWithContext is the same as UntagResource with the addition of
  3504  // the ability to pass a context and additional request options.
  3505  //
  3506  // See UntagResource for details on how to use this API operation.
  3507  //
  3508  // The context must be non-nil and will be used for request cancellation. If
  3509  // the context is nil a panic will occur. In the future the SDK may create
  3510  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3511  // for more information on using Contexts.
  3512  func (c *ECR) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3513  	req, out := c.UntagResourceRequest(input)
  3514  	req.SetContext(ctx)
  3515  	req.ApplyOptions(opts...)
  3516  	return out, req.Send()
  3517  }
  3518  
  3519  const opUploadLayerPart = "UploadLayerPart"
  3520  
  3521  // UploadLayerPartRequest generates a "aws/request.Request" representing the
  3522  // client's request for the UploadLayerPart operation. The "output" return
  3523  // value will be populated with the request's response once the request completes
  3524  // successfully.
  3525  //
  3526  // Use "Send" method on the returned Request to send the API call to the service.
  3527  // the "output" return value is not valid until after Send returns without error.
  3528  //
  3529  // See UploadLayerPart for more information on using the UploadLayerPart
  3530  // API call, and error handling.
  3531  //
  3532  // This method is useful when you want to inject custom logic or configuration
  3533  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3534  //
  3535  //
  3536  //    // Example sending a request using the UploadLayerPartRequest method.
  3537  //    req, resp := client.UploadLayerPartRequest(params)
  3538  //
  3539  //    err := req.Send()
  3540  //    if err == nil { // resp is now filled
  3541  //        fmt.Println(resp)
  3542  //    }
  3543  //
  3544  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UploadLayerPart
  3545  func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request.Request, output *UploadLayerPartOutput) {
  3546  	op := &request.Operation{
  3547  		Name:       opUploadLayerPart,
  3548  		HTTPMethod: "POST",
  3549  		HTTPPath:   "/",
  3550  	}
  3551  
  3552  	if input == nil {
  3553  		input = &UploadLayerPartInput{}
  3554  	}
  3555  
  3556  	output = &UploadLayerPartOutput{}
  3557  	req = c.newRequest(op, input, output)
  3558  	return
  3559  }
  3560  
  3561  // UploadLayerPart API operation for Amazon EC2 Container Registry.
  3562  //
  3563  // Uploads an image layer part to Amazon ECR.
  3564  //
  3565  // When an image is pushed, each new image layer is uploaded in parts. The maximum
  3566  // size of each image layer part can be 20971520 bytes (or about 20MB). The
  3567  // UploadLayerPart API is called once per each new image layer part.
  3568  //
  3569  // This operation is used by the Amazon ECR proxy and is not generally used
  3570  // by customers for pulling and pushing images. In most cases, you should use
  3571  // the docker CLI to pull, tag, and push images.
  3572  //
  3573  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3574  // with awserr.Error's Code and Message methods to get detailed information about
  3575  // the error.
  3576  //
  3577  // See the AWS API reference guide for Amazon EC2 Container Registry's
  3578  // API operation UploadLayerPart for usage and error information.
  3579  //
  3580  // Returned Error Types:
  3581  //   * ServerException
  3582  //   These errors are usually caused by a server-side issue.
  3583  //
  3584  //   * InvalidParameterException
  3585  //   The specified parameter is invalid. Review the available parameters for the
  3586  //   API request.
  3587  //
  3588  //   * InvalidLayerPartException
  3589  //   The layer part size is not valid, or the first byte specified is not consecutive
  3590  //   to the last byte of a previous layer part upload.
  3591  //
  3592  //   * RepositoryNotFoundException
  3593  //   The specified repository could not be found. Check the spelling of the specified
  3594  //   repository and ensure that you are performing operations on the correct registry.
  3595  //
  3596  //   * UploadNotFoundException
  3597  //   The upload could not be found, or the specified upload ID is not valid for
  3598  //   this repository.
  3599  //
  3600  //   * LimitExceededException
  3601  //   The operation did not succeed because it would have exceeded a service limit
  3602  //   for your account. For more information, see Amazon ECR service quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  3603  //   in the Amazon Elastic Container Registry User Guide.
  3604  //
  3605  //   * KmsException
  3606  //   The operation failed due to a KMS exception.
  3607  //
  3608  // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UploadLayerPart
  3609  func (c *ECR) UploadLayerPart(input *UploadLayerPartInput) (*UploadLayerPartOutput, error) {
  3610  	req, out := c.UploadLayerPartRequest(input)
  3611  	return out, req.Send()
  3612  }
  3613  
  3614  // UploadLayerPartWithContext is the same as UploadLayerPart with the addition of
  3615  // the ability to pass a context and additional request options.
  3616  //
  3617  // See UploadLayerPart for details on how to use this API operation.
  3618  //
  3619  // The context must be non-nil and will be used for request cancellation. If
  3620  // the context is nil a panic will occur. In the future the SDK may create
  3621  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3622  // for more information on using Contexts.
  3623  func (c *ECR) UploadLayerPartWithContext(ctx aws.Context, input *UploadLayerPartInput, opts ...request.Option) (*UploadLayerPartOutput, error) {
  3624  	req, out := c.UploadLayerPartRequest(input)
  3625  	req.SetContext(ctx)
  3626  	req.ApplyOptions(opts...)
  3627  	return out, req.Send()
  3628  }
  3629  
  3630  // This data type is used in the ImageScanFinding data type.
  3631  type Attribute struct {
  3632  	_ struct{} `type:"structure"`
  3633  
  3634  	// The attribute key.
  3635  	//
  3636  	// Key is a required field
  3637  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  3638  
  3639  	// The value assigned to the attribute key.
  3640  	Value *string `locationName:"value" min:"1" type:"string"`
  3641  }
  3642  
  3643  // String returns the string representation.
  3644  //
  3645  // API parameter values that are decorated as "sensitive" in the API will not
  3646  // be included in the string output. The member name will be present, but the
  3647  // value will be replaced with "sensitive".
  3648  func (s Attribute) String() string {
  3649  	return awsutil.Prettify(s)
  3650  }
  3651  
  3652  // GoString returns the string representation.
  3653  //
  3654  // API parameter values that are decorated as "sensitive" in the API will not
  3655  // be included in the string output. The member name will be present, but the
  3656  // value will be replaced with "sensitive".
  3657  func (s Attribute) GoString() string {
  3658  	return s.String()
  3659  }
  3660  
  3661  // SetKey sets the Key field's value.
  3662  func (s *Attribute) SetKey(v string) *Attribute {
  3663  	s.Key = &v
  3664  	return s
  3665  }
  3666  
  3667  // SetValue sets the Value field's value.
  3668  func (s *Attribute) SetValue(v string) *Attribute {
  3669  	s.Value = &v
  3670  	return s
  3671  }
  3672  
  3673  // An object representing authorization data for an Amazon ECR registry.
  3674  type AuthorizationData struct {
  3675  	_ struct{} `type:"structure"`
  3676  
  3677  	// A base64-encoded string that contains authorization data for the specified
  3678  	// Amazon ECR registry. When the string is decoded, it is presented in the format
  3679  	// user:password for private registry authentication using docker login.
  3680  	AuthorizationToken *string `locationName:"authorizationToken" type:"string"`
  3681  
  3682  	// The Unix time in seconds and milliseconds when the authorization token expires.
  3683  	// Authorization tokens are valid for 12 hours.
  3684  	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
  3685  
  3686  	// The registry URL to use for this authorization token in a docker login command.
  3687  	// The Amazon ECR registry URL format is https://aws_account_id.dkr.ecr.region.amazonaws.com.
  3688  	// For example, https://012345678910.dkr.ecr.us-east-1.amazonaws.com..
  3689  	ProxyEndpoint *string `locationName:"proxyEndpoint" type:"string"`
  3690  }
  3691  
  3692  // String returns the string representation.
  3693  //
  3694  // API parameter values that are decorated as "sensitive" in the API will not
  3695  // be included in the string output. The member name will be present, but the
  3696  // value will be replaced with "sensitive".
  3697  func (s AuthorizationData) String() string {
  3698  	return awsutil.Prettify(s)
  3699  }
  3700  
  3701  // GoString returns the string representation.
  3702  //
  3703  // API parameter values that are decorated as "sensitive" in the API will not
  3704  // be included in the string output. The member name will be present, but the
  3705  // value will be replaced with "sensitive".
  3706  func (s AuthorizationData) GoString() string {
  3707  	return s.String()
  3708  }
  3709  
  3710  // SetAuthorizationToken sets the AuthorizationToken field's value.
  3711  func (s *AuthorizationData) SetAuthorizationToken(v string) *AuthorizationData {
  3712  	s.AuthorizationToken = &v
  3713  	return s
  3714  }
  3715  
  3716  // SetExpiresAt sets the ExpiresAt field's value.
  3717  func (s *AuthorizationData) SetExpiresAt(v time.Time) *AuthorizationData {
  3718  	s.ExpiresAt = &v
  3719  	return s
  3720  }
  3721  
  3722  // SetProxyEndpoint sets the ProxyEndpoint field's value.
  3723  func (s *AuthorizationData) SetProxyEndpoint(v string) *AuthorizationData {
  3724  	s.ProxyEndpoint = &v
  3725  	return s
  3726  }
  3727  
  3728  type BatchCheckLayerAvailabilityInput struct {
  3729  	_ struct{} `type:"structure"`
  3730  
  3731  	// The digests of the image layers to check.
  3732  	//
  3733  	// LayerDigests is a required field
  3734  	LayerDigests []*string `locationName:"layerDigests" min:"1" type:"list" required:"true"`
  3735  
  3736  	// The Amazon Web Services account ID associated with the registry that contains
  3737  	// the image layers to check. If you do not specify a registry, the default
  3738  	// registry is assumed.
  3739  	RegistryId *string `locationName:"registryId" type:"string"`
  3740  
  3741  	// The name of the repository that is associated with the image layers to check.
  3742  	//
  3743  	// RepositoryName is a required field
  3744  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3745  }
  3746  
  3747  // String returns the string representation.
  3748  //
  3749  // API parameter values that are decorated as "sensitive" in the API will not
  3750  // be included in the string output. The member name will be present, but the
  3751  // value will be replaced with "sensitive".
  3752  func (s BatchCheckLayerAvailabilityInput) String() string {
  3753  	return awsutil.Prettify(s)
  3754  }
  3755  
  3756  // GoString returns the string representation.
  3757  //
  3758  // API parameter values that are decorated as "sensitive" in the API will not
  3759  // be included in the string output. The member name will be present, but the
  3760  // value will be replaced with "sensitive".
  3761  func (s BatchCheckLayerAvailabilityInput) GoString() string {
  3762  	return s.String()
  3763  }
  3764  
  3765  // Validate inspects the fields of the type to determine if they are valid.
  3766  func (s *BatchCheckLayerAvailabilityInput) Validate() error {
  3767  	invalidParams := request.ErrInvalidParams{Context: "BatchCheckLayerAvailabilityInput"}
  3768  	if s.LayerDigests == nil {
  3769  		invalidParams.Add(request.NewErrParamRequired("LayerDigests"))
  3770  	}
  3771  	if s.LayerDigests != nil && len(s.LayerDigests) < 1 {
  3772  		invalidParams.Add(request.NewErrParamMinLen("LayerDigests", 1))
  3773  	}
  3774  	if s.RepositoryName == nil {
  3775  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3776  	}
  3777  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3778  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3779  	}
  3780  
  3781  	if invalidParams.Len() > 0 {
  3782  		return invalidParams
  3783  	}
  3784  	return nil
  3785  }
  3786  
  3787  // SetLayerDigests sets the LayerDigests field's value.
  3788  func (s *BatchCheckLayerAvailabilityInput) SetLayerDigests(v []*string) *BatchCheckLayerAvailabilityInput {
  3789  	s.LayerDigests = v
  3790  	return s
  3791  }
  3792  
  3793  // SetRegistryId sets the RegistryId field's value.
  3794  func (s *BatchCheckLayerAvailabilityInput) SetRegistryId(v string) *BatchCheckLayerAvailabilityInput {
  3795  	s.RegistryId = &v
  3796  	return s
  3797  }
  3798  
  3799  // SetRepositoryName sets the RepositoryName field's value.
  3800  func (s *BatchCheckLayerAvailabilityInput) SetRepositoryName(v string) *BatchCheckLayerAvailabilityInput {
  3801  	s.RepositoryName = &v
  3802  	return s
  3803  }
  3804  
  3805  type BatchCheckLayerAvailabilityOutput struct {
  3806  	_ struct{} `type:"structure"`
  3807  
  3808  	// Any failures associated with the call.
  3809  	Failures []*LayerFailure `locationName:"failures" type:"list"`
  3810  
  3811  	// A list of image layer objects corresponding to the image layer references
  3812  	// in the request.
  3813  	Layers []*Layer `locationName:"layers" type:"list"`
  3814  }
  3815  
  3816  // String returns the string representation.
  3817  //
  3818  // API parameter values that are decorated as "sensitive" in the API will not
  3819  // be included in the string output. The member name will be present, but the
  3820  // value will be replaced with "sensitive".
  3821  func (s BatchCheckLayerAvailabilityOutput) String() string {
  3822  	return awsutil.Prettify(s)
  3823  }
  3824  
  3825  // GoString returns the string representation.
  3826  //
  3827  // API parameter values that are decorated as "sensitive" in the API will not
  3828  // be included in the string output. The member name will be present, but the
  3829  // value will be replaced with "sensitive".
  3830  func (s BatchCheckLayerAvailabilityOutput) GoString() string {
  3831  	return s.String()
  3832  }
  3833  
  3834  // SetFailures sets the Failures field's value.
  3835  func (s *BatchCheckLayerAvailabilityOutput) SetFailures(v []*LayerFailure) *BatchCheckLayerAvailabilityOutput {
  3836  	s.Failures = v
  3837  	return s
  3838  }
  3839  
  3840  // SetLayers sets the Layers field's value.
  3841  func (s *BatchCheckLayerAvailabilityOutput) SetLayers(v []*Layer) *BatchCheckLayerAvailabilityOutput {
  3842  	s.Layers = v
  3843  	return s
  3844  }
  3845  
  3846  // Deletes specified images within a specified repository. Images are specified
  3847  // with either the imageTag or imageDigest.
  3848  type BatchDeleteImageInput struct {
  3849  	_ struct{} `type:"structure"`
  3850  
  3851  	// A list of image ID references that correspond to images to delete. The format
  3852  	// of the imageIds reference is imageTag=tag or imageDigest=digest.
  3853  	//
  3854  	// ImageIds is a required field
  3855  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list" required:"true"`
  3856  
  3857  	// The Amazon Web Services account ID associated with the registry that contains
  3858  	// the image to delete. If you do not specify a registry, the default registry
  3859  	// is assumed.
  3860  	RegistryId *string `locationName:"registryId" type:"string"`
  3861  
  3862  	// The repository that contains the image to delete.
  3863  	//
  3864  	// RepositoryName is a required field
  3865  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  3866  }
  3867  
  3868  // String returns the string representation.
  3869  //
  3870  // API parameter values that are decorated as "sensitive" in the API will not
  3871  // be included in the string output. The member name will be present, but the
  3872  // value will be replaced with "sensitive".
  3873  func (s BatchDeleteImageInput) String() string {
  3874  	return awsutil.Prettify(s)
  3875  }
  3876  
  3877  // GoString returns the string representation.
  3878  //
  3879  // API parameter values that are decorated as "sensitive" in the API will not
  3880  // be included in the string output. The member name will be present, but the
  3881  // value will be replaced with "sensitive".
  3882  func (s BatchDeleteImageInput) GoString() string {
  3883  	return s.String()
  3884  }
  3885  
  3886  // Validate inspects the fields of the type to determine if they are valid.
  3887  func (s *BatchDeleteImageInput) Validate() error {
  3888  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteImageInput"}
  3889  	if s.ImageIds == nil {
  3890  		invalidParams.Add(request.NewErrParamRequired("ImageIds"))
  3891  	}
  3892  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  3893  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  3894  	}
  3895  	if s.RepositoryName == nil {
  3896  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  3897  	}
  3898  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  3899  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  3900  	}
  3901  	if s.ImageIds != nil {
  3902  		for i, v := range s.ImageIds {
  3903  			if v == nil {
  3904  				continue
  3905  			}
  3906  			if err := v.Validate(); err != nil {
  3907  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageIds", i), err.(request.ErrInvalidParams))
  3908  			}
  3909  		}
  3910  	}
  3911  
  3912  	if invalidParams.Len() > 0 {
  3913  		return invalidParams
  3914  	}
  3915  	return nil
  3916  }
  3917  
  3918  // SetImageIds sets the ImageIds field's value.
  3919  func (s *BatchDeleteImageInput) SetImageIds(v []*ImageIdentifier) *BatchDeleteImageInput {
  3920  	s.ImageIds = v
  3921  	return s
  3922  }
  3923  
  3924  // SetRegistryId sets the RegistryId field's value.
  3925  func (s *BatchDeleteImageInput) SetRegistryId(v string) *BatchDeleteImageInput {
  3926  	s.RegistryId = &v
  3927  	return s
  3928  }
  3929  
  3930  // SetRepositoryName sets the RepositoryName field's value.
  3931  func (s *BatchDeleteImageInput) SetRepositoryName(v string) *BatchDeleteImageInput {
  3932  	s.RepositoryName = &v
  3933  	return s
  3934  }
  3935  
  3936  type BatchDeleteImageOutput struct {
  3937  	_ struct{} `type:"structure"`
  3938  
  3939  	// Any failures associated with the call.
  3940  	Failures []*ImageFailure `locationName:"failures" type:"list"`
  3941  
  3942  	// The image IDs of the deleted images.
  3943  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"`
  3944  }
  3945  
  3946  // String returns the string representation.
  3947  //
  3948  // API parameter values that are decorated as "sensitive" in the API will not
  3949  // be included in the string output. The member name will be present, but the
  3950  // value will be replaced with "sensitive".
  3951  func (s BatchDeleteImageOutput) String() string {
  3952  	return awsutil.Prettify(s)
  3953  }
  3954  
  3955  // GoString returns the string representation.
  3956  //
  3957  // API parameter values that are decorated as "sensitive" in the API will not
  3958  // be included in the string output. The member name will be present, but the
  3959  // value will be replaced with "sensitive".
  3960  func (s BatchDeleteImageOutput) GoString() string {
  3961  	return s.String()
  3962  }
  3963  
  3964  // SetFailures sets the Failures field's value.
  3965  func (s *BatchDeleteImageOutput) SetFailures(v []*ImageFailure) *BatchDeleteImageOutput {
  3966  	s.Failures = v
  3967  	return s
  3968  }
  3969  
  3970  // SetImageIds sets the ImageIds field's value.
  3971  func (s *BatchDeleteImageOutput) SetImageIds(v []*ImageIdentifier) *BatchDeleteImageOutput {
  3972  	s.ImageIds = v
  3973  	return s
  3974  }
  3975  
  3976  type BatchGetImageInput struct {
  3977  	_ struct{} `type:"structure"`
  3978  
  3979  	// The accepted media types for the request.
  3980  	//
  3981  	// Valid values: application/vnd.docker.distribution.manifest.v1+json | application/vnd.docker.distribution.manifest.v2+json
  3982  	// | application/vnd.oci.image.manifest.v1+json
  3983  	AcceptedMediaTypes []*string `locationName:"acceptedMediaTypes" min:"1" type:"list"`
  3984  
  3985  	// A list of image ID references that correspond to images to describe. The
  3986  	// format of the imageIds reference is imageTag=tag or imageDigest=digest.
  3987  	//
  3988  	// ImageIds is a required field
  3989  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list" required:"true"`
  3990  
  3991  	// The Amazon Web Services account ID associated with the registry that contains
  3992  	// the images to describe. If you do not specify a registry, the default registry
  3993  	// is assumed.
  3994  	RegistryId *string `locationName:"registryId" type:"string"`
  3995  
  3996  	// The repository that contains the images to describe.
  3997  	//
  3998  	// RepositoryName is a required field
  3999  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4000  }
  4001  
  4002  // String 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 BatchGetImageInput) String() string {
  4008  	return awsutil.Prettify(s)
  4009  }
  4010  
  4011  // GoString returns the string representation.
  4012  //
  4013  // API parameter values that are decorated as "sensitive" in the API will not
  4014  // be included in the string output. The member name will be present, but the
  4015  // value will be replaced with "sensitive".
  4016  func (s BatchGetImageInput) GoString() string {
  4017  	return s.String()
  4018  }
  4019  
  4020  // Validate inspects the fields of the type to determine if they are valid.
  4021  func (s *BatchGetImageInput) Validate() error {
  4022  	invalidParams := request.ErrInvalidParams{Context: "BatchGetImageInput"}
  4023  	if s.AcceptedMediaTypes != nil && len(s.AcceptedMediaTypes) < 1 {
  4024  		invalidParams.Add(request.NewErrParamMinLen("AcceptedMediaTypes", 1))
  4025  	}
  4026  	if s.ImageIds == nil {
  4027  		invalidParams.Add(request.NewErrParamRequired("ImageIds"))
  4028  	}
  4029  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  4030  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  4031  	}
  4032  	if s.RepositoryName == nil {
  4033  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4034  	}
  4035  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4036  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4037  	}
  4038  	if s.ImageIds != nil {
  4039  		for i, v := range s.ImageIds {
  4040  			if v == nil {
  4041  				continue
  4042  			}
  4043  			if err := v.Validate(); err != nil {
  4044  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageIds", i), err.(request.ErrInvalidParams))
  4045  			}
  4046  		}
  4047  	}
  4048  
  4049  	if invalidParams.Len() > 0 {
  4050  		return invalidParams
  4051  	}
  4052  	return nil
  4053  }
  4054  
  4055  // SetAcceptedMediaTypes sets the AcceptedMediaTypes field's value.
  4056  func (s *BatchGetImageInput) SetAcceptedMediaTypes(v []*string) *BatchGetImageInput {
  4057  	s.AcceptedMediaTypes = v
  4058  	return s
  4059  }
  4060  
  4061  // SetImageIds sets the ImageIds field's value.
  4062  func (s *BatchGetImageInput) SetImageIds(v []*ImageIdentifier) *BatchGetImageInput {
  4063  	s.ImageIds = v
  4064  	return s
  4065  }
  4066  
  4067  // SetRegistryId sets the RegistryId field's value.
  4068  func (s *BatchGetImageInput) SetRegistryId(v string) *BatchGetImageInput {
  4069  	s.RegistryId = &v
  4070  	return s
  4071  }
  4072  
  4073  // SetRepositoryName sets the RepositoryName field's value.
  4074  func (s *BatchGetImageInput) SetRepositoryName(v string) *BatchGetImageInput {
  4075  	s.RepositoryName = &v
  4076  	return s
  4077  }
  4078  
  4079  type BatchGetImageOutput struct {
  4080  	_ struct{} `type:"structure"`
  4081  
  4082  	// Any failures associated with the call.
  4083  	Failures []*ImageFailure `locationName:"failures" type:"list"`
  4084  
  4085  	// A list of image objects corresponding to the image references in the request.
  4086  	Images []*Image `locationName:"images" type:"list"`
  4087  }
  4088  
  4089  // String returns the string representation.
  4090  //
  4091  // API parameter values that are decorated as "sensitive" in the API will not
  4092  // be included in the string output. The member name will be present, but the
  4093  // value will be replaced with "sensitive".
  4094  func (s BatchGetImageOutput) String() string {
  4095  	return awsutil.Prettify(s)
  4096  }
  4097  
  4098  // GoString returns the string representation.
  4099  //
  4100  // API parameter values that are decorated as "sensitive" in the API will not
  4101  // be included in the string output. The member name will be present, but the
  4102  // value will be replaced with "sensitive".
  4103  func (s BatchGetImageOutput) GoString() string {
  4104  	return s.String()
  4105  }
  4106  
  4107  // SetFailures sets the Failures field's value.
  4108  func (s *BatchGetImageOutput) SetFailures(v []*ImageFailure) *BatchGetImageOutput {
  4109  	s.Failures = v
  4110  	return s
  4111  }
  4112  
  4113  // SetImages sets the Images field's value.
  4114  func (s *BatchGetImageOutput) SetImages(v []*Image) *BatchGetImageOutput {
  4115  	s.Images = v
  4116  	return s
  4117  }
  4118  
  4119  type CompleteLayerUploadInput struct {
  4120  	_ struct{} `type:"structure"`
  4121  
  4122  	// The sha256 digest of the image layer.
  4123  	//
  4124  	// LayerDigests is a required field
  4125  	LayerDigests []*string `locationName:"layerDigests" min:"1" type:"list" required:"true"`
  4126  
  4127  	// The Amazon Web Services account ID associated with the registry to which
  4128  	// to upload layers. If you do not specify a registry, the default registry
  4129  	// is assumed.
  4130  	RegistryId *string `locationName:"registryId" type:"string"`
  4131  
  4132  	// The name of the repository to associate with the image layer.
  4133  	//
  4134  	// RepositoryName is a required field
  4135  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4136  
  4137  	// The upload ID from a previous InitiateLayerUpload operation to associate
  4138  	// with the image layer.
  4139  	//
  4140  	// UploadId is a required field
  4141  	UploadId *string `locationName:"uploadId" type:"string" required:"true"`
  4142  }
  4143  
  4144  // String returns the string representation.
  4145  //
  4146  // API parameter values that are decorated as "sensitive" in the API will not
  4147  // be included in the string output. The member name will be present, but the
  4148  // value will be replaced with "sensitive".
  4149  func (s CompleteLayerUploadInput) String() string {
  4150  	return awsutil.Prettify(s)
  4151  }
  4152  
  4153  // GoString returns the string representation.
  4154  //
  4155  // API parameter values that are decorated as "sensitive" in the API will not
  4156  // be included in the string output. The member name will be present, but the
  4157  // value will be replaced with "sensitive".
  4158  func (s CompleteLayerUploadInput) GoString() string {
  4159  	return s.String()
  4160  }
  4161  
  4162  // Validate inspects the fields of the type to determine if they are valid.
  4163  func (s *CompleteLayerUploadInput) Validate() error {
  4164  	invalidParams := request.ErrInvalidParams{Context: "CompleteLayerUploadInput"}
  4165  	if s.LayerDigests == nil {
  4166  		invalidParams.Add(request.NewErrParamRequired("LayerDigests"))
  4167  	}
  4168  	if s.LayerDigests != nil && len(s.LayerDigests) < 1 {
  4169  		invalidParams.Add(request.NewErrParamMinLen("LayerDigests", 1))
  4170  	}
  4171  	if s.RepositoryName == nil {
  4172  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4173  	}
  4174  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4175  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4176  	}
  4177  	if s.UploadId == nil {
  4178  		invalidParams.Add(request.NewErrParamRequired("UploadId"))
  4179  	}
  4180  
  4181  	if invalidParams.Len() > 0 {
  4182  		return invalidParams
  4183  	}
  4184  	return nil
  4185  }
  4186  
  4187  // SetLayerDigests sets the LayerDigests field's value.
  4188  func (s *CompleteLayerUploadInput) SetLayerDigests(v []*string) *CompleteLayerUploadInput {
  4189  	s.LayerDigests = v
  4190  	return s
  4191  }
  4192  
  4193  // SetRegistryId sets the RegistryId field's value.
  4194  func (s *CompleteLayerUploadInput) SetRegistryId(v string) *CompleteLayerUploadInput {
  4195  	s.RegistryId = &v
  4196  	return s
  4197  }
  4198  
  4199  // SetRepositoryName sets the RepositoryName field's value.
  4200  func (s *CompleteLayerUploadInput) SetRepositoryName(v string) *CompleteLayerUploadInput {
  4201  	s.RepositoryName = &v
  4202  	return s
  4203  }
  4204  
  4205  // SetUploadId sets the UploadId field's value.
  4206  func (s *CompleteLayerUploadInput) SetUploadId(v string) *CompleteLayerUploadInput {
  4207  	s.UploadId = &v
  4208  	return s
  4209  }
  4210  
  4211  type CompleteLayerUploadOutput struct {
  4212  	_ struct{} `type:"structure"`
  4213  
  4214  	// The sha256 digest of the image layer.
  4215  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  4216  
  4217  	// The registry ID associated with the request.
  4218  	RegistryId *string `locationName:"registryId" type:"string"`
  4219  
  4220  	// The repository name associated with the request.
  4221  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4222  
  4223  	// The upload ID associated with the layer.
  4224  	UploadId *string `locationName:"uploadId" type:"string"`
  4225  }
  4226  
  4227  // String returns the string representation.
  4228  //
  4229  // API parameter values that are decorated as "sensitive" in the API will not
  4230  // be included in the string output. The member name will be present, but the
  4231  // value will be replaced with "sensitive".
  4232  func (s CompleteLayerUploadOutput) String() string {
  4233  	return awsutil.Prettify(s)
  4234  }
  4235  
  4236  // GoString returns the string representation.
  4237  //
  4238  // API parameter values that are decorated as "sensitive" in the API will not
  4239  // be included in the string output. The member name will be present, but the
  4240  // value will be replaced with "sensitive".
  4241  func (s CompleteLayerUploadOutput) GoString() string {
  4242  	return s.String()
  4243  }
  4244  
  4245  // SetLayerDigest sets the LayerDigest field's value.
  4246  func (s *CompleteLayerUploadOutput) SetLayerDigest(v string) *CompleteLayerUploadOutput {
  4247  	s.LayerDigest = &v
  4248  	return s
  4249  }
  4250  
  4251  // SetRegistryId sets the RegistryId field's value.
  4252  func (s *CompleteLayerUploadOutput) SetRegistryId(v string) *CompleteLayerUploadOutput {
  4253  	s.RegistryId = &v
  4254  	return s
  4255  }
  4256  
  4257  // SetRepositoryName sets the RepositoryName field's value.
  4258  func (s *CompleteLayerUploadOutput) SetRepositoryName(v string) *CompleteLayerUploadOutput {
  4259  	s.RepositoryName = &v
  4260  	return s
  4261  }
  4262  
  4263  // SetUploadId sets the UploadId field's value.
  4264  func (s *CompleteLayerUploadOutput) SetUploadId(v string) *CompleteLayerUploadOutput {
  4265  	s.UploadId = &v
  4266  	return s
  4267  }
  4268  
  4269  type CreateRepositoryInput struct {
  4270  	_ struct{} `type:"structure"`
  4271  
  4272  	// The encryption configuration for the repository. This determines how the
  4273  	// contents of your repository are encrypted at rest.
  4274  	EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"`
  4275  
  4276  	// The image scanning configuration for the repository. This determines whether
  4277  	// images are scanned for known vulnerabilities after being pushed to the repository.
  4278  	ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"`
  4279  
  4280  	// The tag mutability setting for the repository. If this parameter is omitted,
  4281  	// the default setting of MUTABLE will be used which will allow image tags to
  4282  	// be overwritten. If IMMUTABLE is specified, all image tags within the repository
  4283  	// will be immutable which will prevent them from being overwritten.
  4284  	ImageTagMutability *string `locationName:"imageTagMutability" type:"string" enum:"ImageTagMutability"`
  4285  
  4286  	// The AWS account ID associated with the registry to create the repository.
  4287  	// If you do not specify a registry, the default registry is assumed.
  4288  	RegistryId *string `locationName:"registryId" type:"string"`
  4289  
  4290  	// The name to use for the repository. The repository name may be specified
  4291  	// on its own (such as nginx-web-app) or it can be prepended with a namespace
  4292  	// to group the repository into a category (such as project-a/nginx-web-app).
  4293  	//
  4294  	// RepositoryName is a required field
  4295  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4296  
  4297  	// The metadata that you apply to the repository to help you categorize and
  4298  	// organize them. Each tag consists of a key and an optional value, both of
  4299  	// which you define. Tag keys can have a maximum character length of 128 characters,
  4300  	// and tag values can have a maximum length of 256 characters.
  4301  	Tags []*Tag `locationName:"tags" type:"list"`
  4302  }
  4303  
  4304  // String returns the string representation.
  4305  //
  4306  // API parameter values that are decorated as "sensitive" in the API will not
  4307  // be included in the string output. The member name will be present, but the
  4308  // value will be replaced with "sensitive".
  4309  func (s CreateRepositoryInput) String() string {
  4310  	return awsutil.Prettify(s)
  4311  }
  4312  
  4313  // GoString returns the string representation.
  4314  //
  4315  // API parameter values that are decorated as "sensitive" in the API will not
  4316  // be included in the string output. The member name will be present, but the
  4317  // value will be replaced with "sensitive".
  4318  func (s CreateRepositoryInput) GoString() string {
  4319  	return s.String()
  4320  }
  4321  
  4322  // Validate inspects the fields of the type to determine if they are valid.
  4323  func (s *CreateRepositoryInput) Validate() error {
  4324  	invalidParams := request.ErrInvalidParams{Context: "CreateRepositoryInput"}
  4325  	if s.RepositoryName == nil {
  4326  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4327  	}
  4328  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4329  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4330  	}
  4331  	if s.EncryptionConfiguration != nil {
  4332  		if err := s.EncryptionConfiguration.Validate(); err != nil {
  4333  			invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams))
  4334  		}
  4335  	}
  4336  
  4337  	if invalidParams.Len() > 0 {
  4338  		return invalidParams
  4339  	}
  4340  	return nil
  4341  }
  4342  
  4343  // SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
  4344  func (s *CreateRepositoryInput) SetEncryptionConfiguration(v *EncryptionConfiguration) *CreateRepositoryInput {
  4345  	s.EncryptionConfiguration = v
  4346  	return s
  4347  }
  4348  
  4349  // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value.
  4350  func (s *CreateRepositoryInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateRepositoryInput {
  4351  	s.ImageScanningConfiguration = v
  4352  	return s
  4353  }
  4354  
  4355  // SetImageTagMutability sets the ImageTagMutability field's value.
  4356  func (s *CreateRepositoryInput) SetImageTagMutability(v string) *CreateRepositoryInput {
  4357  	s.ImageTagMutability = &v
  4358  	return s
  4359  }
  4360  
  4361  // SetRegistryId sets the RegistryId field's value.
  4362  func (s *CreateRepositoryInput) SetRegistryId(v string) *CreateRepositoryInput {
  4363  	s.RegistryId = &v
  4364  	return s
  4365  }
  4366  
  4367  // SetRepositoryName sets the RepositoryName field's value.
  4368  func (s *CreateRepositoryInput) SetRepositoryName(v string) *CreateRepositoryInput {
  4369  	s.RepositoryName = &v
  4370  	return s
  4371  }
  4372  
  4373  // SetTags sets the Tags field's value.
  4374  func (s *CreateRepositoryInput) SetTags(v []*Tag) *CreateRepositoryInput {
  4375  	s.Tags = v
  4376  	return s
  4377  }
  4378  
  4379  type CreateRepositoryOutput struct {
  4380  	_ struct{} `type:"structure"`
  4381  
  4382  	// The repository that was created.
  4383  	Repository *Repository `locationName:"repository" type:"structure"`
  4384  }
  4385  
  4386  // String returns the string representation.
  4387  //
  4388  // API parameter values that are decorated as "sensitive" in the API will not
  4389  // be included in the string output. The member name will be present, but the
  4390  // value will be replaced with "sensitive".
  4391  func (s CreateRepositoryOutput) String() string {
  4392  	return awsutil.Prettify(s)
  4393  }
  4394  
  4395  // GoString returns the string representation.
  4396  //
  4397  // API parameter values that are decorated as "sensitive" in the API will not
  4398  // be included in the string output. The member name will be present, but the
  4399  // value will be replaced with "sensitive".
  4400  func (s CreateRepositoryOutput) GoString() string {
  4401  	return s.String()
  4402  }
  4403  
  4404  // SetRepository sets the Repository field's value.
  4405  func (s *CreateRepositoryOutput) SetRepository(v *Repository) *CreateRepositoryOutput {
  4406  	s.Repository = v
  4407  	return s
  4408  }
  4409  
  4410  type DeleteLifecyclePolicyInput struct {
  4411  	_ struct{} `type:"structure"`
  4412  
  4413  	// The Amazon Web Services account ID associated with the registry that contains
  4414  	// the repository. If you do not specify a registry, the default registry is
  4415  	// assumed.
  4416  	RegistryId *string `locationName:"registryId" type:"string"`
  4417  
  4418  	// The name of the repository.
  4419  	//
  4420  	// RepositoryName is a required field
  4421  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4422  }
  4423  
  4424  // String returns the string representation.
  4425  //
  4426  // API parameter values that are decorated as "sensitive" in the API will not
  4427  // be included in the string output. The member name will be present, but the
  4428  // value will be replaced with "sensitive".
  4429  func (s DeleteLifecyclePolicyInput) String() string {
  4430  	return awsutil.Prettify(s)
  4431  }
  4432  
  4433  // GoString returns the string representation.
  4434  //
  4435  // API parameter values that are decorated as "sensitive" in the API will not
  4436  // be included in the string output. The member name will be present, but the
  4437  // value will be replaced with "sensitive".
  4438  func (s DeleteLifecyclePolicyInput) GoString() string {
  4439  	return s.String()
  4440  }
  4441  
  4442  // Validate inspects the fields of the type to determine if they are valid.
  4443  func (s *DeleteLifecyclePolicyInput) Validate() error {
  4444  	invalidParams := request.ErrInvalidParams{Context: "DeleteLifecyclePolicyInput"}
  4445  	if s.RepositoryName == nil {
  4446  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4447  	}
  4448  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4449  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4450  	}
  4451  
  4452  	if invalidParams.Len() > 0 {
  4453  		return invalidParams
  4454  	}
  4455  	return nil
  4456  }
  4457  
  4458  // SetRegistryId sets the RegistryId field's value.
  4459  func (s *DeleteLifecyclePolicyInput) SetRegistryId(v string) *DeleteLifecyclePolicyInput {
  4460  	s.RegistryId = &v
  4461  	return s
  4462  }
  4463  
  4464  // SetRepositoryName sets the RepositoryName field's value.
  4465  func (s *DeleteLifecyclePolicyInput) SetRepositoryName(v string) *DeleteLifecyclePolicyInput {
  4466  	s.RepositoryName = &v
  4467  	return s
  4468  }
  4469  
  4470  type DeleteLifecyclePolicyOutput struct {
  4471  	_ struct{} `type:"structure"`
  4472  
  4473  	// The time stamp of the last time that the lifecycle policy was run.
  4474  	LastEvaluatedAt *time.Time `locationName:"lastEvaluatedAt" type:"timestamp"`
  4475  
  4476  	// The JSON lifecycle policy text.
  4477  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string"`
  4478  
  4479  	// The registry ID associated with the request.
  4480  	RegistryId *string `locationName:"registryId" type:"string"`
  4481  
  4482  	// The repository name associated with the request.
  4483  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4484  }
  4485  
  4486  // String returns the string representation.
  4487  //
  4488  // API parameter values that are decorated as "sensitive" in the API will not
  4489  // be included in the string output. The member name will be present, but the
  4490  // value will be replaced with "sensitive".
  4491  func (s DeleteLifecyclePolicyOutput) String() string {
  4492  	return awsutil.Prettify(s)
  4493  }
  4494  
  4495  // GoString returns the string representation.
  4496  //
  4497  // API parameter values that are decorated as "sensitive" in the API will not
  4498  // be included in the string output. The member name will be present, but the
  4499  // value will be replaced with "sensitive".
  4500  func (s DeleteLifecyclePolicyOutput) GoString() string {
  4501  	return s.String()
  4502  }
  4503  
  4504  // SetLastEvaluatedAt sets the LastEvaluatedAt field's value.
  4505  func (s *DeleteLifecyclePolicyOutput) SetLastEvaluatedAt(v time.Time) *DeleteLifecyclePolicyOutput {
  4506  	s.LastEvaluatedAt = &v
  4507  	return s
  4508  }
  4509  
  4510  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
  4511  func (s *DeleteLifecyclePolicyOutput) SetLifecyclePolicyText(v string) *DeleteLifecyclePolicyOutput {
  4512  	s.LifecyclePolicyText = &v
  4513  	return s
  4514  }
  4515  
  4516  // SetRegistryId sets the RegistryId field's value.
  4517  func (s *DeleteLifecyclePolicyOutput) SetRegistryId(v string) *DeleteLifecyclePolicyOutput {
  4518  	s.RegistryId = &v
  4519  	return s
  4520  }
  4521  
  4522  // SetRepositoryName sets the RepositoryName field's value.
  4523  func (s *DeleteLifecyclePolicyOutput) SetRepositoryName(v string) *DeleteLifecyclePolicyOutput {
  4524  	s.RepositoryName = &v
  4525  	return s
  4526  }
  4527  
  4528  type DeleteRegistryPolicyInput struct {
  4529  	_ struct{} `type:"structure"`
  4530  }
  4531  
  4532  // String returns the string representation.
  4533  //
  4534  // API parameter values that are decorated as "sensitive" in the API will not
  4535  // be included in the string output. The member name will be present, but the
  4536  // value will be replaced with "sensitive".
  4537  func (s DeleteRegistryPolicyInput) String() string {
  4538  	return awsutil.Prettify(s)
  4539  }
  4540  
  4541  // GoString returns the string representation.
  4542  //
  4543  // API parameter values that are decorated as "sensitive" in the API will not
  4544  // be included in the string output. The member name will be present, but the
  4545  // value will be replaced with "sensitive".
  4546  func (s DeleteRegistryPolicyInput) GoString() string {
  4547  	return s.String()
  4548  }
  4549  
  4550  type DeleteRegistryPolicyOutput struct {
  4551  	_ struct{} `type:"structure"`
  4552  
  4553  	// The contents of the registry permissions policy that was deleted.
  4554  	PolicyText *string `locationName:"policyText" type:"string"`
  4555  
  4556  	// The registry ID associated with the request.
  4557  	RegistryId *string `locationName:"registryId" type:"string"`
  4558  }
  4559  
  4560  // String returns the string representation.
  4561  //
  4562  // API parameter values that are decorated as "sensitive" in the API will not
  4563  // be included in the string output. The member name will be present, but the
  4564  // value will be replaced with "sensitive".
  4565  func (s DeleteRegistryPolicyOutput) String() string {
  4566  	return awsutil.Prettify(s)
  4567  }
  4568  
  4569  // GoString returns the string representation.
  4570  //
  4571  // API parameter values that are decorated as "sensitive" in the API will not
  4572  // be included in the string output. The member name will be present, but the
  4573  // value will be replaced with "sensitive".
  4574  func (s DeleteRegistryPolicyOutput) GoString() string {
  4575  	return s.String()
  4576  }
  4577  
  4578  // SetPolicyText sets the PolicyText field's value.
  4579  func (s *DeleteRegistryPolicyOutput) SetPolicyText(v string) *DeleteRegistryPolicyOutput {
  4580  	s.PolicyText = &v
  4581  	return s
  4582  }
  4583  
  4584  // SetRegistryId sets the RegistryId field's value.
  4585  func (s *DeleteRegistryPolicyOutput) SetRegistryId(v string) *DeleteRegistryPolicyOutput {
  4586  	s.RegistryId = &v
  4587  	return s
  4588  }
  4589  
  4590  type DeleteRepositoryInput struct {
  4591  	_ struct{} `type:"structure"`
  4592  
  4593  	// If a repository contains images, forces the deletion.
  4594  	Force *bool `locationName:"force" type:"boolean"`
  4595  
  4596  	// The Amazon Web Services account ID associated with the registry that contains
  4597  	// the repository to delete. If you do not specify a registry, the default registry
  4598  	// is assumed.
  4599  	RegistryId *string `locationName:"registryId" type:"string"`
  4600  
  4601  	// The name of the repository to delete.
  4602  	//
  4603  	// RepositoryName is a required field
  4604  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  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 DeleteRepositoryInput) 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 DeleteRepositoryInput) GoString() string {
  4622  	return s.String()
  4623  }
  4624  
  4625  // Validate inspects the fields of the type to determine if they are valid.
  4626  func (s *DeleteRepositoryInput) Validate() error {
  4627  	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryInput"}
  4628  	if s.RepositoryName == nil {
  4629  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4630  	}
  4631  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4632  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4633  	}
  4634  
  4635  	if invalidParams.Len() > 0 {
  4636  		return invalidParams
  4637  	}
  4638  	return nil
  4639  }
  4640  
  4641  // SetForce sets the Force field's value.
  4642  func (s *DeleteRepositoryInput) SetForce(v bool) *DeleteRepositoryInput {
  4643  	s.Force = &v
  4644  	return s
  4645  }
  4646  
  4647  // SetRegistryId sets the RegistryId field's value.
  4648  func (s *DeleteRepositoryInput) SetRegistryId(v string) *DeleteRepositoryInput {
  4649  	s.RegistryId = &v
  4650  	return s
  4651  }
  4652  
  4653  // SetRepositoryName sets the RepositoryName field's value.
  4654  func (s *DeleteRepositoryInput) SetRepositoryName(v string) *DeleteRepositoryInput {
  4655  	s.RepositoryName = &v
  4656  	return s
  4657  }
  4658  
  4659  type DeleteRepositoryOutput struct {
  4660  	_ struct{} `type:"structure"`
  4661  
  4662  	// The repository that was deleted.
  4663  	Repository *Repository `locationName:"repository" type:"structure"`
  4664  }
  4665  
  4666  // String returns the string representation.
  4667  //
  4668  // API parameter values that are decorated as "sensitive" in the API will not
  4669  // be included in the string output. The member name will be present, but the
  4670  // value will be replaced with "sensitive".
  4671  func (s DeleteRepositoryOutput) String() string {
  4672  	return awsutil.Prettify(s)
  4673  }
  4674  
  4675  // GoString returns the string representation.
  4676  //
  4677  // API parameter values that are decorated as "sensitive" in the API will not
  4678  // be included in the string output. The member name will be present, but the
  4679  // value will be replaced with "sensitive".
  4680  func (s DeleteRepositoryOutput) GoString() string {
  4681  	return s.String()
  4682  }
  4683  
  4684  // SetRepository sets the Repository field's value.
  4685  func (s *DeleteRepositoryOutput) SetRepository(v *Repository) *DeleteRepositoryOutput {
  4686  	s.Repository = v
  4687  	return s
  4688  }
  4689  
  4690  type DeleteRepositoryPolicyInput struct {
  4691  	_ struct{} `type:"structure"`
  4692  
  4693  	// The Amazon Web Services account ID associated with the registry that contains
  4694  	// the repository policy to delete. If you do not specify a registry, the default
  4695  	// registry is assumed.
  4696  	RegistryId *string `locationName:"registryId" type:"string"`
  4697  
  4698  	// The name of the repository that is associated with the repository policy
  4699  	// to delete.
  4700  	//
  4701  	// RepositoryName is a required field
  4702  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4703  }
  4704  
  4705  // String returns the string representation.
  4706  //
  4707  // API parameter values that are decorated as "sensitive" in the API will not
  4708  // be included in the string output. The member name will be present, but the
  4709  // value will be replaced with "sensitive".
  4710  func (s DeleteRepositoryPolicyInput) String() string {
  4711  	return awsutil.Prettify(s)
  4712  }
  4713  
  4714  // GoString returns the string representation.
  4715  //
  4716  // API parameter values that are decorated as "sensitive" in the API will not
  4717  // be included in the string output. The member name will be present, but the
  4718  // value will be replaced with "sensitive".
  4719  func (s DeleteRepositoryPolicyInput) GoString() string {
  4720  	return s.String()
  4721  }
  4722  
  4723  // Validate inspects the fields of the type to determine if they are valid.
  4724  func (s *DeleteRepositoryPolicyInput) Validate() error {
  4725  	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryPolicyInput"}
  4726  	if s.RepositoryName == nil {
  4727  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4728  	}
  4729  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4730  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4731  	}
  4732  
  4733  	if invalidParams.Len() > 0 {
  4734  		return invalidParams
  4735  	}
  4736  	return nil
  4737  }
  4738  
  4739  // SetRegistryId sets the RegistryId field's value.
  4740  func (s *DeleteRepositoryPolicyInput) SetRegistryId(v string) *DeleteRepositoryPolicyInput {
  4741  	s.RegistryId = &v
  4742  	return s
  4743  }
  4744  
  4745  // SetRepositoryName sets the RepositoryName field's value.
  4746  func (s *DeleteRepositoryPolicyInput) SetRepositoryName(v string) *DeleteRepositoryPolicyInput {
  4747  	s.RepositoryName = &v
  4748  	return s
  4749  }
  4750  
  4751  type DeleteRepositoryPolicyOutput struct {
  4752  	_ struct{} `type:"structure"`
  4753  
  4754  	// The JSON repository policy that was deleted from the repository.
  4755  	PolicyText *string `locationName:"policyText" type:"string"`
  4756  
  4757  	// The registry ID associated with the request.
  4758  	RegistryId *string `locationName:"registryId" type:"string"`
  4759  
  4760  	// The repository name associated with the request.
  4761  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4762  }
  4763  
  4764  // String returns the string representation.
  4765  //
  4766  // API parameter values that are decorated as "sensitive" in the API will not
  4767  // be included in the string output. The member name will be present, but the
  4768  // value will be replaced with "sensitive".
  4769  func (s DeleteRepositoryPolicyOutput) String() string {
  4770  	return awsutil.Prettify(s)
  4771  }
  4772  
  4773  // GoString returns the string representation.
  4774  //
  4775  // API parameter values that are decorated as "sensitive" in the API will not
  4776  // be included in the string output. The member name will be present, but the
  4777  // value will be replaced with "sensitive".
  4778  func (s DeleteRepositoryPolicyOutput) GoString() string {
  4779  	return s.String()
  4780  }
  4781  
  4782  // SetPolicyText sets the PolicyText field's value.
  4783  func (s *DeleteRepositoryPolicyOutput) SetPolicyText(v string) *DeleteRepositoryPolicyOutput {
  4784  	s.PolicyText = &v
  4785  	return s
  4786  }
  4787  
  4788  // SetRegistryId sets the RegistryId field's value.
  4789  func (s *DeleteRepositoryPolicyOutput) SetRegistryId(v string) *DeleteRepositoryPolicyOutput {
  4790  	s.RegistryId = &v
  4791  	return s
  4792  }
  4793  
  4794  // SetRepositoryName sets the RepositoryName field's value.
  4795  func (s *DeleteRepositoryPolicyOutput) SetRepositoryName(v string) *DeleteRepositoryPolicyOutput {
  4796  	s.RepositoryName = &v
  4797  	return s
  4798  }
  4799  
  4800  type DescribeImageReplicationStatusInput struct {
  4801  	_ struct{} `type:"structure"`
  4802  
  4803  	// An object with identifying information for an image in an Amazon ECR repository.
  4804  	//
  4805  	// ImageId is a required field
  4806  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure" required:"true"`
  4807  
  4808  	// The Amazon Web Services account ID associated with the registry. If you do
  4809  	// not specify a registry, the default registry is assumed.
  4810  	RegistryId *string `locationName:"registryId" type:"string"`
  4811  
  4812  	// The name of the repository that the image is in.
  4813  	//
  4814  	// RepositoryName is a required field
  4815  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4816  }
  4817  
  4818  // String returns the string representation.
  4819  //
  4820  // API parameter values that are decorated as "sensitive" in the API will not
  4821  // be included in the string output. The member name will be present, but the
  4822  // value will be replaced with "sensitive".
  4823  func (s DescribeImageReplicationStatusInput) String() string {
  4824  	return awsutil.Prettify(s)
  4825  }
  4826  
  4827  // GoString 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 DescribeImageReplicationStatusInput) GoString() string {
  4833  	return s.String()
  4834  }
  4835  
  4836  // Validate inspects the fields of the type to determine if they are valid.
  4837  func (s *DescribeImageReplicationStatusInput) Validate() error {
  4838  	invalidParams := request.ErrInvalidParams{Context: "DescribeImageReplicationStatusInput"}
  4839  	if s.ImageId == nil {
  4840  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
  4841  	}
  4842  	if s.RepositoryName == nil {
  4843  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4844  	}
  4845  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4846  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4847  	}
  4848  	if s.ImageId != nil {
  4849  		if err := s.ImageId.Validate(); err != nil {
  4850  			invalidParams.AddNested("ImageId", err.(request.ErrInvalidParams))
  4851  		}
  4852  	}
  4853  
  4854  	if invalidParams.Len() > 0 {
  4855  		return invalidParams
  4856  	}
  4857  	return nil
  4858  }
  4859  
  4860  // SetImageId sets the ImageId field's value.
  4861  func (s *DescribeImageReplicationStatusInput) SetImageId(v *ImageIdentifier) *DescribeImageReplicationStatusInput {
  4862  	s.ImageId = v
  4863  	return s
  4864  }
  4865  
  4866  // SetRegistryId sets the RegistryId field's value.
  4867  func (s *DescribeImageReplicationStatusInput) SetRegistryId(v string) *DescribeImageReplicationStatusInput {
  4868  	s.RegistryId = &v
  4869  	return s
  4870  }
  4871  
  4872  // SetRepositoryName sets the RepositoryName field's value.
  4873  func (s *DescribeImageReplicationStatusInput) SetRepositoryName(v string) *DescribeImageReplicationStatusInput {
  4874  	s.RepositoryName = &v
  4875  	return s
  4876  }
  4877  
  4878  type DescribeImageReplicationStatusOutput struct {
  4879  	_ struct{} `type:"structure"`
  4880  
  4881  	// An object with identifying information for an image in an Amazon ECR repository.
  4882  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
  4883  
  4884  	// The replication status details for the images in the specified repository.
  4885  	ReplicationStatuses []*ImageReplicationStatus `locationName:"replicationStatuses" type:"list"`
  4886  
  4887  	// The repository name associated with the request.
  4888  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  4889  }
  4890  
  4891  // String returns the string representation.
  4892  //
  4893  // API parameter values that are decorated as "sensitive" in the API will not
  4894  // be included in the string output. The member name will be present, but the
  4895  // value will be replaced with "sensitive".
  4896  func (s DescribeImageReplicationStatusOutput) String() string {
  4897  	return awsutil.Prettify(s)
  4898  }
  4899  
  4900  // GoString returns the string representation.
  4901  //
  4902  // API parameter values that are decorated as "sensitive" in the API will not
  4903  // be included in the string output. The member name will be present, but the
  4904  // value will be replaced with "sensitive".
  4905  func (s DescribeImageReplicationStatusOutput) GoString() string {
  4906  	return s.String()
  4907  }
  4908  
  4909  // SetImageId sets the ImageId field's value.
  4910  func (s *DescribeImageReplicationStatusOutput) SetImageId(v *ImageIdentifier) *DescribeImageReplicationStatusOutput {
  4911  	s.ImageId = v
  4912  	return s
  4913  }
  4914  
  4915  // SetReplicationStatuses sets the ReplicationStatuses field's value.
  4916  func (s *DescribeImageReplicationStatusOutput) SetReplicationStatuses(v []*ImageReplicationStatus) *DescribeImageReplicationStatusOutput {
  4917  	s.ReplicationStatuses = v
  4918  	return s
  4919  }
  4920  
  4921  // SetRepositoryName sets the RepositoryName field's value.
  4922  func (s *DescribeImageReplicationStatusOutput) SetRepositoryName(v string) *DescribeImageReplicationStatusOutput {
  4923  	s.RepositoryName = &v
  4924  	return s
  4925  }
  4926  
  4927  type DescribeImageScanFindingsInput struct {
  4928  	_ struct{} `type:"structure"`
  4929  
  4930  	// An object with identifying information for an image in an Amazon ECR repository.
  4931  	//
  4932  	// ImageId is a required field
  4933  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure" required:"true"`
  4934  
  4935  	// The maximum number of image scan results returned by DescribeImageScanFindings
  4936  	// in paginated output. When this parameter is used, DescribeImageScanFindings
  4937  	// only returns maxResults results in a single page along with a nextToken response
  4938  	// element. The remaining results of the initial request can be seen by sending
  4939  	// another DescribeImageScanFindings request with the returned nextToken value.
  4940  	// This value can be between 1 and 1000. If this parameter is not used, then
  4941  	// DescribeImageScanFindings returns up to 100 results and a nextToken value,
  4942  	// if applicable.
  4943  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4944  
  4945  	// The nextToken value returned from a previous paginated DescribeImageScanFindings
  4946  	// request where maxResults was used and the results exceeded the value of that
  4947  	// parameter. Pagination continues from the end of the previous results that
  4948  	// returned the nextToken value. This value is null when there are no more results
  4949  	// to return.
  4950  	NextToken *string `locationName:"nextToken" type:"string"`
  4951  
  4952  	// The Amazon Web Services account ID associated with the registry that contains
  4953  	// the repository in which to describe the image scan findings for. If you do
  4954  	// not specify a registry, the default registry is assumed.
  4955  	RegistryId *string `locationName:"registryId" type:"string"`
  4956  
  4957  	// The repository for the image for which to describe the scan findings.
  4958  	//
  4959  	// RepositoryName is a required field
  4960  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  4961  }
  4962  
  4963  // String returns the string representation.
  4964  //
  4965  // API parameter values that are decorated as "sensitive" in the API will not
  4966  // be included in the string output. The member name will be present, but the
  4967  // value will be replaced with "sensitive".
  4968  func (s DescribeImageScanFindingsInput) String() string {
  4969  	return awsutil.Prettify(s)
  4970  }
  4971  
  4972  // GoString returns the string representation.
  4973  //
  4974  // API parameter values that are decorated as "sensitive" in the API will not
  4975  // be included in the string output. The member name will be present, but the
  4976  // value will be replaced with "sensitive".
  4977  func (s DescribeImageScanFindingsInput) GoString() string {
  4978  	return s.String()
  4979  }
  4980  
  4981  // Validate inspects the fields of the type to determine if they are valid.
  4982  func (s *DescribeImageScanFindingsInput) Validate() error {
  4983  	invalidParams := request.ErrInvalidParams{Context: "DescribeImageScanFindingsInput"}
  4984  	if s.ImageId == nil {
  4985  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
  4986  	}
  4987  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4988  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4989  	}
  4990  	if s.RepositoryName == nil {
  4991  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  4992  	}
  4993  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  4994  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  4995  	}
  4996  	if s.ImageId != nil {
  4997  		if err := s.ImageId.Validate(); err != nil {
  4998  			invalidParams.AddNested("ImageId", err.(request.ErrInvalidParams))
  4999  		}
  5000  	}
  5001  
  5002  	if invalidParams.Len() > 0 {
  5003  		return invalidParams
  5004  	}
  5005  	return nil
  5006  }
  5007  
  5008  // SetImageId sets the ImageId field's value.
  5009  func (s *DescribeImageScanFindingsInput) SetImageId(v *ImageIdentifier) *DescribeImageScanFindingsInput {
  5010  	s.ImageId = v
  5011  	return s
  5012  }
  5013  
  5014  // SetMaxResults sets the MaxResults field's value.
  5015  func (s *DescribeImageScanFindingsInput) SetMaxResults(v int64) *DescribeImageScanFindingsInput {
  5016  	s.MaxResults = &v
  5017  	return s
  5018  }
  5019  
  5020  // SetNextToken sets the NextToken field's value.
  5021  func (s *DescribeImageScanFindingsInput) SetNextToken(v string) *DescribeImageScanFindingsInput {
  5022  	s.NextToken = &v
  5023  	return s
  5024  }
  5025  
  5026  // SetRegistryId sets the RegistryId field's value.
  5027  func (s *DescribeImageScanFindingsInput) SetRegistryId(v string) *DescribeImageScanFindingsInput {
  5028  	s.RegistryId = &v
  5029  	return s
  5030  }
  5031  
  5032  // SetRepositoryName sets the RepositoryName field's value.
  5033  func (s *DescribeImageScanFindingsInput) SetRepositoryName(v string) *DescribeImageScanFindingsInput {
  5034  	s.RepositoryName = &v
  5035  	return s
  5036  }
  5037  
  5038  type DescribeImageScanFindingsOutput struct {
  5039  	_ struct{} `type:"structure"`
  5040  
  5041  	// An object with identifying information for an image in an Amazon ECR repository.
  5042  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
  5043  
  5044  	// The information contained in the image scan findings.
  5045  	ImageScanFindings *ImageScanFindings `locationName:"imageScanFindings" type:"structure"`
  5046  
  5047  	// The current state of the scan.
  5048  	ImageScanStatus *ImageScanStatus `locationName:"imageScanStatus" type:"structure"`
  5049  
  5050  	// The nextToken value to include in a future DescribeImageScanFindings request.
  5051  	// When the results of a DescribeImageScanFindings request exceed maxResults,
  5052  	// this value can be used to retrieve the next page of results. This value is
  5053  	// null when there are no more results to return.
  5054  	NextToken *string `locationName:"nextToken" type:"string"`
  5055  
  5056  	// The registry ID associated with the request.
  5057  	RegistryId *string `locationName:"registryId" type:"string"`
  5058  
  5059  	// The repository name associated with the request.
  5060  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  5061  }
  5062  
  5063  // String returns the string representation.
  5064  //
  5065  // API parameter values that are decorated as "sensitive" in the API will not
  5066  // be included in the string output. The member name will be present, but the
  5067  // value will be replaced with "sensitive".
  5068  func (s DescribeImageScanFindingsOutput) String() string {
  5069  	return awsutil.Prettify(s)
  5070  }
  5071  
  5072  // GoString returns the string representation.
  5073  //
  5074  // API parameter values that are decorated as "sensitive" in the API will not
  5075  // be included in the string output. The member name will be present, but the
  5076  // value will be replaced with "sensitive".
  5077  func (s DescribeImageScanFindingsOutput) GoString() string {
  5078  	return s.String()
  5079  }
  5080  
  5081  // SetImageId sets the ImageId field's value.
  5082  func (s *DescribeImageScanFindingsOutput) SetImageId(v *ImageIdentifier) *DescribeImageScanFindingsOutput {
  5083  	s.ImageId = v
  5084  	return s
  5085  }
  5086  
  5087  // SetImageScanFindings sets the ImageScanFindings field's value.
  5088  func (s *DescribeImageScanFindingsOutput) SetImageScanFindings(v *ImageScanFindings) *DescribeImageScanFindingsOutput {
  5089  	s.ImageScanFindings = v
  5090  	return s
  5091  }
  5092  
  5093  // SetImageScanStatus sets the ImageScanStatus field's value.
  5094  func (s *DescribeImageScanFindingsOutput) SetImageScanStatus(v *ImageScanStatus) *DescribeImageScanFindingsOutput {
  5095  	s.ImageScanStatus = v
  5096  	return s
  5097  }
  5098  
  5099  // SetNextToken sets the NextToken field's value.
  5100  func (s *DescribeImageScanFindingsOutput) SetNextToken(v string) *DescribeImageScanFindingsOutput {
  5101  	s.NextToken = &v
  5102  	return s
  5103  }
  5104  
  5105  // SetRegistryId sets the RegistryId field's value.
  5106  func (s *DescribeImageScanFindingsOutput) SetRegistryId(v string) *DescribeImageScanFindingsOutput {
  5107  	s.RegistryId = &v
  5108  	return s
  5109  }
  5110  
  5111  // SetRepositoryName sets the RepositoryName field's value.
  5112  func (s *DescribeImageScanFindingsOutput) SetRepositoryName(v string) *DescribeImageScanFindingsOutput {
  5113  	s.RepositoryName = &v
  5114  	return s
  5115  }
  5116  
  5117  // An object representing a filter on a DescribeImages operation.
  5118  type DescribeImagesFilter struct {
  5119  	_ struct{} `type:"structure"`
  5120  
  5121  	// The tag status with which to filter your DescribeImages results. You can
  5122  	// filter results based on whether they are TAGGED or UNTAGGED.
  5123  	TagStatus *string `locationName:"tagStatus" type:"string" enum:"TagStatus"`
  5124  }
  5125  
  5126  // String returns the string representation.
  5127  //
  5128  // API parameter values that are decorated as "sensitive" in the API will not
  5129  // be included in the string output. The member name will be present, but the
  5130  // value will be replaced with "sensitive".
  5131  func (s DescribeImagesFilter) String() string {
  5132  	return awsutil.Prettify(s)
  5133  }
  5134  
  5135  // GoString returns the string representation.
  5136  //
  5137  // API parameter values that are decorated as "sensitive" in the API will not
  5138  // be included in the string output. The member name will be present, but the
  5139  // value will be replaced with "sensitive".
  5140  func (s DescribeImagesFilter) GoString() string {
  5141  	return s.String()
  5142  }
  5143  
  5144  // SetTagStatus sets the TagStatus field's value.
  5145  func (s *DescribeImagesFilter) SetTagStatus(v string) *DescribeImagesFilter {
  5146  	s.TagStatus = &v
  5147  	return s
  5148  }
  5149  
  5150  type DescribeImagesInput struct {
  5151  	_ struct{} `type:"structure"`
  5152  
  5153  	// The filter key and value with which to filter your DescribeImages results.
  5154  	Filter *DescribeImagesFilter `locationName:"filter" type:"structure"`
  5155  
  5156  	// The list of image IDs for the requested repository.
  5157  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"`
  5158  
  5159  	// The maximum number of repository results returned by DescribeImages in paginated
  5160  	// output. When this parameter is used, DescribeImages only returns maxResults
  5161  	// results in a single page along with a nextToken response element. The remaining
  5162  	// results of the initial request can be seen by sending another DescribeImages
  5163  	// request with the returned nextToken value. This value can be between 1 and
  5164  	// 1000. If this parameter is not used, then DescribeImages returns up to 100
  5165  	// results and a nextToken value, if applicable. This option cannot be used
  5166  	// when you specify images with imageIds.
  5167  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  5168  
  5169  	// The nextToken value returned from a previous paginated DescribeImages request
  5170  	// where maxResults was used and the results exceeded the value of that parameter.
  5171  	// Pagination continues from the end of the previous results that returned the
  5172  	// nextToken value. This value is null when there are no more results to return.
  5173  	// This option cannot be used when you specify images with imageIds.
  5174  	NextToken *string `locationName:"nextToken" type:"string"`
  5175  
  5176  	// The Amazon Web Services account ID associated with the registry that contains
  5177  	// the repository in which to describe images. If you do not specify a registry,
  5178  	// the default registry is assumed.
  5179  	RegistryId *string `locationName:"registryId" type:"string"`
  5180  
  5181  	// The repository that contains the images to describe.
  5182  	//
  5183  	// RepositoryName is a required field
  5184  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  5185  }
  5186  
  5187  // String returns the string representation.
  5188  //
  5189  // API parameter values that are decorated as "sensitive" in the API will not
  5190  // be included in the string output. The member name will be present, but the
  5191  // value will be replaced with "sensitive".
  5192  func (s DescribeImagesInput) String() string {
  5193  	return awsutil.Prettify(s)
  5194  }
  5195  
  5196  // GoString returns the string representation.
  5197  //
  5198  // API parameter values that are decorated as "sensitive" in the API will not
  5199  // be included in the string output. The member name will be present, but the
  5200  // value will be replaced with "sensitive".
  5201  func (s DescribeImagesInput) GoString() string {
  5202  	return s.String()
  5203  }
  5204  
  5205  // Validate inspects the fields of the type to determine if they are valid.
  5206  func (s *DescribeImagesInput) Validate() error {
  5207  	invalidParams := request.ErrInvalidParams{Context: "DescribeImagesInput"}
  5208  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  5209  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  5210  	}
  5211  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5212  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5213  	}
  5214  	if s.RepositoryName == nil {
  5215  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  5216  	}
  5217  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  5218  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  5219  	}
  5220  	if s.ImageIds != nil {
  5221  		for i, v := range s.ImageIds {
  5222  			if v == nil {
  5223  				continue
  5224  			}
  5225  			if err := v.Validate(); err != nil {
  5226  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageIds", i), err.(request.ErrInvalidParams))
  5227  			}
  5228  		}
  5229  	}
  5230  
  5231  	if invalidParams.Len() > 0 {
  5232  		return invalidParams
  5233  	}
  5234  	return nil
  5235  }
  5236  
  5237  // SetFilter sets the Filter field's value.
  5238  func (s *DescribeImagesInput) SetFilter(v *DescribeImagesFilter) *DescribeImagesInput {
  5239  	s.Filter = v
  5240  	return s
  5241  }
  5242  
  5243  // SetImageIds sets the ImageIds field's value.
  5244  func (s *DescribeImagesInput) SetImageIds(v []*ImageIdentifier) *DescribeImagesInput {
  5245  	s.ImageIds = v
  5246  	return s
  5247  }
  5248  
  5249  // SetMaxResults sets the MaxResults field's value.
  5250  func (s *DescribeImagesInput) SetMaxResults(v int64) *DescribeImagesInput {
  5251  	s.MaxResults = &v
  5252  	return s
  5253  }
  5254  
  5255  // SetNextToken sets the NextToken field's value.
  5256  func (s *DescribeImagesInput) SetNextToken(v string) *DescribeImagesInput {
  5257  	s.NextToken = &v
  5258  	return s
  5259  }
  5260  
  5261  // SetRegistryId sets the RegistryId field's value.
  5262  func (s *DescribeImagesInput) SetRegistryId(v string) *DescribeImagesInput {
  5263  	s.RegistryId = &v
  5264  	return s
  5265  }
  5266  
  5267  // SetRepositoryName sets the RepositoryName field's value.
  5268  func (s *DescribeImagesInput) SetRepositoryName(v string) *DescribeImagesInput {
  5269  	s.RepositoryName = &v
  5270  	return s
  5271  }
  5272  
  5273  type DescribeImagesOutput struct {
  5274  	_ struct{} `type:"structure"`
  5275  
  5276  	// A list of ImageDetail objects that contain data about the image.
  5277  	ImageDetails []*ImageDetail `locationName:"imageDetails" type:"list"`
  5278  
  5279  	// The nextToken value to include in a future DescribeImages request. When the
  5280  	// results of a DescribeImages request exceed maxResults, this value can be
  5281  	// used to retrieve the next page of results. This value is null when there
  5282  	// are no more results to return.
  5283  	NextToken *string `locationName:"nextToken" type:"string"`
  5284  }
  5285  
  5286  // String returns the string representation.
  5287  //
  5288  // API parameter values that are decorated as "sensitive" in the API will not
  5289  // be included in the string output. The member name will be present, but the
  5290  // value will be replaced with "sensitive".
  5291  func (s DescribeImagesOutput) String() string {
  5292  	return awsutil.Prettify(s)
  5293  }
  5294  
  5295  // GoString returns the string representation.
  5296  //
  5297  // API parameter values that are decorated as "sensitive" in the API will not
  5298  // be included in the string output. The member name will be present, but the
  5299  // value will be replaced with "sensitive".
  5300  func (s DescribeImagesOutput) GoString() string {
  5301  	return s.String()
  5302  }
  5303  
  5304  // SetImageDetails sets the ImageDetails field's value.
  5305  func (s *DescribeImagesOutput) SetImageDetails(v []*ImageDetail) *DescribeImagesOutput {
  5306  	s.ImageDetails = v
  5307  	return s
  5308  }
  5309  
  5310  // SetNextToken sets the NextToken field's value.
  5311  func (s *DescribeImagesOutput) SetNextToken(v string) *DescribeImagesOutput {
  5312  	s.NextToken = &v
  5313  	return s
  5314  }
  5315  
  5316  type DescribeRegistryInput struct {
  5317  	_ struct{} `type:"structure"`
  5318  }
  5319  
  5320  // String returns the string representation.
  5321  //
  5322  // API parameter values that are decorated as "sensitive" in the API will not
  5323  // be included in the string output. The member name will be present, but the
  5324  // value will be replaced with "sensitive".
  5325  func (s DescribeRegistryInput) String() string {
  5326  	return awsutil.Prettify(s)
  5327  }
  5328  
  5329  // GoString returns the string representation.
  5330  //
  5331  // API parameter values that are decorated as "sensitive" in the API will not
  5332  // be included in the string output. The member name will be present, but the
  5333  // value will be replaced with "sensitive".
  5334  func (s DescribeRegistryInput) GoString() string {
  5335  	return s.String()
  5336  }
  5337  
  5338  type DescribeRegistryOutput struct {
  5339  	_ struct{} `type:"structure"`
  5340  
  5341  	// The ID of the registry.
  5342  	RegistryId *string `locationName:"registryId" type:"string"`
  5343  
  5344  	// The replication configuration for the registry.
  5345  	ReplicationConfiguration *ReplicationConfiguration `locationName:"replicationConfiguration" type:"structure"`
  5346  }
  5347  
  5348  // String returns the string representation.
  5349  //
  5350  // API parameter values that are decorated as "sensitive" in the API will not
  5351  // be included in the string output. The member name will be present, but the
  5352  // value will be replaced with "sensitive".
  5353  func (s DescribeRegistryOutput) String() string {
  5354  	return awsutil.Prettify(s)
  5355  }
  5356  
  5357  // GoString returns the string representation.
  5358  //
  5359  // API parameter values that are decorated as "sensitive" in the API will not
  5360  // be included in the string output. The member name will be present, but the
  5361  // value will be replaced with "sensitive".
  5362  func (s DescribeRegistryOutput) GoString() string {
  5363  	return s.String()
  5364  }
  5365  
  5366  // SetRegistryId sets the RegistryId field's value.
  5367  func (s *DescribeRegistryOutput) SetRegistryId(v string) *DescribeRegistryOutput {
  5368  	s.RegistryId = &v
  5369  	return s
  5370  }
  5371  
  5372  // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
  5373  func (s *DescribeRegistryOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *DescribeRegistryOutput {
  5374  	s.ReplicationConfiguration = v
  5375  	return s
  5376  }
  5377  
  5378  type DescribeRepositoriesInput struct {
  5379  	_ struct{} `type:"structure"`
  5380  
  5381  	// The maximum number of repository results returned by DescribeRepositories
  5382  	// in paginated output. When this parameter is used, DescribeRepositories only
  5383  	// returns maxResults results in a single page along with a nextToken response
  5384  	// element. The remaining results of the initial request can be seen by sending
  5385  	// another DescribeRepositories request with the returned nextToken value. This
  5386  	// value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories
  5387  	// returns up to 100 results and a nextToken value, if applicable. This option
  5388  	// cannot be used when you specify repositories with repositoryNames.
  5389  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  5390  
  5391  	// The nextToken value returned from a previous paginated DescribeRepositories
  5392  	// request where maxResults was used and the results exceeded the value of that
  5393  	// parameter. Pagination continues from the end of the previous results that
  5394  	// returned the nextToken value. This value is null when there are no more results
  5395  	// to return. This option cannot be used when you specify repositories with
  5396  	// repositoryNames.
  5397  	//
  5398  	// This token should be treated as an opaque identifier that is only used to
  5399  	// retrieve the next items in a list and not for other programmatic purposes.
  5400  	NextToken *string `locationName:"nextToken" type:"string"`
  5401  
  5402  	// The Amazon Web Services account ID associated with the registry that contains
  5403  	// the repositories to be described. If you do not specify a registry, the default
  5404  	// registry is assumed.
  5405  	RegistryId *string `locationName:"registryId" type:"string"`
  5406  
  5407  	// A list of repositories to describe. If this parameter is omitted, then all
  5408  	// repositories in a registry are described.
  5409  	RepositoryNames []*string `locationName:"repositoryNames" min:"1" type:"list"`
  5410  }
  5411  
  5412  // String returns the string representation.
  5413  //
  5414  // API parameter values that are decorated as "sensitive" in the API will not
  5415  // be included in the string output. The member name will be present, but the
  5416  // value will be replaced with "sensitive".
  5417  func (s DescribeRepositoriesInput) String() string {
  5418  	return awsutil.Prettify(s)
  5419  }
  5420  
  5421  // GoString returns the string representation.
  5422  //
  5423  // API parameter values that are decorated as "sensitive" in the API will not
  5424  // be included in the string output. The member name will be present, but the
  5425  // value will be replaced with "sensitive".
  5426  func (s DescribeRepositoriesInput) GoString() string {
  5427  	return s.String()
  5428  }
  5429  
  5430  // Validate inspects the fields of the type to determine if they are valid.
  5431  func (s *DescribeRepositoriesInput) Validate() error {
  5432  	invalidParams := request.ErrInvalidParams{Context: "DescribeRepositoriesInput"}
  5433  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5434  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5435  	}
  5436  	if s.RepositoryNames != nil && len(s.RepositoryNames) < 1 {
  5437  		invalidParams.Add(request.NewErrParamMinLen("RepositoryNames", 1))
  5438  	}
  5439  
  5440  	if invalidParams.Len() > 0 {
  5441  		return invalidParams
  5442  	}
  5443  	return nil
  5444  }
  5445  
  5446  // SetMaxResults sets the MaxResults field's value.
  5447  func (s *DescribeRepositoriesInput) SetMaxResults(v int64) *DescribeRepositoriesInput {
  5448  	s.MaxResults = &v
  5449  	return s
  5450  }
  5451  
  5452  // SetNextToken sets the NextToken field's value.
  5453  func (s *DescribeRepositoriesInput) SetNextToken(v string) *DescribeRepositoriesInput {
  5454  	s.NextToken = &v
  5455  	return s
  5456  }
  5457  
  5458  // SetRegistryId sets the RegistryId field's value.
  5459  func (s *DescribeRepositoriesInput) SetRegistryId(v string) *DescribeRepositoriesInput {
  5460  	s.RegistryId = &v
  5461  	return s
  5462  }
  5463  
  5464  // SetRepositoryNames sets the RepositoryNames field's value.
  5465  func (s *DescribeRepositoriesInput) SetRepositoryNames(v []*string) *DescribeRepositoriesInput {
  5466  	s.RepositoryNames = v
  5467  	return s
  5468  }
  5469  
  5470  type DescribeRepositoriesOutput struct {
  5471  	_ struct{} `type:"structure"`
  5472  
  5473  	// The nextToken value to include in a future DescribeRepositories request.
  5474  	// When the results of a DescribeRepositories request exceed maxResults, this
  5475  	// value can be used to retrieve the next page of results. This value is null
  5476  	// when there are no more results to return.
  5477  	NextToken *string `locationName:"nextToken" type:"string"`
  5478  
  5479  	// A list of repository objects corresponding to valid repositories.
  5480  	Repositories []*Repository `locationName:"repositories" type:"list"`
  5481  }
  5482  
  5483  // String returns the string representation.
  5484  //
  5485  // API parameter values that are decorated as "sensitive" in the API will not
  5486  // be included in the string output. The member name will be present, but the
  5487  // value will be replaced with "sensitive".
  5488  func (s DescribeRepositoriesOutput) String() string {
  5489  	return awsutil.Prettify(s)
  5490  }
  5491  
  5492  // GoString returns the string representation.
  5493  //
  5494  // API parameter values that are decorated as "sensitive" in the API will not
  5495  // be included in the string output. The member name will be present, but the
  5496  // value will be replaced with "sensitive".
  5497  func (s DescribeRepositoriesOutput) GoString() string {
  5498  	return s.String()
  5499  }
  5500  
  5501  // SetNextToken sets the NextToken field's value.
  5502  func (s *DescribeRepositoriesOutput) SetNextToken(v string) *DescribeRepositoriesOutput {
  5503  	s.NextToken = &v
  5504  	return s
  5505  }
  5506  
  5507  // SetRepositories sets the Repositories field's value.
  5508  func (s *DescribeRepositoriesOutput) SetRepositories(v []*Repository) *DescribeRepositoriesOutput {
  5509  	s.Repositories = v
  5510  	return s
  5511  }
  5512  
  5513  // The specified layer upload does not contain any layer parts.
  5514  type EmptyUploadException struct {
  5515  	_            struct{}                  `type:"structure"`
  5516  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5517  
  5518  	// The error message associated with the exception.
  5519  	Message_ *string `locationName:"message" type:"string"`
  5520  }
  5521  
  5522  // String returns the string representation.
  5523  //
  5524  // API parameter values that are decorated as "sensitive" in the API will not
  5525  // be included in the string output. The member name will be present, but the
  5526  // value will be replaced with "sensitive".
  5527  func (s EmptyUploadException) String() string {
  5528  	return awsutil.Prettify(s)
  5529  }
  5530  
  5531  // GoString returns the string representation.
  5532  //
  5533  // API parameter values that are decorated as "sensitive" in the API will not
  5534  // be included in the string output. The member name will be present, but the
  5535  // value will be replaced with "sensitive".
  5536  func (s EmptyUploadException) GoString() string {
  5537  	return s.String()
  5538  }
  5539  
  5540  func newErrorEmptyUploadException(v protocol.ResponseMetadata) error {
  5541  	return &EmptyUploadException{
  5542  		RespMetadata: v,
  5543  	}
  5544  }
  5545  
  5546  // Code returns the exception type name.
  5547  func (s *EmptyUploadException) Code() string {
  5548  	return "EmptyUploadException"
  5549  }
  5550  
  5551  // Message returns the exception's message.
  5552  func (s *EmptyUploadException) Message() string {
  5553  	if s.Message_ != nil {
  5554  		return *s.Message_
  5555  	}
  5556  	return ""
  5557  }
  5558  
  5559  // OrigErr always returns nil, satisfies awserr.Error interface.
  5560  func (s *EmptyUploadException) OrigErr() error {
  5561  	return nil
  5562  }
  5563  
  5564  func (s *EmptyUploadException) Error() string {
  5565  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5566  }
  5567  
  5568  // Status code returns the HTTP status code for the request's response error.
  5569  func (s *EmptyUploadException) StatusCode() int {
  5570  	return s.RespMetadata.StatusCode
  5571  }
  5572  
  5573  // RequestID returns the service's response RequestID for request.
  5574  func (s *EmptyUploadException) RequestID() string {
  5575  	return s.RespMetadata.RequestID
  5576  }
  5577  
  5578  // The encryption configuration for the repository. This determines how the
  5579  // contents of your repository are encrypted at rest.
  5580  //
  5581  // By default, when no encryption configuration is set or the AES256 encryption
  5582  // type is used, Amazon ECR uses server-side encryption with Amazon S3-managed
  5583  // encryption keys which encrypts your data at rest using an AES-256 encryption
  5584  // algorithm. This does not require any action on your part.
  5585  //
  5586  // For more control over the encryption of the contents of your repository,
  5587  // you can use server-side encryption with Key Management Service key stored
  5588  // in Key Management Service (KMS) to encrypt your images. For more information,
  5589  // see Amazon ECR encryption at rest (https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html)
  5590  // in the Amazon Elastic Container Registry User Guide.
  5591  type EncryptionConfiguration struct {
  5592  	_ struct{} `type:"structure"`
  5593  
  5594  	// The encryption type to use.
  5595  	//
  5596  	// If you use the KMS encryption type, the contents of the repository will be
  5597  	// encrypted using server-side encryption with Key Management Service key stored
  5598  	// in KMS. When you use KMS to encrypt your data, you can either use the default
  5599  	// Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS
  5600  	// key, which you already created. For more information, see Protecting data
  5601  	// using server-side encryption with an KMS key stored in Key Management Service
  5602  	// (SSE-KMS) (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html)
  5603  	// in the Amazon Simple Storage Service Console Developer Guide..
  5604  	//
  5605  	// If you use the AES256 encryption type, Amazon ECR uses server-side encryption
  5606  	// with Amazon S3-managed encryption keys which encrypts the images in the repository
  5607  	// using an AES-256 encryption algorithm. For more information, see Protecting
  5608  	// data using server-side encryption with Amazon S3-managed encryption keys
  5609  	// (SSE-S3) (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)
  5610  	// in the Amazon Simple Storage Service Console Developer Guide..
  5611  	//
  5612  	// EncryptionType is a required field
  5613  	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
  5614  
  5615  	// If you use the KMS encryption type, specify the KMS key to use for encryption.
  5616  	// The alias, key ID, or full ARN of the KMS key can be specified. The key must
  5617  	// exist in the same Region as the repository. If no key is specified, the default
  5618  	// Amazon Web Services managed KMS key for Amazon ECR will be used.
  5619  	KmsKey *string `locationName:"kmsKey" min:"1" type:"string"`
  5620  }
  5621  
  5622  // String returns the string representation.
  5623  //
  5624  // API parameter values that are decorated as "sensitive" in the API will not
  5625  // be included in the string output. The member name will be present, but the
  5626  // value will be replaced with "sensitive".
  5627  func (s EncryptionConfiguration) String() string {
  5628  	return awsutil.Prettify(s)
  5629  }
  5630  
  5631  // GoString returns the string representation.
  5632  //
  5633  // API parameter values that are decorated as "sensitive" in the API will not
  5634  // be included in the string output. The member name will be present, but the
  5635  // value will be replaced with "sensitive".
  5636  func (s EncryptionConfiguration) GoString() string {
  5637  	return s.String()
  5638  }
  5639  
  5640  // Validate inspects the fields of the type to determine if they are valid.
  5641  func (s *EncryptionConfiguration) Validate() error {
  5642  	invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"}
  5643  	if s.EncryptionType == nil {
  5644  		invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
  5645  	}
  5646  	if s.KmsKey != nil && len(*s.KmsKey) < 1 {
  5647  		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1))
  5648  	}
  5649  
  5650  	if invalidParams.Len() > 0 {
  5651  		return invalidParams
  5652  	}
  5653  	return nil
  5654  }
  5655  
  5656  // SetEncryptionType sets the EncryptionType field's value.
  5657  func (s *EncryptionConfiguration) SetEncryptionType(v string) *EncryptionConfiguration {
  5658  	s.EncryptionType = &v
  5659  	return s
  5660  }
  5661  
  5662  // SetKmsKey sets the KmsKey field's value.
  5663  func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration {
  5664  	s.KmsKey = &v
  5665  	return s
  5666  }
  5667  
  5668  type GetAuthorizationTokenInput struct {
  5669  	_ struct{} `type:"structure"`
  5670  
  5671  	// A list of Amazon Web Services account IDs that are associated with the registries
  5672  	// for which to get AuthorizationData objects. If you do not specify a registry,
  5673  	// the default registry is assumed.
  5674  	//
  5675  	// Deprecated: This field is deprecated. The returned authorization token can be used to access any Amazon ECR registry that the IAM principal has access to, specifying a registry ID doesn't change the permissions scope of the authorization token.
  5676  	RegistryIds []*string `locationName:"registryIds" min:"1" deprecated:"true" type:"list"`
  5677  }
  5678  
  5679  // String returns the string representation.
  5680  //
  5681  // API parameter values that are decorated as "sensitive" in the API will not
  5682  // be included in the string output. The member name will be present, but the
  5683  // value will be replaced with "sensitive".
  5684  func (s GetAuthorizationTokenInput) String() string {
  5685  	return awsutil.Prettify(s)
  5686  }
  5687  
  5688  // GoString returns the string representation.
  5689  //
  5690  // API parameter values that are decorated as "sensitive" in the API will not
  5691  // be included in the string output. The member name will be present, but the
  5692  // value will be replaced with "sensitive".
  5693  func (s GetAuthorizationTokenInput) GoString() string {
  5694  	return s.String()
  5695  }
  5696  
  5697  // Validate inspects the fields of the type to determine if they are valid.
  5698  func (s *GetAuthorizationTokenInput) Validate() error {
  5699  	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizationTokenInput"}
  5700  	if s.RegistryIds != nil && len(s.RegistryIds) < 1 {
  5701  		invalidParams.Add(request.NewErrParamMinLen("RegistryIds", 1))
  5702  	}
  5703  
  5704  	if invalidParams.Len() > 0 {
  5705  		return invalidParams
  5706  	}
  5707  	return nil
  5708  }
  5709  
  5710  // SetRegistryIds sets the RegistryIds field's value.
  5711  func (s *GetAuthorizationTokenInput) SetRegistryIds(v []*string) *GetAuthorizationTokenInput {
  5712  	s.RegistryIds = v
  5713  	return s
  5714  }
  5715  
  5716  type GetAuthorizationTokenOutput struct {
  5717  	_ struct{} `type:"structure"`
  5718  
  5719  	// A list of authorization token data objects that correspond to the registryIds
  5720  	// values in the request.
  5721  	AuthorizationData []*AuthorizationData `locationName:"authorizationData" type:"list"`
  5722  }
  5723  
  5724  // String returns the string representation.
  5725  //
  5726  // API parameter values that are decorated as "sensitive" in the API will not
  5727  // be included in the string output. The member name will be present, but the
  5728  // value will be replaced with "sensitive".
  5729  func (s GetAuthorizationTokenOutput) String() string {
  5730  	return awsutil.Prettify(s)
  5731  }
  5732  
  5733  // GoString returns the string representation.
  5734  //
  5735  // API parameter values that are decorated as "sensitive" in the API will not
  5736  // be included in the string output. The member name will be present, but the
  5737  // value will be replaced with "sensitive".
  5738  func (s GetAuthorizationTokenOutput) GoString() string {
  5739  	return s.String()
  5740  }
  5741  
  5742  // SetAuthorizationData sets the AuthorizationData field's value.
  5743  func (s *GetAuthorizationTokenOutput) SetAuthorizationData(v []*AuthorizationData) *GetAuthorizationTokenOutput {
  5744  	s.AuthorizationData = v
  5745  	return s
  5746  }
  5747  
  5748  type GetDownloadUrlForLayerInput struct {
  5749  	_ struct{} `type:"structure"`
  5750  
  5751  	// The digest of the image layer to download.
  5752  	//
  5753  	// LayerDigest is a required field
  5754  	LayerDigest *string `locationName:"layerDigest" type:"string" required:"true"`
  5755  
  5756  	// The Amazon Web Services account ID associated with the registry that contains
  5757  	// the image layer to download. If you do not specify a registry, the default
  5758  	// registry is assumed.
  5759  	RegistryId *string `locationName:"registryId" type:"string"`
  5760  
  5761  	// The name of the repository that is associated with the image layer to download.
  5762  	//
  5763  	// RepositoryName is a required field
  5764  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  5765  }
  5766  
  5767  // String returns the string representation.
  5768  //
  5769  // API parameter values that are decorated as "sensitive" in the API will not
  5770  // be included in the string output. The member name will be present, but the
  5771  // value will be replaced with "sensitive".
  5772  func (s GetDownloadUrlForLayerInput) String() string {
  5773  	return awsutil.Prettify(s)
  5774  }
  5775  
  5776  // GoString returns the string representation.
  5777  //
  5778  // API parameter values that are decorated as "sensitive" in the API will not
  5779  // be included in the string output. The member name will be present, but the
  5780  // value will be replaced with "sensitive".
  5781  func (s GetDownloadUrlForLayerInput) GoString() string {
  5782  	return s.String()
  5783  }
  5784  
  5785  // Validate inspects the fields of the type to determine if they are valid.
  5786  func (s *GetDownloadUrlForLayerInput) Validate() error {
  5787  	invalidParams := request.ErrInvalidParams{Context: "GetDownloadUrlForLayerInput"}
  5788  	if s.LayerDigest == nil {
  5789  		invalidParams.Add(request.NewErrParamRequired("LayerDigest"))
  5790  	}
  5791  	if s.RepositoryName == nil {
  5792  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  5793  	}
  5794  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  5795  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  5796  	}
  5797  
  5798  	if invalidParams.Len() > 0 {
  5799  		return invalidParams
  5800  	}
  5801  	return nil
  5802  }
  5803  
  5804  // SetLayerDigest sets the LayerDigest field's value.
  5805  func (s *GetDownloadUrlForLayerInput) SetLayerDigest(v string) *GetDownloadUrlForLayerInput {
  5806  	s.LayerDigest = &v
  5807  	return s
  5808  }
  5809  
  5810  // SetRegistryId sets the RegistryId field's value.
  5811  func (s *GetDownloadUrlForLayerInput) SetRegistryId(v string) *GetDownloadUrlForLayerInput {
  5812  	s.RegistryId = &v
  5813  	return s
  5814  }
  5815  
  5816  // SetRepositoryName sets the RepositoryName field's value.
  5817  func (s *GetDownloadUrlForLayerInput) SetRepositoryName(v string) *GetDownloadUrlForLayerInput {
  5818  	s.RepositoryName = &v
  5819  	return s
  5820  }
  5821  
  5822  type GetDownloadUrlForLayerOutput struct {
  5823  	_ struct{} `type:"structure"`
  5824  
  5825  	// The pre-signed Amazon S3 download URL for the requested layer.
  5826  	DownloadUrl *string `locationName:"downloadUrl" type:"string"`
  5827  
  5828  	// The digest of the image layer to download.
  5829  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  5830  }
  5831  
  5832  // String returns the string representation.
  5833  //
  5834  // API parameter values that are decorated as "sensitive" in the API will not
  5835  // be included in the string output. The member name will be present, but the
  5836  // value will be replaced with "sensitive".
  5837  func (s GetDownloadUrlForLayerOutput) String() string {
  5838  	return awsutil.Prettify(s)
  5839  }
  5840  
  5841  // GoString returns the string representation.
  5842  //
  5843  // API parameter values that are decorated as "sensitive" in the API will not
  5844  // be included in the string output. The member name will be present, but the
  5845  // value will be replaced with "sensitive".
  5846  func (s GetDownloadUrlForLayerOutput) GoString() string {
  5847  	return s.String()
  5848  }
  5849  
  5850  // SetDownloadUrl sets the DownloadUrl field's value.
  5851  func (s *GetDownloadUrlForLayerOutput) SetDownloadUrl(v string) *GetDownloadUrlForLayerOutput {
  5852  	s.DownloadUrl = &v
  5853  	return s
  5854  }
  5855  
  5856  // SetLayerDigest sets the LayerDigest field's value.
  5857  func (s *GetDownloadUrlForLayerOutput) SetLayerDigest(v string) *GetDownloadUrlForLayerOutput {
  5858  	s.LayerDigest = &v
  5859  	return s
  5860  }
  5861  
  5862  type GetLifecyclePolicyInput struct {
  5863  	_ struct{} `type:"structure"`
  5864  
  5865  	// The Amazon Web Services account ID associated with the registry that contains
  5866  	// the repository. If you do not specify a registry, the default registry is
  5867  	// assumed.
  5868  	RegistryId *string `locationName:"registryId" type:"string"`
  5869  
  5870  	// The name of the repository.
  5871  	//
  5872  	// RepositoryName is a required field
  5873  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  5874  }
  5875  
  5876  // String returns the string representation.
  5877  //
  5878  // API parameter values that are decorated as "sensitive" in the API will not
  5879  // be included in the string output. The member name will be present, but the
  5880  // value will be replaced with "sensitive".
  5881  func (s GetLifecyclePolicyInput) String() string {
  5882  	return awsutil.Prettify(s)
  5883  }
  5884  
  5885  // GoString returns the string representation.
  5886  //
  5887  // API parameter values that are decorated as "sensitive" in the API will not
  5888  // be included in the string output. The member name will be present, but the
  5889  // value will be replaced with "sensitive".
  5890  func (s GetLifecyclePolicyInput) GoString() string {
  5891  	return s.String()
  5892  }
  5893  
  5894  // Validate inspects the fields of the type to determine if they are valid.
  5895  func (s *GetLifecyclePolicyInput) Validate() error {
  5896  	invalidParams := request.ErrInvalidParams{Context: "GetLifecyclePolicyInput"}
  5897  	if s.RepositoryName == nil {
  5898  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  5899  	}
  5900  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  5901  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  5902  	}
  5903  
  5904  	if invalidParams.Len() > 0 {
  5905  		return invalidParams
  5906  	}
  5907  	return nil
  5908  }
  5909  
  5910  // SetRegistryId sets the RegistryId field's value.
  5911  func (s *GetLifecyclePolicyInput) SetRegistryId(v string) *GetLifecyclePolicyInput {
  5912  	s.RegistryId = &v
  5913  	return s
  5914  }
  5915  
  5916  // SetRepositoryName sets the RepositoryName field's value.
  5917  func (s *GetLifecyclePolicyInput) SetRepositoryName(v string) *GetLifecyclePolicyInput {
  5918  	s.RepositoryName = &v
  5919  	return s
  5920  }
  5921  
  5922  type GetLifecyclePolicyOutput struct {
  5923  	_ struct{} `type:"structure"`
  5924  
  5925  	// The time stamp of the last time that the lifecycle policy was run.
  5926  	LastEvaluatedAt *time.Time `locationName:"lastEvaluatedAt" type:"timestamp"`
  5927  
  5928  	// The JSON lifecycle policy text.
  5929  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string"`
  5930  
  5931  	// The registry ID associated with the request.
  5932  	RegistryId *string `locationName:"registryId" type:"string"`
  5933  
  5934  	// The repository name associated with the request.
  5935  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  5936  }
  5937  
  5938  // String returns the string representation.
  5939  //
  5940  // API parameter values that are decorated as "sensitive" in the API will not
  5941  // be included in the string output. The member name will be present, but the
  5942  // value will be replaced with "sensitive".
  5943  func (s GetLifecyclePolicyOutput) String() string {
  5944  	return awsutil.Prettify(s)
  5945  }
  5946  
  5947  // GoString returns the string representation.
  5948  //
  5949  // API parameter values that are decorated as "sensitive" in the API will not
  5950  // be included in the string output. The member name will be present, but the
  5951  // value will be replaced with "sensitive".
  5952  func (s GetLifecyclePolicyOutput) GoString() string {
  5953  	return s.String()
  5954  }
  5955  
  5956  // SetLastEvaluatedAt sets the LastEvaluatedAt field's value.
  5957  func (s *GetLifecyclePolicyOutput) SetLastEvaluatedAt(v time.Time) *GetLifecyclePolicyOutput {
  5958  	s.LastEvaluatedAt = &v
  5959  	return s
  5960  }
  5961  
  5962  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
  5963  func (s *GetLifecyclePolicyOutput) SetLifecyclePolicyText(v string) *GetLifecyclePolicyOutput {
  5964  	s.LifecyclePolicyText = &v
  5965  	return s
  5966  }
  5967  
  5968  // SetRegistryId sets the RegistryId field's value.
  5969  func (s *GetLifecyclePolicyOutput) SetRegistryId(v string) *GetLifecyclePolicyOutput {
  5970  	s.RegistryId = &v
  5971  	return s
  5972  }
  5973  
  5974  // SetRepositoryName sets the RepositoryName field's value.
  5975  func (s *GetLifecyclePolicyOutput) SetRepositoryName(v string) *GetLifecyclePolicyOutput {
  5976  	s.RepositoryName = &v
  5977  	return s
  5978  }
  5979  
  5980  type GetLifecyclePolicyPreviewInput struct {
  5981  	_ struct{} `type:"structure"`
  5982  
  5983  	// An optional parameter that filters results based on image tag status and
  5984  	// all tags, if tagged.
  5985  	Filter *LifecyclePolicyPreviewFilter `locationName:"filter" type:"structure"`
  5986  
  5987  	// The list of imageIDs to be included.
  5988  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"`
  5989  
  5990  	// The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest
  5991  	// in paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest
  5992  	// only returns maxResults results in a single page along with a nextToken response
  5993  	// element. The remaining results of the initial request can be seen by sending
  5994  	// another GetLifecyclePolicyPreviewRequest request with the returned nextToken
  5995  	// value. This value can be between 1 and 1000. If this parameter is not used,
  5996  	// then GetLifecyclePolicyPreviewRequest returns up to 100 results and a nextToken
  5997  	// value, if applicable. This option cannot be used when you specify images
  5998  	// with imageIds.
  5999  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  6000  
  6001  	// The nextToken value returned from a previous paginated GetLifecyclePolicyPreviewRequest
  6002  	// request where maxResults was used and the results exceeded the value of that
  6003  	// parameter. Pagination continues from the end of the previous results that
  6004  	// returned the nextToken value. This value is null when there are no more results
  6005  	// to return. This option cannot be used when you specify images with imageIds.
  6006  	NextToken *string `locationName:"nextToken" type:"string"`
  6007  
  6008  	// The Amazon Web Services account ID associated with the registry that contains
  6009  	// the repository. If you do not specify a registry, the default registry is
  6010  	// assumed.
  6011  	RegistryId *string `locationName:"registryId" type:"string"`
  6012  
  6013  	// The name of the repository.
  6014  	//
  6015  	// RepositoryName is a required field
  6016  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  6017  }
  6018  
  6019  // String returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s GetLifecyclePolicyPreviewInput) String() string {
  6025  	return awsutil.Prettify(s)
  6026  }
  6027  
  6028  // GoString returns the string representation.
  6029  //
  6030  // API parameter values that are decorated as "sensitive" in the API will not
  6031  // be included in the string output. The member name will be present, but the
  6032  // value will be replaced with "sensitive".
  6033  func (s GetLifecyclePolicyPreviewInput) GoString() string {
  6034  	return s.String()
  6035  }
  6036  
  6037  // Validate inspects the fields of the type to determine if they are valid.
  6038  func (s *GetLifecyclePolicyPreviewInput) Validate() error {
  6039  	invalidParams := request.ErrInvalidParams{Context: "GetLifecyclePolicyPreviewInput"}
  6040  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  6041  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  6042  	}
  6043  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6044  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6045  	}
  6046  	if s.RepositoryName == nil {
  6047  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  6048  	}
  6049  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  6050  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  6051  	}
  6052  	if s.ImageIds != nil {
  6053  		for i, v := range s.ImageIds {
  6054  			if v == nil {
  6055  				continue
  6056  			}
  6057  			if err := v.Validate(); err != nil {
  6058  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageIds", i), err.(request.ErrInvalidParams))
  6059  			}
  6060  		}
  6061  	}
  6062  
  6063  	if invalidParams.Len() > 0 {
  6064  		return invalidParams
  6065  	}
  6066  	return nil
  6067  }
  6068  
  6069  // SetFilter sets the Filter field's value.
  6070  func (s *GetLifecyclePolicyPreviewInput) SetFilter(v *LifecyclePolicyPreviewFilter) *GetLifecyclePolicyPreviewInput {
  6071  	s.Filter = v
  6072  	return s
  6073  }
  6074  
  6075  // SetImageIds sets the ImageIds field's value.
  6076  func (s *GetLifecyclePolicyPreviewInput) SetImageIds(v []*ImageIdentifier) *GetLifecyclePolicyPreviewInput {
  6077  	s.ImageIds = v
  6078  	return s
  6079  }
  6080  
  6081  // SetMaxResults sets the MaxResults field's value.
  6082  func (s *GetLifecyclePolicyPreviewInput) SetMaxResults(v int64) *GetLifecyclePolicyPreviewInput {
  6083  	s.MaxResults = &v
  6084  	return s
  6085  }
  6086  
  6087  // SetNextToken sets the NextToken field's value.
  6088  func (s *GetLifecyclePolicyPreviewInput) SetNextToken(v string) *GetLifecyclePolicyPreviewInput {
  6089  	s.NextToken = &v
  6090  	return s
  6091  }
  6092  
  6093  // SetRegistryId sets the RegistryId field's value.
  6094  func (s *GetLifecyclePolicyPreviewInput) SetRegistryId(v string) *GetLifecyclePolicyPreviewInput {
  6095  	s.RegistryId = &v
  6096  	return s
  6097  }
  6098  
  6099  // SetRepositoryName sets the RepositoryName field's value.
  6100  func (s *GetLifecyclePolicyPreviewInput) SetRepositoryName(v string) *GetLifecyclePolicyPreviewInput {
  6101  	s.RepositoryName = &v
  6102  	return s
  6103  }
  6104  
  6105  type GetLifecyclePolicyPreviewOutput struct {
  6106  	_ struct{} `type:"structure"`
  6107  
  6108  	// The JSON lifecycle policy text.
  6109  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string"`
  6110  
  6111  	// The nextToken value to include in a future GetLifecyclePolicyPreview request.
  6112  	// When the results of a GetLifecyclePolicyPreview request exceed maxResults,
  6113  	// this value can be used to retrieve the next page of results. This value is
  6114  	// null when there are no more results to return.
  6115  	NextToken *string `locationName:"nextToken" type:"string"`
  6116  
  6117  	// The results of the lifecycle policy preview request.
  6118  	PreviewResults []*LifecyclePolicyPreviewResult `locationName:"previewResults" type:"list"`
  6119  
  6120  	// The registry ID associated with the request.
  6121  	RegistryId *string `locationName:"registryId" type:"string"`
  6122  
  6123  	// The repository name associated with the request.
  6124  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  6125  
  6126  	// The status of the lifecycle policy preview request.
  6127  	Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyPreviewStatus"`
  6128  
  6129  	// The list of images that is returned as a result of the action.
  6130  	Summary *LifecyclePolicyPreviewSummary `locationName:"summary" type:"structure"`
  6131  }
  6132  
  6133  // String returns the string representation.
  6134  //
  6135  // API parameter values that are decorated as "sensitive" in the API will not
  6136  // be included in the string output. The member name will be present, but the
  6137  // value will be replaced with "sensitive".
  6138  func (s GetLifecyclePolicyPreviewOutput) String() string {
  6139  	return awsutil.Prettify(s)
  6140  }
  6141  
  6142  // GoString returns the string representation.
  6143  //
  6144  // API parameter values that are decorated as "sensitive" in the API will not
  6145  // be included in the string output. The member name will be present, but the
  6146  // value will be replaced with "sensitive".
  6147  func (s GetLifecyclePolicyPreviewOutput) GoString() string {
  6148  	return s.String()
  6149  }
  6150  
  6151  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
  6152  func (s *GetLifecyclePolicyPreviewOutput) SetLifecyclePolicyText(v string) *GetLifecyclePolicyPreviewOutput {
  6153  	s.LifecyclePolicyText = &v
  6154  	return s
  6155  }
  6156  
  6157  // SetNextToken sets the NextToken field's value.
  6158  func (s *GetLifecyclePolicyPreviewOutput) SetNextToken(v string) *GetLifecyclePolicyPreviewOutput {
  6159  	s.NextToken = &v
  6160  	return s
  6161  }
  6162  
  6163  // SetPreviewResults sets the PreviewResults field's value.
  6164  func (s *GetLifecyclePolicyPreviewOutput) SetPreviewResults(v []*LifecyclePolicyPreviewResult) *GetLifecyclePolicyPreviewOutput {
  6165  	s.PreviewResults = v
  6166  	return s
  6167  }
  6168  
  6169  // SetRegistryId sets the RegistryId field's value.
  6170  func (s *GetLifecyclePolicyPreviewOutput) SetRegistryId(v string) *GetLifecyclePolicyPreviewOutput {
  6171  	s.RegistryId = &v
  6172  	return s
  6173  }
  6174  
  6175  // SetRepositoryName sets the RepositoryName field's value.
  6176  func (s *GetLifecyclePolicyPreviewOutput) SetRepositoryName(v string) *GetLifecyclePolicyPreviewOutput {
  6177  	s.RepositoryName = &v
  6178  	return s
  6179  }
  6180  
  6181  // SetStatus sets the Status field's value.
  6182  func (s *GetLifecyclePolicyPreviewOutput) SetStatus(v string) *GetLifecyclePolicyPreviewOutput {
  6183  	s.Status = &v
  6184  	return s
  6185  }
  6186  
  6187  // SetSummary sets the Summary field's value.
  6188  func (s *GetLifecyclePolicyPreviewOutput) SetSummary(v *LifecyclePolicyPreviewSummary) *GetLifecyclePolicyPreviewOutput {
  6189  	s.Summary = v
  6190  	return s
  6191  }
  6192  
  6193  type GetRegistryPolicyInput struct {
  6194  	_ struct{} `type:"structure"`
  6195  }
  6196  
  6197  // String returns the string representation.
  6198  //
  6199  // API parameter values that are decorated as "sensitive" in the API will not
  6200  // be included in the string output. The member name will be present, but the
  6201  // value will be replaced with "sensitive".
  6202  func (s GetRegistryPolicyInput) String() string {
  6203  	return awsutil.Prettify(s)
  6204  }
  6205  
  6206  // GoString returns the string representation.
  6207  //
  6208  // API parameter values that are decorated as "sensitive" in the API will not
  6209  // be included in the string output. The member name will be present, but the
  6210  // value will be replaced with "sensitive".
  6211  func (s GetRegistryPolicyInput) GoString() string {
  6212  	return s.String()
  6213  }
  6214  
  6215  type GetRegistryPolicyOutput struct {
  6216  	_ struct{} `type:"structure"`
  6217  
  6218  	// The JSON text of the permissions policy for a registry.
  6219  	PolicyText *string `locationName:"policyText" type:"string"`
  6220  
  6221  	// The ID of the registry.
  6222  	RegistryId *string `locationName:"registryId" type:"string"`
  6223  }
  6224  
  6225  // String returns the string representation.
  6226  //
  6227  // API parameter values that are decorated as "sensitive" in the API will not
  6228  // be included in the string output. The member name will be present, but the
  6229  // value will be replaced with "sensitive".
  6230  func (s GetRegistryPolicyOutput) String() string {
  6231  	return awsutil.Prettify(s)
  6232  }
  6233  
  6234  // GoString returns the string representation.
  6235  //
  6236  // API parameter values that are decorated as "sensitive" in the API will not
  6237  // be included in the string output. The member name will be present, but the
  6238  // value will be replaced with "sensitive".
  6239  func (s GetRegistryPolicyOutput) GoString() string {
  6240  	return s.String()
  6241  }
  6242  
  6243  // SetPolicyText sets the PolicyText field's value.
  6244  func (s *GetRegistryPolicyOutput) SetPolicyText(v string) *GetRegistryPolicyOutput {
  6245  	s.PolicyText = &v
  6246  	return s
  6247  }
  6248  
  6249  // SetRegistryId sets the RegistryId field's value.
  6250  func (s *GetRegistryPolicyOutput) SetRegistryId(v string) *GetRegistryPolicyOutput {
  6251  	s.RegistryId = &v
  6252  	return s
  6253  }
  6254  
  6255  type GetRepositoryPolicyInput struct {
  6256  	_ struct{} `type:"structure"`
  6257  
  6258  	// The Amazon Web Services account ID associated with the registry that contains
  6259  	// the repository. If you do not specify a registry, the default registry is
  6260  	// assumed.
  6261  	RegistryId *string `locationName:"registryId" type:"string"`
  6262  
  6263  	// The name of the repository with the policy to retrieve.
  6264  	//
  6265  	// RepositoryName is a required field
  6266  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  6267  }
  6268  
  6269  // String returns the string representation.
  6270  //
  6271  // API parameter values that are decorated as "sensitive" in the API will not
  6272  // be included in the string output. The member name will be present, but the
  6273  // value will be replaced with "sensitive".
  6274  func (s GetRepositoryPolicyInput) String() string {
  6275  	return awsutil.Prettify(s)
  6276  }
  6277  
  6278  // GoString returns the string representation.
  6279  //
  6280  // API parameter values that are decorated as "sensitive" in the API will not
  6281  // be included in the string output. The member name will be present, but the
  6282  // value will be replaced with "sensitive".
  6283  func (s GetRepositoryPolicyInput) GoString() string {
  6284  	return s.String()
  6285  }
  6286  
  6287  // Validate inspects the fields of the type to determine if they are valid.
  6288  func (s *GetRepositoryPolicyInput) Validate() error {
  6289  	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryPolicyInput"}
  6290  	if s.RepositoryName == nil {
  6291  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  6292  	}
  6293  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  6294  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  6295  	}
  6296  
  6297  	if invalidParams.Len() > 0 {
  6298  		return invalidParams
  6299  	}
  6300  	return nil
  6301  }
  6302  
  6303  // SetRegistryId sets the RegistryId field's value.
  6304  func (s *GetRepositoryPolicyInput) SetRegistryId(v string) *GetRepositoryPolicyInput {
  6305  	s.RegistryId = &v
  6306  	return s
  6307  }
  6308  
  6309  // SetRepositoryName sets the RepositoryName field's value.
  6310  func (s *GetRepositoryPolicyInput) SetRepositoryName(v string) *GetRepositoryPolicyInput {
  6311  	s.RepositoryName = &v
  6312  	return s
  6313  }
  6314  
  6315  type GetRepositoryPolicyOutput struct {
  6316  	_ struct{} `type:"structure"`
  6317  
  6318  	// The JSON repository policy text associated with the repository.
  6319  	PolicyText *string `locationName:"policyText" type:"string"`
  6320  
  6321  	// The registry ID associated with the request.
  6322  	RegistryId *string `locationName:"registryId" type:"string"`
  6323  
  6324  	// The repository name associated with the request.
  6325  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  6326  }
  6327  
  6328  // String returns the string representation.
  6329  //
  6330  // API parameter values that are decorated as "sensitive" in the API will not
  6331  // be included in the string output. The member name will be present, but the
  6332  // value will be replaced with "sensitive".
  6333  func (s GetRepositoryPolicyOutput) String() string {
  6334  	return awsutil.Prettify(s)
  6335  }
  6336  
  6337  // GoString returns the string representation.
  6338  //
  6339  // API parameter values that are decorated as "sensitive" in the API will not
  6340  // be included in the string output. The member name will be present, but the
  6341  // value will be replaced with "sensitive".
  6342  func (s GetRepositoryPolicyOutput) GoString() string {
  6343  	return s.String()
  6344  }
  6345  
  6346  // SetPolicyText sets the PolicyText field's value.
  6347  func (s *GetRepositoryPolicyOutput) SetPolicyText(v string) *GetRepositoryPolicyOutput {
  6348  	s.PolicyText = &v
  6349  	return s
  6350  }
  6351  
  6352  // SetRegistryId sets the RegistryId field's value.
  6353  func (s *GetRepositoryPolicyOutput) SetRegistryId(v string) *GetRepositoryPolicyOutput {
  6354  	s.RegistryId = &v
  6355  	return s
  6356  }
  6357  
  6358  // SetRepositoryName sets the RepositoryName field's value.
  6359  func (s *GetRepositoryPolicyOutput) SetRepositoryName(v string) *GetRepositoryPolicyOutput {
  6360  	s.RepositoryName = &v
  6361  	return s
  6362  }
  6363  
  6364  // An object representing an Amazon ECR image.
  6365  type Image struct {
  6366  	_ struct{} `type:"structure"`
  6367  
  6368  	// An object containing the image tag and image digest associated with an image.
  6369  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
  6370  
  6371  	// The image manifest associated with the image.
  6372  	ImageManifest *string `locationName:"imageManifest" min:"1" type:"string"`
  6373  
  6374  	// The manifest media type of the image.
  6375  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  6376  
  6377  	// The Amazon Web Services account ID associated with the registry containing
  6378  	// the image.
  6379  	RegistryId *string `locationName:"registryId" type:"string"`
  6380  
  6381  	// The name of the repository associated with the image.
  6382  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  6383  }
  6384  
  6385  // String returns the string representation.
  6386  //
  6387  // API parameter values that are decorated as "sensitive" in the API will not
  6388  // be included in the string output. The member name will be present, but the
  6389  // value will be replaced with "sensitive".
  6390  func (s Image) String() string {
  6391  	return awsutil.Prettify(s)
  6392  }
  6393  
  6394  // GoString returns the string representation.
  6395  //
  6396  // API parameter values that are decorated as "sensitive" in the API will not
  6397  // be included in the string output. The member name will be present, but the
  6398  // value will be replaced with "sensitive".
  6399  func (s Image) GoString() string {
  6400  	return s.String()
  6401  }
  6402  
  6403  // SetImageId sets the ImageId field's value.
  6404  func (s *Image) SetImageId(v *ImageIdentifier) *Image {
  6405  	s.ImageId = v
  6406  	return s
  6407  }
  6408  
  6409  // SetImageManifest sets the ImageManifest field's value.
  6410  func (s *Image) SetImageManifest(v string) *Image {
  6411  	s.ImageManifest = &v
  6412  	return s
  6413  }
  6414  
  6415  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  6416  func (s *Image) SetImageManifestMediaType(v string) *Image {
  6417  	s.ImageManifestMediaType = &v
  6418  	return s
  6419  }
  6420  
  6421  // SetRegistryId sets the RegistryId field's value.
  6422  func (s *Image) SetRegistryId(v string) *Image {
  6423  	s.RegistryId = &v
  6424  	return s
  6425  }
  6426  
  6427  // SetRepositoryName sets the RepositoryName field's value.
  6428  func (s *Image) SetRepositoryName(v string) *Image {
  6429  	s.RepositoryName = &v
  6430  	return s
  6431  }
  6432  
  6433  // The specified image has already been pushed, and there were no changes to
  6434  // the manifest or image tag after the last push.
  6435  type ImageAlreadyExistsException struct {
  6436  	_            struct{}                  `type:"structure"`
  6437  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6438  
  6439  	// The error message associated with the exception.
  6440  	Message_ *string `locationName:"message" type:"string"`
  6441  }
  6442  
  6443  // String returns the string representation.
  6444  //
  6445  // API parameter values that are decorated as "sensitive" in the API will not
  6446  // be included in the string output. The member name will be present, but the
  6447  // value will be replaced with "sensitive".
  6448  func (s ImageAlreadyExistsException) String() string {
  6449  	return awsutil.Prettify(s)
  6450  }
  6451  
  6452  // GoString returns the string representation.
  6453  //
  6454  // API parameter values that are decorated as "sensitive" in the API will not
  6455  // be included in the string output. The member name will be present, but the
  6456  // value will be replaced with "sensitive".
  6457  func (s ImageAlreadyExistsException) GoString() string {
  6458  	return s.String()
  6459  }
  6460  
  6461  func newErrorImageAlreadyExistsException(v protocol.ResponseMetadata) error {
  6462  	return &ImageAlreadyExistsException{
  6463  		RespMetadata: v,
  6464  	}
  6465  }
  6466  
  6467  // Code returns the exception type name.
  6468  func (s *ImageAlreadyExistsException) Code() string {
  6469  	return "ImageAlreadyExistsException"
  6470  }
  6471  
  6472  // Message returns the exception's message.
  6473  func (s *ImageAlreadyExistsException) Message() string {
  6474  	if s.Message_ != nil {
  6475  		return *s.Message_
  6476  	}
  6477  	return ""
  6478  }
  6479  
  6480  // OrigErr always returns nil, satisfies awserr.Error interface.
  6481  func (s *ImageAlreadyExistsException) OrigErr() error {
  6482  	return nil
  6483  }
  6484  
  6485  func (s *ImageAlreadyExistsException) Error() string {
  6486  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6487  }
  6488  
  6489  // Status code returns the HTTP status code for the request's response error.
  6490  func (s *ImageAlreadyExistsException) StatusCode() int {
  6491  	return s.RespMetadata.StatusCode
  6492  }
  6493  
  6494  // RequestID returns the service's response RequestID for request.
  6495  func (s *ImageAlreadyExistsException) RequestID() string {
  6496  	return s.RespMetadata.RequestID
  6497  }
  6498  
  6499  // An object that describes an image returned by a DescribeImages operation.
  6500  type ImageDetail struct {
  6501  	_ struct{} `type:"structure"`
  6502  
  6503  	// The artifact media type of the image.
  6504  	ArtifactMediaType *string `locationName:"artifactMediaType" type:"string"`
  6505  
  6506  	// The sha256 digest of the image manifest.
  6507  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  6508  
  6509  	// The media type of the image manifest.
  6510  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  6511  
  6512  	// The date and time, expressed in standard JavaScript date format, at which
  6513  	// the current image was pushed to the repository.
  6514  	ImagePushedAt *time.Time `locationName:"imagePushedAt" type:"timestamp"`
  6515  
  6516  	// A summary of the last completed image scan.
  6517  	ImageScanFindingsSummary *ImageScanFindingsSummary `locationName:"imageScanFindingsSummary" type:"structure"`
  6518  
  6519  	// The current state of the scan.
  6520  	ImageScanStatus *ImageScanStatus `locationName:"imageScanStatus" type:"structure"`
  6521  
  6522  	// The size, in bytes, of the image in the repository.
  6523  	//
  6524  	// If the image is a manifest list, this will be the max size of all manifests
  6525  	// in the list.
  6526  	//
  6527  	// Beginning with Docker version 1.9, the Docker client compresses image layers
  6528  	// before pushing them to a V2 Docker registry. The output of the docker images
  6529  	// command shows the uncompressed image size, so it may return a larger image
  6530  	// size than the image sizes returned by DescribeImages.
  6531  	ImageSizeInBytes *int64 `locationName:"imageSizeInBytes" type:"long"`
  6532  
  6533  	// The list of tags associated with this image.
  6534  	ImageTags []*string `locationName:"imageTags" type:"list"`
  6535  
  6536  	// The Amazon Web Services account ID associated with the registry to which
  6537  	// this image belongs.
  6538  	RegistryId *string `locationName:"registryId" type:"string"`
  6539  
  6540  	// The name of the repository to which this image belongs.
  6541  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  6542  }
  6543  
  6544  // String returns the string representation.
  6545  //
  6546  // API parameter values that are decorated as "sensitive" in the API will not
  6547  // be included in the string output. The member name will be present, but the
  6548  // value will be replaced with "sensitive".
  6549  func (s ImageDetail) String() string {
  6550  	return awsutil.Prettify(s)
  6551  }
  6552  
  6553  // GoString returns the string representation.
  6554  //
  6555  // API parameter values that are decorated as "sensitive" in the API will not
  6556  // be included in the string output. The member name will be present, but the
  6557  // value will be replaced with "sensitive".
  6558  func (s ImageDetail) GoString() string {
  6559  	return s.String()
  6560  }
  6561  
  6562  // SetArtifactMediaType sets the ArtifactMediaType field's value.
  6563  func (s *ImageDetail) SetArtifactMediaType(v string) *ImageDetail {
  6564  	s.ArtifactMediaType = &v
  6565  	return s
  6566  }
  6567  
  6568  // SetImageDigest sets the ImageDigest field's value.
  6569  func (s *ImageDetail) SetImageDigest(v string) *ImageDetail {
  6570  	s.ImageDigest = &v
  6571  	return s
  6572  }
  6573  
  6574  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  6575  func (s *ImageDetail) SetImageManifestMediaType(v string) *ImageDetail {
  6576  	s.ImageManifestMediaType = &v
  6577  	return s
  6578  }
  6579  
  6580  // SetImagePushedAt sets the ImagePushedAt field's value.
  6581  func (s *ImageDetail) SetImagePushedAt(v time.Time) *ImageDetail {
  6582  	s.ImagePushedAt = &v
  6583  	return s
  6584  }
  6585  
  6586  // SetImageScanFindingsSummary sets the ImageScanFindingsSummary field's value.
  6587  func (s *ImageDetail) SetImageScanFindingsSummary(v *ImageScanFindingsSummary) *ImageDetail {
  6588  	s.ImageScanFindingsSummary = v
  6589  	return s
  6590  }
  6591  
  6592  // SetImageScanStatus sets the ImageScanStatus field's value.
  6593  func (s *ImageDetail) SetImageScanStatus(v *ImageScanStatus) *ImageDetail {
  6594  	s.ImageScanStatus = v
  6595  	return s
  6596  }
  6597  
  6598  // SetImageSizeInBytes sets the ImageSizeInBytes field's value.
  6599  func (s *ImageDetail) SetImageSizeInBytes(v int64) *ImageDetail {
  6600  	s.ImageSizeInBytes = &v
  6601  	return s
  6602  }
  6603  
  6604  // SetImageTags sets the ImageTags field's value.
  6605  func (s *ImageDetail) SetImageTags(v []*string) *ImageDetail {
  6606  	s.ImageTags = v
  6607  	return s
  6608  }
  6609  
  6610  // SetRegistryId sets the RegistryId field's value.
  6611  func (s *ImageDetail) SetRegistryId(v string) *ImageDetail {
  6612  	s.RegistryId = &v
  6613  	return s
  6614  }
  6615  
  6616  // SetRepositoryName sets the RepositoryName field's value.
  6617  func (s *ImageDetail) SetRepositoryName(v string) *ImageDetail {
  6618  	s.RepositoryName = &v
  6619  	return s
  6620  }
  6621  
  6622  // The specified image digest does not match the digest that Amazon ECR calculated
  6623  // for the image.
  6624  type ImageDigestDoesNotMatchException struct {
  6625  	_            struct{}                  `type:"structure"`
  6626  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6627  
  6628  	Message_ *string `locationName:"message" type:"string"`
  6629  }
  6630  
  6631  // String returns the string representation.
  6632  //
  6633  // API parameter values that are decorated as "sensitive" in the API will not
  6634  // be included in the string output. The member name will be present, but the
  6635  // value will be replaced with "sensitive".
  6636  func (s ImageDigestDoesNotMatchException) String() string {
  6637  	return awsutil.Prettify(s)
  6638  }
  6639  
  6640  // GoString returns the string representation.
  6641  //
  6642  // API parameter values that are decorated as "sensitive" in the API will not
  6643  // be included in the string output. The member name will be present, but the
  6644  // value will be replaced with "sensitive".
  6645  func (s ImageDigestDoesNotMatchException) GoString() string {
  6646  	return s.String()
  6647  }
  6648  
  6649  func newErrorImageDigestDoesNotMatchException(v protocol.ResponseMetadata) error {
  6650  	return &ImageDigestDoesNotMatchException{
  6651  		RespMetadata: v,
  6652  	}
  6653  }
  6654  
  6655  // Code returns the exception type name.
  6656  func (s *ImageDigestDoesNotMatchException) Code() string {
  6657  	return "ImageDigestDoesNotMatchException"
  6658  }
  6659  
  6660  // Message returns the exception's message.
  6661  func (s *ImageDigestDoesNotMatchException) Message() string {
  6662  	if s.Message_ != nil {
  6663  		return *s.Message_
  6664  	}
  6665  	return ""
  6666  }
  6667  
  6668  // OrigErr always returns nil, satisfies awserr.Error interface.
  6669  func (s *ImageDigestDoesNotMatchException) OrigErr() error {
  6670  	return nil
  6671  }
  6672  
  6673  func (s *ImageDigestDoesNotMatchException) Error() string {
  6674  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6675  }
  6676  
  6677  // Status code returns the HTTP status code for the request's response error.
  6678  func (s *ImageDigestDoesNotMatchException) StatusCode() int {
  6679  	return s.RespMetadata.StatusCode
  6680  }
  6681  
  6682  // RequestID returns the service's response RequestID for request.
  6683  func (s *ImageDigestDoesNotMatchException) RequestID() string {
  6684  	return s.RespMetadata.RequestID
  6685  }
  6686  
  6687  // An object representing an Amazon ECR image failure.
  6688  type ImageFailure struct {
  6689  	_ struct{} `type:"structure"`
  6690  
  6691  	// The code associated with the failure.
  6692  	FailureCode *string `locationName:"failureCode" type:"string" enum:"ImageFailureCode"`
  6693  
  6694  	// The reason for the failure.
  6695  	FailureReason *string `locationName:"failureReason" type:"string"`
  6696  
  6697  	// The image ID associated with the failure.
  6698  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
  6699  }
  6700  
  6701  // String returns the string representation.
  6702  //
  6703  // API parameter values that are decorated as "sensitive" in the API will not
  6704  // be included in the string output. The member name will be present, but the
  6705  // value will be replaced with "sensitive".
  6706  func (s ImageFailure) String() string {
  6707  	return awsutil.Prettify(s)
  6708  }
  6709  
  6710  // GoString returns the string representation.
  6711  //
  6712  // API parameter values that are decorated as "sensitive" in the API will not
  6713  // be included in the string output. The member name will be present, but the
  6714  // value will be replaced with "sensitive".
  6715  func (s ImageFailure) GoString() string {
  6716  	return s.String()
  6717  }
  6718  
  6719  // SetFailureCode sets the FailureCode field's value.
  6720  func (s *ImageFailure) SetFailureCode(v string) *ImageFailure {
  6721  	s.FailureCode = &v
  6722  	return s
  6723  }
  6724  
  6725  // SetFailureReason sets the FailureReason field's value.
  6726  func (s *ImageFailure) SetFailureReason(v string) *ImageFailure {
  6727  	s.FailureReason = &v
  6728  	return s
  6729  }
  6730  
  6731  // SetImageId sets the ImageId field's value.
  6732  func (s *ImageFailure) SetImageId(v *ImageIdentifier) *ImageFailure {
  6733  	s.ImageId = v
  6734  	return s
  6735  }
  6736  
  6737  // An object with identifying information for an image in an Amazon ECR repository.
  6738  type ImageIdentifier struct {
  6739  	_ struct{} `type:"structure"`
  6740  
  6741  	// The sha256 digest of the image manifest.
  6742  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  6743  
  6744  	// The tag used for the image.
  6745  	ImageTag *string `locationName:"imageTag" min:"1" type:"string"`
  6746  }
  6747  
  6748  // String returns the string representation.
  6749  //
  6750  // API parameter values that are decorated as "sensitive" in the API will not
  6751  // be included in the string output. The member name will be present, but the
  6752  // value will be replaced with "sensitive".
  6753  func (s ImageIdentifier) String() string {
  6754  	return awsutil.Prettify(s)
  6755  }
  6756  
  6757  // GoString returns the string representation.
  6758  //
  6759  // API parameter values that are decorated as "sensitive" in the API will not
  6760  // be included in the string output. The member name will be present, but the
  6761  // value will be replaced with "sensitive".
  6762  func (s ImageIdentifier) GoString() string {
  6763  	return s.String()
  6764  }
  6765  
  6766  // Validate inspects the fields of the type to determine if they are valid.
  6767  func (s *ImageIdentifier) Validate() error {
  6768  	invalidParams := request.ErrInvalidParams{Context: "ImageIdentifier"}
  6769  	if s.ImageTag != nil && len(*s.ImageTag) < 1 {
  6770  		invalidParams.Add(request.NewErrParamMinLen("ImageTag", 1))
  6771  	}
  6772  
  6773  	if invalidParams.Len() > 0 {
  6774  		return invalidParams
  6775  	}
  6776  	return nil
  6777  }
  6778  
  6779  // SetImageDigest sets the ImageDigest field's value.
  6780  func (s *ImageIdentifier) SetImageDigest(v string) *ImageIdentifier {
  6781  	s.ImageDigest = &v
  6782  	return s
  6783  }
  6784  
  6785  // SetImageTag sets the ImageTag field's value.
  6786  func (s *ImageIdentifier) SetImageTag(v string) *ImageIdentifier {
  6787  	s.ImageTag = &v
  6788  	return s
  6789  }
  6790  
  6791  // The image requested does not exist in the specified repository.
  6792  type ImageNotFoundException struct {
  6793  	_            struct{}                  `type:"structure"`
  6794  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6795  
  6796  	Message_ *string `locationName:"message" type:"string"`
  6797  }
  6798  
  6799  // String returns the string representation.
  6800  //
  6801  // API parameter values that are decorated as "sensitive" in the API will not
  6802  // be included in the string output. The member name will be present, but the
  6803  // value will be replaced with "sensitive".
  6804  func (s ImageNotFoundException) String() string {
  6805  	return awsutil.Prettify(s)
  6806  }
  6807  
  6808  // GoString returns the string representation.
  6809  //
  6810  // API parameter values that are decorated as "sensitive" in the API will not
  6811  // be included in the string output. The member name will be present, but the
  6812  // value will be replaced with "sensitive".
  6813  func (s ImageNotFoundException) GoString() string {
  6814  	return s.String()
  6815  }
  6816  
  6817  func newErrorImageNotFoundException(v protocol.ResponseMetadata) error {
  6818  	return &ImageNotFoundException{
  6819  		RespMetadata: v,
  6820  	}
  6821  }
  6822  
  6823  // Code returns the exception type name.
  6824  func (s *ImageNotFoundException) Code() string {
  6825  	return "ImageNotFoundException"
  6826  }
  6827  
  6828  // Message returns the exception's message.
  6829  func (s *ImageNotFoundException) Message() string {
  6830  	if s.Message_ != nil {
  6831  		return *s.Message_
  6832  	}
  6833  	return ""
  6834  }
  6835  
  6836  // OrigErr always returns nil, satisfies awserr.Error interface.
  6837  func (s *ImageNotFoundException) OrigErr() error {
  6838  	return nil
  6839  }
  6840  
  6841  func (s *ImageNotFoundException) Error() string {
  6842  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6843  }
  6844  
  6845  // Status code returns the HTTP status code for the request's response error.
  6846  func (s *ImageNotFoundException) StatusCode() int {
  6847  	return s.RespMetadata.StatusCode
  6848  }
  6849  
  6850  // RequestID returns the service's response RequestID for request.
  6851  func (s *ImageNotFoundException) RequestID() string {
  6852  	return s.RespMetadata.RequestID
  6853  }
  6854  
  6855  // The status of the replication process for an image.
  6856  type ImageReplicationStatus struct {
  6857  	_ struct{} `type:"structure"`
  6858  
  6859  	// The failure code for a replication that has failed.
  6860  	FailureCode *string `locationName:"failureCode" type:"string"`
  6861  
  6862  	// The destination Region for the image replication.
  6863  	Region *string `locationName:"region" min:"2" type:"string"`
  6864  
  6865  	// The AWS account ID associated with the registry to which the image belongs.
  6866  	RegistryId *string `locationName:"registryId" type:"string"`
  6867  
  6868  	// The image replication status.
  6869  	Status *string `locationName:"status" type:"string" enum:"ReplicationStatus"`
  6870  }
  6871  
  6872  // String returns the string representation.
  6873  //
  6874  // API parameter values that are decorated as "sensitive" in the API will not
  6875  // be included in the string output. The member name will be present, but the
  6876  // value will be replaced with "sensitive".
  6877  func (s ImageReplicationStatus) String() string {
  6878  	return awsutil.Prettify(s)
  6879  }
  6880  
  6881  // GoString returns the string representation.
  6882  //
  6883  // API parameter values that are decorated as "sensitive" in the API will not
  6884  // be included in the string output. The member name will be present, but the
  6885  // value will be replaced with "sensitive".
  6886  func (s ImageReplicationStatus) GoString() string {
  6887  	return s.String()
  6888  }
  6889  
  6890  // SetFailureCode sets the FailureCode field's value.
  6891  func (s *ImageReplicationStatus) SetFailureCode(v string) *ImageReplicationStatus {
  6892  	s.FailureCode = &v
  6893  	return s
  6894  }
  6895  
  6896  // SetRegion sets the Region field's value.
  6897  func (s *ImageReplicationStatus) SetRegion(v string) *ImageReplicationStatus {
  6898  	s.Region = &v
  6899  	return s
  6900  }
  6901  
  6902  // SetRegistryId sets the RegistryId field's value.
  6903  func (s *ImageReplicationStatus) SetRegistryId(v string) *ImageReplicationStatus {
  6904  	s.RegistryId = &v
  6905  	return s
  6906  }
  6907  
  6908  // SetStatus sets the Status field's value.
  6909  func (s *ImageReplicationStatus) SetStatus(v string) *ImageReplicationStatus {
  6910  	s.Status = &v
  6911  	return s
  6912  }
  6913  
  6914  // Contains information about an image scan finding.
  6915  type ImageScanFinding struct {
  6916  	_ struct{} `type:"structure"`
  6917  
  6918  	// A collection of attributes of the host from which the finding is generated.
  6919  	Attributes []*Attribute `locationName:"attributes" type:"list"`
  6920  
  6921  	// The description of the finding.
  6922  	Description *string `locationName:"description" type:"string"`
  6923  
  6924  	// The name associated with the finding, usually a CVE number.
  6925  	Name *string `locationName:"name" type:"string"`
  6926  
  6927  	// The finding severity.
  6928  	Severity *string `locationName:"severity" type:"string" enum:"FindingSeverity"`
  6929  
  6930  	// A link containing additional details about the security vulnerability.
  6931  	Uri *string `locationName:"uri" type:"string"`
  6932  }
  6933  
  6934  // String returns the string representation.
  6935  //
  6936  // API parameter values that are decorated as "sensitive" in the API will not
  6937  // be included in the string output. The member name will be present, but the
  6938  // value will be replaced with "sensitive".
  6939  func (s ImageScanFinding) String() string {
  6940  	return awsutil.Prettify(s)
  6941  }
  6942  
  6943  // GoString returns the string representation.
  6944  //
  6945  // API parameter values that are decorated as "sensitive" in the API will not
  6946  // be included in the string output. The member name will be present, but the
  6947  // value will be replaced with "sensitive".
  6948  func (s ImageScanFinding) GoString() string {
  6949  	return s.String()
  6950  }
  6951  
  6952  // SetAttributes sets the Attributes field's value.
  6953  func (s *ImageScanFinding) SetAttributes(v []*Attribute) *ImageScanFinding {
  6954  	s.Attributes = v
  6955  	return s
  6956  }
  6957  
  6958  // SetDescription sets the Description field's value.
  6959  func (s *ImageScanFinding) SetDescription(v string) *ImageScanFinding {
  6960  	s.Description = &v
  6961  	return s
  6962  }
  6963  
  6964  // SetName sets the Name field's value.
  6965  func (s *ImageScanFinding) SetName(v string) *ImageScanFinding {
  6966  	s.Name = &v
  6967  	return s
  6968  }
  6969  
  6970  // SetSeverity sets the Severity field's value.
  6971  func (s *ImageScanFinding) SetSeverity(v string) *ImageScanFinding {
  6972  	s.Severity = &v
  6973  	return s
  6974  }
  6975  
  6976  // SetUri sets the Uri field's value.
  6977  func (s *ImageScanFinding) SetUri(v string) *ImageScanFinding {
  6978  	s.Uri = &v
  6979  	return s
  6980  }
  6981  
  6982  // The details of an image scan.
  6983  type ImageScanFindings struct {
  6984  	_ struct{} `type:"structure"`
  6985  
  6986  	// The image vulnerability counts, sorted by severity.
  6987  	FindingSeverityCounts map[string]*int64 `locationName:"findingSeverityCounts" type:"map"`
  6988  
  6989  	// The findings from the image scan.
  6990  	Findings []*ImageScanFinding `locationName:"findings" type:"list"`
  6991  
  6992  	// The time of the last completed image scan.
  6993  	ImageScanCompletedAt *time.Time `locationName:"imageScanCompletedAt" type:"timestamp"`
  6994  
  6995  	// The time when the vulnerability data was last scanned.
  6996  	VulnerabilitySourceUpdatedAt *time.Time `locationName:"vulnerabilitySourceUpdatedAt" type:"timestamp"`
  6997  }
  6998  
  6999  // String returns the string representation.
  7000  //
  7001  // API parameter values that are decorated as "sensitive" in the API will not
  7002  // be included in the string output. The member name will be present, but the
  7003  // value will be replaced with "sensitive".
  7004  func (s ImageScanFindings) String() string {
  7005  	return awsutil.Prettify(s)
  7006  }
  7007  
  7008  // GoString returns the string representation.
  7009  //
  7010  // API parameter values that are decorated as "sensitive" in the API will not
  7011  // be included in the string output. The member name will be present, but the
  7012  // value will be replaced with "sensitive".
  7013  func (s ImageScanFindings) GoString() string {
  7014  	return s.String()
  7015  }
  7016  
  7017  // SetFindingSeverityCounts sets the FindingSeverityCounts field's value.
  7018  func (s *ImageScanFindings) SetFindingSeverityCounts(v map[string]*int64) *ImageScanFindings {
  7019  	s.FindingSeverityCounts = v
  7020  	return s
  7021  }
  7022  
  7023  // SetFindings sets the Findings field's value.
  7024  func (s *ImageScanFindings) SetFindings(v []*ImageScanFinding) *ImageScanFindings {
  7025  	s.Findings = v
  7026  	return s
  7027  }
  7028  
  7029  // SetImageScanCompletedAt sets the ImageScanCompletedAt field's value.
  7030  func (s *ImageScanFindings) SetImageScanCompletedAt(v time.Time) *ImageScanFindings {
  7031  	s.ImageScanCompletedAt = &v
  7032  	return s
  7033  }
  7034  
  7035  // SetVulnerabilitySourceUpdatedAt sets the VulnerabilitySourceUpdatedAt field's value.
  7036  func (s *ImageScanFindings) SetVulnerabilitySourceUpdatedAt(v time.Time) *ImageScanFindings {
  7037  	s.VulnerabilitySourceUpdatedAt = &v
  7038  	return s
  7039  }
  7040  
  7041  // A summary of the last completed image scan.
  7042  type ImageScanFindingsSummary struct {
  7043  	_ struct{} `type:"structure"`
  7044  
  7045  	// The image vulnerability counts, sorted by severity.
  7046  	FindingSeverityCounts map[string]*int64 `locationName:"findingSeverityCounts" type:"map"`
  7047  
  7048  	// The time of the last completed image scan.
  7049  	ImageScanCompletedAt *time.Time `locationName:"imageScanCompletedAt" type:"timestamp"`
  7050  
  7051  	// The time when the vulnerability data was last scanned.
  7052  	VulnerabilitySourceUpdatedAt *time.Time `locationName:"vulnerabilitySourceUpdatedAt" type:"timestamp"`
  7053  }
  7054  
  7055  // String returns the string representation.
  7056  //
  7057  // API parameter values that are decorated as "sensitive" in the API will not
  7058  // be included in the string output. The member name will be present, but the
  7059  // value will be replaced with "sensitive".
  7060  func (s ImageScanFindingsSummary) String() string {
  7061  	return awsutil.Prettify(s)
  7062  }
  7063  
  7064  // GoString returns the string representation.
  7065  //
  7066  // API parameter values that are decorated as "sensitive" in the API will not
  7067  // be included in the string output. The member name will be present, but the
  7068  // value will be replaced with "sensitive".
  7069  func (s ImageScanFindingsSummary) GoString() string {
  7070  	return s.String()
  7071  }
  7072  
  7073  // SetFindingSeverityCounts sets the FindingSeverityCounts field's value.
  7074  func (s *ImageScanFindingsSummary) SetFindingSeverityCounts(v map[string]*int64) *ImageScanFindingsSummary {
  7075  	s.FindingSeverityCounts = v
  7076  	return s
  7077  }
  7078  
  7079  // SetImageScanCompletedAt sets the ImageScanCompletedAt field's value.
  7080  func (s *ImageScanFindingsSummary) SetImageScanCompletedAt(v time.Time) *ImageScanFindingsSummary {
  7081  	s.ImageScanCompletedAt = &v
  7082  	return s
  7083  }
  7084  
  7085  // SetVulnerabilitySourceUpdatedAt sets the VulnerabilitySourceUpdatedAt field's value.
  7086  func (s *ImageScanFindingsSummary) SetVulnerabilitySourceUpdatedAt(v time.Time) *ImageScanFindingsSummary {
  7087  	s.VulnerabilitySourceUpdatedAt = &v
  7088  	return s
  7089  }
  7090  
  7091  // The current status of an image scan.
  7092  type ImageScanStatus struct {
  7093  	_ struct{} `type:"structure"`
  7094  
  7095  	// The description of the image scan status.
  7096  	Description *string `locationName:"description" type:"string"`
  7097  
  7098  	// The current state of an image scan.
  7099  	Status *string `locationName:"status" type:"string" enum:"ScanStatus"`
  7100  }
  7101  
  7102  // String returns the string representation.
  7103  //
  7104  // API parameter values that are decorated as "sensitive" in the API will not
  7105  // be included in the string output. The member name will be present, but the
  7106  // value will be replaced with "sensitive".
  7107  func (s ImageScanStatus) String() string {
  7108  	return awsutil.Prettify(s)
  7109  }
  7110  
  7111  // GoString returns the string representation.
  7112  //
  7113  // API parameter values that are decorated as "sensitive" in the API will not
  7114  // be included in the string output. The member name will be present, but the
  7115  // value will be replaced with "sensitive".
  7116  func (s ImageScanStatus) GoString() string {
  7117  	return s.String()
  7118  }
  7119  
  7120  // SetDescription sets the Description field's value.
  7121  func (s *ImageScanStatus) SetDescription(v string) *ImageScanStatus {
  7122  	s.Description = &v
  7123  	return s
  7124  }
  7125  
  7126  // SetStatus sets the Status field's value.
  7127  func (s *ImageScanStatus) SetStatus(v string) *ImageScanStatus {
  7128  	s.Status = &v
  7129  	return s
  7130  }
  7131  
  7132  // The image scanning configuration for a repository.
  7133  type ImageScanningConfiguration struct {
  7134  	_ struct{} `type:"structure"`
  7135  
  7136  	// The setting that determines whether images are scanned after being pushed
  7137  	// to a repository. If set to true, images will be scanned after being pushed.
  7138  	// If this parameter is not specified, it will default to false and images will
  7139  	// not be scanned unless a scan is manually started with the API_StartImageScan
  7140  	// (https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_StartImageScan.html)
  7141  	// API.
  7142  	ScanOnPush *bool `locationName:"scanOnPush" type:"boolean"`
  7143  }
  7144  
  7145  // String returns the string representation.
  7146  //
  7147  // API parameter values that are decorated as "sensitive" in the API will not
  7148  // be included in the string output. The member name will be present, but the
  7149  // value will be replaced with "sensitive".
  7150  func (s ImageScanningConfiguration) String() string {
  7151  	return awsutil.Prettify(s)
  7152  }
  7153  
  7154  // GoString returns the string representation.
  7155  //
  7156  // API parameter values that are decorated as "sensitive" in the API will not
  7157  // be included in the string output. The member name will be present, but the
  7158  // value will be replaced with "sensitive".
  7159  func (s ImageScanningConfiguration) GoString() string {
  7160  	return s.String()
  7161  }
  7162  
  7163  // SetScanOnPush sets the ScanOnPush field's value.
  7164  func (s *ImageScanningConfiguration) SetScanOnPush(v bool) *ImageScanningConfiguration {
  7165  	s.ScanOnPush = &v
  7166  	return s
  7167  }
  7168  
  7169  // The specified image is tagged with a tag that already exists. The repository
  7170  // is configured for tag immutability.
  7171  type ImageTagAlreadyExistsException struct {
  7172  	_            struct{}                  `type:"structure"`
  7173  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7174  
  7175  	Message_ *string `locationName:"message" type:"string"`
  7176  }
  7177  
  7178  // String returns the string representation.
  7179  //
  7180  // API parameter values that are decorated as "sensitive" in the API will not
  7181  // be included in the string output. The member name will be present, but the
  7182  // value will be replaced with "sensitive".
  7183  func (s ImageTagAlreadyExistsException) String() string {
  7184  	return awsutil.Prettify(s)
  7185  }
  7186  
  7187  // GoString returns the string representation.
  7188  //
  7189  // API parameter values that are decorated as "sensitive" in the API will not
  7190  // be included in the string output. The member name will be present, but the
  7191  // value will be replaced with "sensitive".
  7192  func (s ImageTagAlreadyExistsException) GoString() string {
  7193  	return s.String()
  7194  }
  7195  
  7196  func newErrorImageTagAlreadyExistsException(v protocol.ResponseMetadata) error {
  7197  	return &ImageTagAlreadyExistsException{
  7198  		RespMetadata: v,
  7199  	}
  7200  }
  7201  
  7202  // Code returns the exception type name.
  7203  func (s *ImageTagAlreadyExistsException) Code() string {
  7204  	return "ImageTagAlreadyExistsException"
  7205  }
  7206  
  7207  // Message returns the exception's message.
  7208  func (s *ImageTagAlreadyExistsException) Message() string {
  7209  	if s.Message_ != nil {
  7210  		return *s.Message_
  7211  	}
  7212  	return ""
  7213  }
  7214  
  7215  // OrigErr always returns nil, satisfies awserr.Error interface.
  7216  func (s *ImageTagAlreadyExistsException) OrigErr() error {
  7217  	return nil
  7218  }
  7219  
  7220  func (s *ImageTagAlreadyExistsException) Error() string {
  7221  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7222  }
  7223  
  7224  // Status code returns the HTTP status code for the request's response error.
  7225  func (s *ImageTagAlreadyExistsException) StatusCode() int {
  7226  	return s.RespMetadata.StatusCode
  7227  }
  7228  
  7229  // RequestID returns the service's response RequestID for request.
  7230  func (s *ImageTagAlreadyExistsException) RequestID() string {
  7231  	return s.RespMetadata.RequestID
  7232  }
  7233  
  7234  type InitiateLayerUploadInput struct {
  7235  	_ struct{} `type:"structure"`
  7236  
  7237  	// The Amazon Web Services account ID associated with the registry to which
  7238  	// you intend to upload layers. If you do not specify a registry, the default
  7239  	// registry is assumed.
  7240  	RegistryId *string `locationName:"registryId" type:"string"`
  7241  
  7242  	// The name of the repository to which you intend to upload layers.
  7243  	//
  7244  	// RepositoryName is a required field
  7245  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  7246  }
  7247  
  7248  // String returns the string representation.
  7249  //
  7250  // API parameter values that are decorated as "sensitive" in the API will not
  7251  // be included in the string output. The member name will be present, but the
  7252  // value will be replaced with "sensitive".
  7253  func (s InitiateLayerUploadInput) String() string {
  7254  	return awsutil.Prettify(s)
  7255  }
  7256  
  7257  // GoString returns the string representation.
  7258  //
  7259  // API parameter values that are decorated as "sensitive" in the API will not
  7260  // be included in the string output. The member name will be present, but the
  7261  // value will be replaced with "sensitive".
  7262  func (s InitiateLayerUploadInput) GoString() string {
  7263  	return s.String()
  7264  }
  7265  
  7266  // Validate inspects the fields of the type to determine if they are valid.
  7267  func (s *InitiateLayerUploadInput) Validate() error {
  7268  	invalidParams := request.ErrInvalidParams{Context: "InitiateLayerUploadInput"}
  7269  	if s.RepositoryName == nil {
  7270  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  7271  	}
  7272  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  7273  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  7274  	}
  7275  
  7276  	if invalidParams.Len() > 0 {
  7277  		return invalidParams
  7278  	}
  7279  	return nil
  7280  }
  7281  
  7282  // SetRegistryId sets the RegistryId field's value.
  7283  func (s *InitiateLayerUploadInput) SetRegistryId(v string) *InitiateLayerUploadInput {
  7284  	s.RegistryId = &v
  7285  	return s
  7286  }
  7287  
  7288  // SetRepositoryName sets the RepositoryName field's value.
  7289  func (s *InitiateLayerUploadInput) SetRepositoryName(v string) *InitiateLayerUploadInput {
  7290  	s.RepositoryName = &v
  7291  	return s
  7292  }
  7293  
  7294  type InitiateLayerUploadOutput struct {
  7295  	_ struct{} `type:"structure"`
  7296  
  7297  	// The size, in bytes, that Amazon ECR expects future layer part uploads to
  7298  	// be.
  7299  	PartSize *int64 `locationName:"partSize" type:"long"`
  7300  
  7301  	// The upload ID for the layer upload. This parameter is passed to further UploadLayerPart
  7302  	// and CompleteLayerUpload operations.
  7303  	UploadId *string `locationName:"uploadId" type:"string"`
  7304  }
  7305  
  7306  // String returns the string representation.
  7307  //
  7308  // API parameter values that are decorated as "sensitive" in the API will not
  7309  // be included in the string output. The member name will be present, but the
  7310  // value will be replaced with "sensitive".
  7311  func (s InitiateLayerUploadOutput) String() string {
  7312  	return awsutil.Prettify(s)
  7313  }
  7314  
  7315  // GoString returns the string representation.
  7316  //
  7317  // API parameter values that are decorated as "sensitive" in the API will not
  7318  // be included in the string output. The member name will be present, but the
  7319  // value will be replaced with "sensitive".
  7320  func (s InitiateLayerUploadOutput) GoString() string {
  7321  	return s.String()
  7322  }
  7323  
  7324  // SetPartSize sets the PartSize field's value.
  7325  func (s *InitiateLayerUploadOutput) SetPartSize(v int64) *InitiateLayerUploadOutput {
  7326  	s.PartSize = &v
  7327  	return s
  7328  }
  7329  
  7330  // SetUploadId sets the UploadId field's value.
  7331  func (s *InitiateLayerUploadOutput) SetUploadId(v string) *InitiateLayerUploadOutput {
  7332  	s.UploadId = &v
  7333  	return s
  7334  }
  7335  
  7336  // The layer digest calculation performed by Amazon ECR upon receipt of the
  7337  // image layer does not match the digest specified.
  7338  type InvalidLayerException struct {
  7339  	_            struct{}                  `type:"structure"`
  7340  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7341  
  7342  	// The error message associated with the exception.
  7343  	Message_ *string `locationName:"message" type:"string"`
  7344  }
  7345  
  7346  // String returns the string representation.
  7347  //
  7348  // API parameter values that are decorated as "sensitive" in the API will not
  7349  // be included in the string output. The member name will be present, but the
  7350  // value will be replaced with "sensitive".
  7351  func (s InvalidLayerException) String() string {
  7352  	return awsutil.Prettify(s)
  7353  }
  7354  
  7355  // GoString returns the string representation.
  7356  //
  7357  // API parameter values that are decorated as "sensitive" in the API will not
  7358  // be included in the string output. The member name will be present, but the
  7359  // value will be replaced with "sensitive".
  7360  func (s InvalidLayerException) GoString() string {
  7361  	return s.String()
  7362  }
  7363  
  7364  func newErrorInvalidLayerException(v protocol.ResponseMetadata) error {
  7365  	return &InvalidLayerException{
  7366  		RespMetadata: v,
  7367  	}
  7368  }
  7369  
  7370  // Code returns the exception type name.
  7371  func (s *InvalidLayerException) Code() string {
  7372  	return "InvalidLayerException"
  7373  }
  7374  
  7375  // Message returns the exception's message.
  7376  func (s *InvalidLayerException) Message() string {
  7377  	if s.Message_ != nil {
  7378  		return *s.Message_
  7379  	}
  7380  	return ""
  7381  }
  7382  
  7383  // OrigErr always returns nil, satisfies awserr.Error interface.
  7384  func (s *InvalidLayerException) OrigErr() error {
  7385  	return nil
  7386  }
  7387  
  7388  func (s *InvalidLayerException) Error() string {
  7389  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7390  }
  7391  
  7392  // Status code returns the HTTP status code for the request's response error.
  7393  func (s *InvalidLayerException) StatusCode() int {
  7394  	return s.RespMetadata.StatusCode
  7395  }
  7396  
  7397  // RequestID returns the service's response RequestID for request.
  7398  func (s *InvalidLayerException) RequestID() string {
  7399  	return s.RespMetadata.RequestID
  7400  }
  7401  
  7402  // The layer part size is not valid, or the first byte specified is not consecutive
  7403  // to the last byte of a previous layer part upload.
  7404  type InvalidLayerPartException struct {
  7405  	_            struct{}                  `type:"structure"`
  7406  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7407  
  7408  	// The last valid byte received from the layer part upload that is associated
  7409  	// with the exception.
  7410  	LastValidByteReceived *int64 `locationName:"lastValidByteReceived" type:"long"`
  7411  
  7412  	// The error message associated with the exception.
  7413  	Message_ *string `locationName:"message" type:"string"`
  7414  
  7415  	// The registry ID associated with the exception.
  7416  	RegistryId *string `locationName:"registryId" type:"string"`
  7417  
  7418  	// The repository name associated with the exception.
  7419  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  7420  
  7421  	// The upload ID associated with the exception.
  7422  	UploadId *string `locationName:"uploadId" type:"string"`
  7423  }
  7424  
  7425  // String returns the string representation.
  7426  //
  7427  // API parameter values that are decorated as "sensitive" in the API will not
  7428  // be included in the string output. The member name will be present, but the
  7429  // value will be replaced with "sensitive".
  7430  func (s InvalidLayerPartException) String() string {
  7431  	return awsutil.Prettify(s)
  7432  }
  7433  
  7434  // GoString returns the string representation.
  7435  //
  7436  // API parameter values that are decorated as "sensitive" in the API will not
  7437  // be included in the string output. The member name will be present, but the
  7438  // value will be replaced with "sensitive".
  7439  func (s InvalidLayerPartException) GoString() string {
  7440  	return s.String()
  7441  }
  7442  
  7443  func newErrorInvalidLayerPartException(v protocol.ResponseMetadata) error {
  7444  	return &InvalidLayerPartException{
  7445  		RespMetadata: v,
  7446  	}
  7447  }
  7448  
  7449  // Code returns the exception type name.
  7450  func (s *InvalidLayerPartException) Code() string {
  7451  	return "InvalidLayerPartException"
  7452  }
  7453  
  7454  // Message returns the exception's message.
  7455  func (s *InvalidLayerPartException) Message() string {
  7456  	if s.Message_ != nil {
  7457  		return *s.Message_
  7458  	}
  7459  	return ""
  7460  }
  7461  
  7462  // OrigErr always returns nil, satisfies awserr.Error interface.
  7463  func (s *InvalidLayerPartException) OrigErr() error {
  7464  	return nil
  7465  }
  7466  
  7467  func (s *InvalidLayerPartException) Error() string {
  7468  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7469  }
  7470  
  7471  // Status code returns the HTTP status code for the request's response error.
  7472  func (s *InvalidLayerPartException) StatusCode() int {
  7473  	return s.RespMetadata.StatusCode
  7474  }
  7475  
  7476  // RequestID returns the service's response RequestID for request.
  7477  func (s *InvalidLayerPartException) RequestID() string {
  7478  	return s.RespMetadata.RequestID
  7479  }
  7480  
  7481  // The specified parameter is invalid. Review the available parameters for the
  7482  // API request.
  7483  type InvalidParameterException struct {
  7484  	_            struct{}                  `type:"structure"`
  7485  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7486  
  7487  	// The error message associated with the exception.
  7488  	Message_ *string `locationName:"message" type:"string"`
  7489  }
  7490  
  7491  // String returns the string representation.
  7492  //
  7493  // API parameter values that are decorated as "sensitive" in the API will not
  7494  // be included in the string output. The member name will be present, but the
  7495  // value will be replaced with "sensitive".
  7496  func (s InvalidParameterException) String() string {
  7497  	return awsutil.Prettify(s)
  7498  }
  7499  
  7500  // GoString returns the string representation.
  7501  //
  7502  // API parameter values that are decorated as "sensitive" in the API will not
  7503  // be included in the string output. The member name will be present, but the
  7504  // value will be replaced with "sensitive".
  7505  func (s InvalidParameterException) GoString() string {
  7506  	return s.String()
  7507  }
  7508  
  7509  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
  7510  	return &InvalidParameterException{
  7511  		RespMetadata: v,
  7512  	}
  7513  }
  7514  
  7515  // Code returns the exception type name.
  7516  func (s *InvalidParameterException) Code() string {
  7517  	return "InvalidParameterException"
  7518  }
  7519  
  7520  // Message returns the exception's message.
  7521  func (s *InvalidParameterException) Message() string {
  7522  	if s.Message_ != nil {
  7523  		return *s.Message_
  7524  	}
  7525  	return ""
  7526  }
  7527  
  7528  // OrigErr always returns nil, satisfies awserr.Error interface.
  7529  func (s *InvalidParameterException) OrigErr() error {
  7530  	return nil
  7531  }
  7532  
  7533  func (s *InvalidParameterException) Error() string {
  7534  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7535  }
  7536  
  7537  // Status code returns the HTTP status code for the request's response error.
  7538  func (s *InvalidParameterException) StatusCode() int {
  7539  	return s.RespMetadata.StatusCode
  7540  }
  7541  
  7542  // RequestID returns the service's response RequestID for request.
  7543  func (s *InvalidParameterException) RequestID() string {
  7544  	return s.RespMetadata.RequestID
  7545  }
  7546  
  7547  // An invalid parameter has been specified. Tag keys can have a maximum character
  7548  // length of 128 characters, and tag values can have a maximum length of 256
  7549  // characters.
  7550  type InvalidTagParameterException struct {
  7551  	_            struct{}                  `type:"structure"`
  7552  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7553  
  7554  	Message_ *string `locationName:"message" type:"string"`
  7555  }
  7556  
  7557  // String returns the string representation.
  7558  //
  7559  // API parameter values that are decorated as "sensitive" in the API will not
  7560  // be included in the string output. The member name will be present, but the
  7561  // value will be replaced with "sensitive".
  7562  func (s InvalidTagParameterException) String() string {
  7563  	return awsutil.Prettify(s)
  7564  }
  7565  
  7566  // GoString returns the string representation.
  7567  //
  7568  // API parameter values that are decorated as "sensitive" in the API will not
  7569  // be included in the string output. The member name will be present, but the
  7570  // value will be replaced with "sensitive".
  7571  func (s InvalidTagParameterException) GoString() string {
  7572  	return s.String()
  7573  }
  7574  
  7575  func newErrorInvalidTagParameterException(v protocol.ResponseMetadata) error {
  7576  	return &InvalidTagParameterException{
  7577  		RespMetadata: v,
  7578  	}
  7579  }
  7580  
  7581  // Code returns the exception type name.
  7582  func (s *InvalidTagParameterException) Code() string {
  7583  	return "InvalidTagParameterException"
  7584  }
  7585  
  7586  // Message returns the exception's message.
  7587  func (s *InvalidTagParameterException) Message() string {
  7588  	if s.Message_ != nil {
  7589  		return *s.Message_
  7590  	}
  7591  	return ""
  7592  }
  7593  
  7594  // OrigErr always returns nil, satisfies awserr.Error interface.
  7595  func (s *InvalidTagParameterException) OrigErr() error {
  7596  	return nil
  7597  }
  7598  
  7599  func (s *InvalidTagParameterException) Error() string {
  7600  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7601  }
  7602  
  7603  // Status code returns the HTTP status code for the request's response error.
  7604  func (s *InvalidTagParameterException) StatusCode() int {
  7605  	return s.RespMetadata.StatusCode
  7606  }
  7607  
  7608  // RequestID returns the service's response RequestID for request.
  7609  func (s *InvalidTagParameterException) RequestID() string {
  7610  	return s.RespMetadata.RequestID
  7611  }
  7612  
  7613  // The operation failed due to a KMS exception.
  7614  type KmsException struct {
  7615  	_            struct{}                  `type:"structure"`
  7616  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7617  
  7618  	// The error code returned by KMS.
  7619  	KmsError *string `locationName:"kmsError" type:"string"`
  7620  
  7621  	Message_ *string `locationName:"message" type:"string"`
  7622  }
  7623  
  7624  // String returns the string representation.
  7625  //
  7626  // API parameter values that are decorated as "sensitive" in the API will not
  7627  // be included in the string output. The member name will be present, but the
  7628  // value will be replaced with "sensitive".
  7629  func (s KmsException) String() string {
  7630  	return awsutil.Prettify(s)
  7631  }
  7632  
  7633  // GoString returns the string representation.
  7634  //
  7635  // API parameter values that are decorated as "sensitive" in the API will not
  7636  // be included in the string output. The member name will be present, but the
  7637  // value will be replaced with "sensitive".
  7638  func (s KmsException) GoString() string {
  7639  	return s.String()
  7640  }
  7641  
  7642  func newErrorKmsException(v protocol.ResponseMetadata) error {
  7643  	return &KmsException{
  7644  		RespMetadata: v,
  7645  	}
  7646  }
  7647  
  7648  // Code returns the exception type name.
  7649  func (s *KmsException) Code() string {
  7650  	return "KmsException"
  7651  }
  7652  
  7653  // Message returns the exception's message.
  7654  func (s *KmsException) Message() string {
  7655  	if s.Message_ != nil {
  7656  		return *s.Message_
  7657  	}
  7658  	return ""
  7659  }
  7660  
  7661  // OrigErr always returns nil, satisfies awserr.Error interface.
  7662  func (s *KmsException) OrigErr() error {
  7663  	return nil
  7664  }
  7665  
  7666  func (s *KmsException) Error() string {
  7667  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7668  }
  7669  
  7670  // Status code returns the HTTP status code for the request's response error.
  7671  func (s *KmsException) StatusCode() int {
  7672  	return s.RespMetadata.StatusCode
  7673  }
  7674  
  7675  // RequestID returns the service's response RequestID for request.
  7676  func (s *KmsException) RequestID() string {
  7677  	return s.RespMetadata.RequestID
  7678  }
  7679  
  7680  // An object representing an Amazon ECR image layer.
  7681  type Layer struct {
  7682  	_ struct{} `type:"structure"`
  7683  
  7684  	// The availability status of the image layer.
  7685  	LayerAvailability *string `locationName:"layerAvailability" type:"string" enum:"LayerAvailability"`
  7686  
  7687  	// The sha256 digest of the image layer.
  7688  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  7689  
  7690  	// The size, in bytes, of the image layer.
  7691  	LayerSize *int64 `locationName:"layerSize" type:"long"`
  7692  
  7693  	// The media type of the layer, such as application/vnd.docker.image.rootfs.diff.tar.gzip
  7694  	// or application/vnd.oci.image.layer.v1.tar+gzip.
  7695  	MediaType *string `locationName:"mediaType" type:"string"`
  7696  }
  7697  
  7698  // String returns the string representation.
  7699  //
  7700  // API parameter values that are decorated as "sensitive" in the API will not
  7701  // be included in the string output. The member name will be present, but the
  7702  // value will be replaced with "sensitive".
  7703  func (s Layer) String() string {
  7704  	return awsutil.Prettify(s)
  7705  }
  7706  
  7707  // GoString returns the string representation.
  7708  //
  7709  // API parameter values that are decorated as "sensitive" in the API will not
  7710  // be included in the string output. The member name will be present, but the
  7711  // value will be replaced with "sensitive".
  7712  func (s Layer) GoString() string {
  7713  	return s.String()
  7714  }
  7715  
  7716  // SetLayerAvailability sets the LayerAvailability field's value.
  7717  func (s *Layer) SetLayerAvailability(v string) *Layer {
  7718  	s.LayerAvailability = &v
  7719  	return s
  7720  }
  7721  
  7722  // SetLayerDigest sets the LayerDigest field's value.
  7723  func (s *Layer) SetLayerDigest(v string) *Layer {
  7724  	s.LayerDigest = &v
  7725  	return s
  7726  }
  7727  
  7728  // SetLayerSize sets the LayerSize field's value.
  7729  func (s *Layer) SetLayerSize(v int64) *Layer {
  7730  	s.LayerSize = &v
  7731  	return s
  7732  }
  7733  
  7734  // SetMediaType sets the MediaType field's value.
  7735  func (s *Layer) SetMediaType(v string) *Layer {
  7736  	s.MediaType = &v
  7737  	return s
  7738  }
  7739  
  7740  // The image layer already exists in the associated repository.
  7741  type LayerAlreadyExistsException struct {
  7742  	_            struct{}                  `type:"structure"`
  7743  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7744  
  7745  	// The error message associated with the exception.
  7746  	Message_ *string `locationName:"message" type:"string"`
  7747  }
  7748  
  7749  // String returns the string representation.
  7750  //
  7751  // API parameter values that are decorated as "sensitive" in the API will not
  7752  // be included in the string output. The member name will be present, but the
  7753  // value will be replaced with "sensitive".
  7754  func (s LayerAlreadyExistsException) String() string {
  7755  	return awsutil.Prettify(s)
  7756  }
  7757  
  7758  // GoString returns the string representation.
  7759  //
  7760  // API parameter values that are decorated as "sensitive" in the API will not
  7761  // be included in the string output. The member name will be present, but the
  7762  // value will be replaced with "sensitive".
  7763  func (s LayerAlreadyExistsException) GoString() string {
  7764  	return s.String()
  7765  }
  7766  
  7767  func newErrorLayerAlreadyExistsException(v protocol.ResponseMetadata) error {
  7768  	return &LayerAlreadyExistsException{
  7769  		RespMetadata: v,
  7770  	}
  7771  }
  7772  
  7773  // Code returns the exception type name.
  7774  func (s *LayerAlreadyExistsException) Code() string {
  7775  	return "LayerAlreadyExistsException"
  7776  }
  7777  
  7778  // Message returns the exception's message.
  7779  func (s *LayerAlreadyExistsException) Message() string {
  7780  	if s.Message_ != nil {
  7781  		return *s.Message_
  7782  	}
  7783  	return ""
  7784  }
  7785  
  7786  // OrigErr always returns nil, satisfies awserr.Error interface.
  7787  func (s *LayerAlreadyExistsException) OrigErr() error {
  7788  	return nil
  7789  }
  7790  
  7791  func (s *LayerAlreadyExistsException) Error() string {
  7792  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7793  }
  7794  
  7795  // Status code returns the HTTP status code for the request's response error.
  7796  func (s *LayerAlreadyExistsException) StatusCode() int {
  7797  	return s.RespMetadata.StatusCode
  7798  }
  7799  
  7800  // RequestID returns the service's response RequestID for request.
  7801  func (s *LayerAlreadyExistsException) RequestID() string {
  7802  	return s.RespMetadata.RequestID
  7803  }
  7804  
  7805  // An object representing an Amazon ECR image layer failure.
  7806  type LayerFailure struct {
  7807  	_ struct{} `type:"structure"`
  7808  
  7809  	// The failure code associated with the failure.
  7810  	FailureCode *string `locationName:"failureCode" type:"string" enum:"LayerFailureCode"`
  7811  
  7812  	// The reason for the failure.
  7813  	FailureReason *string `locationName:"failureReason" type:"string"`
  7814  
  7815  	// The layer digest associated with the failure.
  7816  	LayerDigest *string `locationName:"layerDigest" type:"string"`
  7817  }
  7818  
  7819  // String returns the string representation.
  7820  //
  7821  // API parameter values that are decorated as "sensitive" in the API will not
  7822  // be included in the string output. The member name will be present, but the
  7823  // value will be replaced with "sensitive".
  7824  func (s LayerFailure) String() string {
  7825  	return awsutil.Prettify(s)
  7826  }
  7827  
  7828  // GoString returns the string representation.
  7829  //
  7830  // API parameter values that are decorated as "sensitive" in the API will not
  7831  // be included in the string output. The member name will be present, but the
  7832  // value will be replaced with "sensitive".
  7833  func (s LayerFailure) GoString() string {
  7834  	return s.String()
  7835  }
  7836  
  7837  // SetFailureCode sets the FailureCode field's value.
  7838  func (s *LayerFailure) SetFailureCode(v string) *LayerFailure {
  7839  	s.FailureCode = &v
  7840  	return s
  7841  }
  7842  
  7843  // SetFailureReason sets the FailureReason field's value.
  7844  func (s *LayerFailure) SetFailureReason(v string) *LayerFailure {
  7845  	s.FailureReason = &v
  7846  	return s
  7847  }
  7848  
  7849  // SetLayerDigest sets the LayerDigest field's value.
  7850  func (s *LayerFailure) SetLayerDigest(v string) *LayerFailure {
  7851  	s.LayerDigest = &v
  7852  	return s
  7853  }
  7854  
  7855  // The specified layer is not available because it is not associated with an
  7856  // image. Unassociated image layers may be cleaned up at any time.
  7857  type LayerInaccessibleException struct {
  7858  	_            struct{}                  `type:"structure"`
  7859  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7860  
  7861  	// The error message associated with the exception.
  7862  	Message_ *string `locationName:"message" type:"string"`
  7863  }
  7864  
  7865  // String returns the string representation.
  7866  //
  7867  // API parameter values that are decorated as "sensitive" in the API will not
  7868  // be included in the string output. The member name will be present, but the
  7869  // value will be replaced with "sensitive".
  7870  func (s LayerInaccessibleException) String() string {
  7871  	return awsutil.Prettify(s)
  7872  }
  7873  
  7874  // GoString returns the string representation.
  7875  //
  7876  // API parameter values that are decorated as "sensitive" in the API will not
  7877  // be included in the string output. The member name will be present, but the
  7878  // value will be replaced with "sensitive".
  7879  func (s LayerInaccessibleException) GoString() string {
  7880  	return s.String()
  7881  }
  7882  
  7883  func newErrorLayerInaccessibleException(v protocol.ResponseMetadata) error {
  7884  	return &LayerInaccessibleException{
  7885  		RespMetadata: v,
  7886  	}
  7887  }
  7888  
  7889  // Code returns the exception type name.
  7890  func (s *LayerInaccessibleException) Code() string {
  7891  	return "LayerInaccessibleException"
  7892  }
  7893  
  7894  // Message returns the exception's message.
  7895  func (s *LayerInaccessibleException) Message() string {
  7896  	if s.Message_ != nil {
  7897  		return *s.Message_
  7898  	}
  7899  	return ""
  7900  }
  7901  
  7902  // OrigErr always returns nil, satisfies awserr.Error interface.
  7903  func (s *LayerInaccessibleException) OrigErr() error {
  7904  	return nil
  7905  }
  7906  
  7907  func (s *LayerInaccessibleException) Error() string {
  7908  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7909  }
  7910  
  7911  // Status code returns the HTTP status code for the request's response error.
  7912  func (s *LayerInaccessibleException) StatusCode() int {
  7913  	return s.RespMetadata.StatusCode
  7914  }
  7915  
  7916  // RequestID returns the service's response RequestID for request.
  7917  func (s *LayerInaccessibleException) RequestID() string {
  7918  	return s.RespMetadata.RequestID
  7919  }
  7920  
  7921  // Layer parts must be at least 5 MiB in size.
  7922  type LayerPartTooSmallException struct {
  7923  	_            struct{}                  `type:"structure"`
  7924  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7925  
  7926  	// The error message associated with the exception.
  7927  	Message_ *string `locationName:"message" type:"string"`
  7928  }
  7929  
  7930  // String returns the string representation.
  7931  //
  7932  // API parameter values that are decorated as "sensitive" in the API will not
  7933  // be included in the string output. The member name will be present, but the
  7934  // value will be replaced with "sensitive".
  7935  func (s LayerPartTooSmallException) String() string {
  7936  	return awsutil.Prettify(s)
  7937  }
  7938  
  7939  // GoString returns the string representation.
  7940  //
  7941  // API parameter values that are decorated as "sensitive" in the API will not
  7942  // be included in the string output. The member name will be present, but the
  7943  // value will be replaced with "sensitive".
  7944  func (s LayerPartTooSmallException) GoString() string {
  7945  	return s.String()
  7946  }
  7947  
  7948  func newErrorLayerPartTooSmallException(v protocol.ResponseMetadata) error {
  7949  	return &LayerPartTooSmallException{
  7950  		RespMetadata: v,
  7951  	}
  7952  }
  7953  
  7954  // Code returns the exception type name.
  7955  func (s *LayerPartTooSmallException) Code() string {
  7956  	return "LayerPartTooSmallException"
  7957  }
  7958  
  7959  // Message returns the exception's message.
  7960  func (s *LayerPartTooSmallException) Message() string {
  7961  	if s.Message_ != nil {
  7962  		return *s.Message_
  7963  	}
  7964  	return ""
  7965  }
  7966  
  7967  // OrigErr always returns nil, satisfies awserr.Error interface.
  7968  func (s *LayerPartTooSmallException) OrigErr() error {
  7969  	return nil
  7970  }
  7971  
  7972  func (s *LayerPartTooSmallException) Error() string {
  7973  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7974  }
  7975  
  7976  // Status code returns the HTTP status code for the request's response error.
  7977  func (s *LayerPartTooSmallException) StatusCode() int {
  7978  	return s.RespMetadata.StatusCode
  7979  }
  7980  
  7981  // RequestID returns the service's response RequestID for request.
  7982  func (s *LayerPartTooSmallException) RequestID() string {
  7983  	return s.RespMetadata.RequestID
  7984  }
  7985  
  7986  // The specified layers could not be found, or the specified layer is not valid
  7987  // for this repository.
  7988  type LayersNotFoundException struct {
  7989  	_            struct{}                  `type:"structure"`
  7990  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7991  
  7992  	// The error message associated with the exception.
  7993  	Message_ *string `locationName:"message" type:"string"`
  7994  }
  7995  
  7996  // String returns the string representation.
  7997  //
  7998  // API parameter values that are decorated as "sensitive" in the API will not
  7999  // be included in the string output. The member name will be present, but the
  8000  // value will be replaced with "sensitive".
  8001  func (s LayersNotFoundException) String() string {
  8002  	return awsutil.Prettify(s)
  8003  }
  8004  
  8005  // GoString returns the string representation.
  8006  //
  8007  // API parameter values that are decorated as "sensitive" in the API will not
  8008  // be included in the string output. The member name will be present, but the
  8009  // value will be replaced with "sensitive".
  8010  func (s LayersNotFoundException) GoString() string {
  8011  	return s.String()
  8012  }
  8013  
  8014  func newErrorLayersNotFoundException(v protocol.ResponseMetadata) error {
  8015  	return &LayersNotFoundException{
  8016  		RespMetadata: v,
  8017  	}
  8018  }
  8019  
  8020  // Code returns the exception type name.
  8021  func (s *LayersNotFoundException) Code() string {
  8022  	return "LayersNotFoundException"
  8023  }
  8024  
  8025  // Message returns the exception's message.
  8026  func (s *LayersNotFoundException) Message() string {
  8027  	if s.Message_ != nil {
  8028  		return *s.Message_
  8029  	}
  8030  	return ""
  8031  }
  8032  
  8033  // OrigErr always returns nil, satisfies awserr.Error interface.
  8034  func (s *LayersNotFoundException) OrigErr() error {
  8035  	return nil
  8036  }
  8037  
  8038  func (s *LayersNotFoundException) Error() string {
  8039  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8040  }
  8041  
  8042  // Status code returns the HTTP status code for the request's response error.
  8043  func (s *LayersNotFoundException) StatusCode() int {
  8044  	return s.RespMetadata.StatusCode
  8045  }
  8046  
  8047  // RequestID returns the service's response RequestID for request.
  8048  func (s *LayersNotFoundException) RequestID() string {
  8049  	return s.RespMetadata.RequestID
  8050  }
  8051  
  8052  // The lifecycle policy could not be found, and no policy is set to the repository.
  8053  type LifecyclePolicyNotFoundException struct {
  8054  	_            struct{}                  `type:"structure"`
  8055  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8056  
  8057  	Message_ *string `locationName:"message" type:"string"`
  8058  }
  8059  
  8060  // String returns the string representation.
  8061  //
  8062  // API parameter values that are decorated as "sensitive" in the API will not
  8063  // be included in the string output. The member name will be present, but the
  8064  // value will be replaced with "sensitive".
  8065  func (s LifecyclePolicyNotFoundException) String() string {
  8066  	return awsutil.Prettify(s)
  8067  }
  8068  
  8069  // GoString returns the string representation.
  8070  //
  8071  // API parameter values that are decorated as "sensitive" in the API will not
  8072  // be included in the string output. The member name will be present, but the
  8073  // value will be replaced with "sensitive".
  8074  func (s LifecyclePolicyNotFoundException) GoString() string {
  8075  	return s.String()
  8076  }
  8077  
  8078  func newErrorLifecyclePolicyNotFoundException(v protocol.ResponseMetadata) error {
  8079  	return &LifecyclePolicyNotFoundException{
  8080  		RespMetadata: v,
  8081  	}
  8082  }
  8083  
  8084  // Code returns the exception type name.
  8085  func (s *LifecyclePolicyNotFoundException) Code() string {
  8086  	return "LifecyclePolicyNotFoundException"
  8087  }
  8088  
  8089  // Message returns the exception's message.
  8090  func (s *LifecyclePolicyNotFoundException) Message() string {
  8091  	if s.Message_ != nil {
  8092  		return *s.Message_
  8093  	}
  8094  	return ""
  8095  }
  8096  
  8097  // OrigErr always returns nil, satisfies awserr.Error interface.
  8098  func (s *LifecyclePolicyNotFoundException) OrigErr() error {
  8099  	return nil
  8100  }
  8101  
  8102  func (s *LifecyclePolicyNotFoundException) Error() string {
  8103  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8104  }
  8105  
  8106  // Status code returns the HTTP status code for the request's response error.
  8107  func (s *LifecyclePolicyNotFoundException) StatusCode() int {
  8108  	return s.RespMetadata.StatusCode
  8109  }
  8110  
  8111  // RequestID returns the service's response RequestID for request.
  8112  func (s *LifecyclePolicyNotFoundException) RequestID() string {
  8113  	return s.RespMetadata.RequestID
  8114  }
  8115  
  8116  // The filter for the lifecycle policy preview.
  8117  type LifecyclePolicyPreviewFilter struct {
  8118  	_ struct{} `type:"structure"`
  8119  
  8120  	// The tag status of the image.
  8121  	TagStatus *string `locationName:"tagStatus" type:"string" enum:"TagStatus"`
  8122  }
  8123  
  8124  // String returns the string representation.
  8125  //
  8126  // API parameter values that are decorated as "sensitive" in the API will not
  8127  // be included in the string output. The member name will be present, but the
  8128  // value will be replaced with "sensitive".
  8129  func (s LifecyclePolicyPreviewFilter) String() string {
  8130  	return awsutil.Prettify(s)
  8131  }
  8132  
  8133  // GoString returns the string representation.
  8134  //
  8135  // API parameter values that are decorated as "sensitive" in the API will not
  8136  // be included in the string output. The member name will be present, but the
  8137  // value will be replaced with "sensitive".
  8138  func (s LifecyclePolicyPreviewFilter) GoString() string {
  8139  	return s.String()
  8140  }
  8141  
  8142  // SetTagStatus sets the TagStatus field's value.
  8143  func (s *LifecyclePolicyPreviewFilter) SetTagStatus(v string) *LifecyclePolicyPreviewFilter {
  8144  	s.TagStatus = &v
  8145  	return s
  8146  }
  8147  
  8148  // The previous lifecycle policy preview request has not completed. Wait and
  8149  // try again.
  8150  type LifecyclePolicyPreviewInProgressException struct {
  8151  	_            struct{}                  `type:"structure"`
  8152  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8153  
  8154  	Message_ *string `locationName:"message" type:"string"`
  8155  }
  8156  
  8157  // String returns the string representation.
  8158  //
  8159  // API parameter values that are decorated as "sensitive" in the API will not
  8160  // be included in the string output. The member name will be present, but the
  8161  // value will be replaced with "sensitive".
  8162  func (s LifecyclePolicyPreviewInProgressException) String() string {
  8163  	return awsutil.Prettify(s)
  8164  }
  8165  
  8166  // GoString returns the string representation.
  8167  //
  8168  // API parameter values that are decorated as "sensitive" in the API will not
  8169  // be included in the string output. The member name will be present, but the
  8170  // value will be replaced with "sensitive".
  8171  func (s LifecyclePolicyPreviewInProgressException) GoString() string {
  8172  	return s.String()
  8173  }
  8174  
  8175  func newErrorLifecyclePolicyPreviewInProgressException(v protocol.ResponseMetadata) error {
  8176  	return &LifecyclePolicyPreviewInProgressException{
  8177  		RespMetadata: v,
  8178  	}
  8179  }
  8180  
  8181  // Code returns the exception type name.
  8182  func (s *LifecyclePolicyPreviewInProgressException) Code() string {
  8183  	return "LifecyclePolicyPreviewInProgressException"
  8184  }
  8185  
  8186  // Message returns the exception's message.
  8187  func (s *LifecyclePolicyPreviewInProgressException) Message() string {
  8188  	if s.Message_ != nil {
  8189  		return *s.Message_
  8190  	}
  8191  	return ""
  8192  }
  8193  
  8194  // OrigErr always returns nil, satisfies awserr.Error interface.
  8195  func (s *LifecyclePolicyPreviewInProgressException) OrigErr() error {
  8196  	return nil
  8197  }
  8198  
  8199  func (s *LifecyclePolicyPreviewInProgressException) Error() string {
  8200  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8201  }
  8202  
  8203  // Status code returns the HTTP status code for the request's response error.
  8204  func (s *LifecyclePolicyPreviewInProgressException) StatusCode() int {
  8205  	return s.RespMetadata.StatusCode
  8206  }
  8207  
  8208  // RequestID returns the service's response RequestID for request.
  8209  func (s *LifecyclePolicyPreviewInProgressException) RequestID() string {
  8210  	return s.RespMetadata.RequestID
  8211  }
  8212  
  8213  // There is no dry run for this repository.
  8214  type LifecyclePolicyPreviewNotFoundException struct {
  8215  	_            struct{}                  `type:"structure"`
  8216  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8217  
  8218  	Message_ *string `locationName:"message" type:"string"`
  8219  }
  8220  
  8221  // String returns the string representation.
  8222  //
  8223  // API parameter values that are decorated as "sensitive" in the API will not
  8224  // be included in the string output. The member name will be present, but the
  8225  // value will be replaced with "sensitive".
  8226  func (s LifecyclePolicyPreviewNotFoundException) String() string {
  8227  	return awsutil.Prettify(s)
  8228  }
  8229  
  8230  // GoString returns the string representation.
  8231  //
  8232  // API parameter values that are decorated as "sensitive" in the API will not
  8233  // be included in the string output. The member name will be present, but the
  8234  // value will be replaced with "sensitive".
  8235  func (s LifecyclePolicyPreviewNotFoundException) GoString() string {
  8236  	return s.String()
  8237  }
  8238  
  8239  func newErrorLifecyclePolicyPreviewNotFoundException(v protocol.ResponseMetadata) error {
  8240  	return &LifecyclePolicyPreviewNotFoundException{
  8241  		RespMetadata: v,
  8242  	}
  8243  }
  8244  
  8245  // Code returns the exception type name.
  8246  func (s *LifecyclePolicyPreviewNotFoundException) Code() string {
  8247  	return "LifecyclePolicyPreviewNotFoundException"
  8248  }
  8249  
  8250  // Message returns the exception's message.
  8251  func (s *LifecyclePolicyPreviewNotFoundException) Message() string {
  8252  	if s.Message_ != nil {
  8253  		return *s.Message_
  8254  	}
  8255  	return ""
  8256  }
  8257  
  8258  // OrigErr always returns nil, satisfies awserr.Error interface.
  8259  func (s *LifecyclePolicyPreviewNotFoundException) OrigErr() error {
  8260  	return nil
  8261  }
  8262  
  8263  func (s *LifecyclePolicyPreviewNotFoundException) Error() string {
  8264  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8265  }
  8266  
  8267  // Status code returns the HTTP status code for the request's response error.
  8268  func (s *LifecyclePolicyPreviewNotFoundException) StatusCode() int {
  8269  	return s.RespMetadata.StatusCode
  8270  }
  8271  
  8272  // RequestID returns the service's response RequestID for request.
  8273  func (s *LifecyclePolicyPreviewNotFoundException) RequestID() string {
  8274  	return s.RespMetadata.RequestID
  8275  }
  8276  
  8277  // The result of the lifecycle policy preview.
  8278  type LifecyclePolicyPreviewResult struct {
  8279  	_ struct{} `type:"structure"`
  8280  
  8281  	// The type of action to be taken.
  8282  	Action *LifecyclePolicyRuleAction `locationName:"action" type:"structure"`
  8283  
  8284  	// The priority of the applied rule.
  8285  	AppliedRulePriority *int64 `locationName:"appliedRulePriority" min:"1" type:"integer"`
  8286  
  8287  	// The sha256 digest of the image manifest.
  8288  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  8289  
  8290  	// The date and time, expressed in standard JavaScript date format, at which
  8291  	// the current image was pushed to the repository.
  8292  	ImagePushedAt *time.Time `locationName:"imagePushedAt" type:"timestamp"`
  8293  
  8294  	// The list of tags associated with this image.
  8295  	ImageTags []*string `locationName:"imageTags" type:"list"`
  8296  }
  8297  
  8298  // String returns the string representation.
  8299  //
  8300  // API parameter values that are decorated as "sensitive" in the API will not
  8301  // be included in the string output. The member name will be present, but the
  8302  // value will be replaced with "sensitive".
  8303  func (s LifecyclePolicyPreviewResult) String() string {
  8304  	return awsutil.Prettify(s)
  8305  }
  8306  
  8307  // GoString returns the string representation.
  8308  //
  8309  // API parameter values that are decorated as "sensitive" in the API will not
  8310  // be included in the string output. The member name will be present, but the
  8311  // value will be replaced with "sensitive".
  8312  func (s LifecyclePolicyPreviewResult) GoString() string {
  8313  	return s.String()
  8314  }
  8315  
  8316  // SetAction sets the Action field's value.
  8317  func (s *LifecyclePolicyPreviewResult) SetAction(v *LifecyclePolicyRuleAction) *LifecyclePolicyPreviewResult {
  8318  	s.Action = v
  8319  	return s
  8320  }
  8321  
  8322  // SetAppliedRulePriority sets the AppliedRulePriority field's value.
  8323  func (s *LifecyclePolicyPreviewResult) SetAppliedRulePriority(v int64) *LifecyclePolicyPreviewResult {
  8324  	s.AppliedRulePriority = &v
  8325  	return s
  8326  }
  8327  
  8328  // SetImageDigest sets the ImageDigest field's value.
  8329  func (s *LifecyclePolicyPreviewResult) SetImageDigest(v string) *LifecyclePolicyPreviewResult {
  8330  	s.ImageDigest = &v
  8331  	return s
  8332  }
  8333  
  8334  // SetImagePushedAt sets the ImagePushedAt field's value.
  8335  func (s *LifecyclePolicyPreviewResult) SetImagePushedAt(v time.Time) *LifecyclePolicyPreviewResult {
  8336  	s.ImagePushedAt = &v
  8337  	return s
  8338  }
  8339  
  8340  // SetImageTags sets the ImageTags field's value.
  8341  func (s *LifecyclePolicyPreviewResult) SetImageTags(v []*string) *LifecyclePolicyPreviewResult {
  8342  	s.ImageTags = v
  8343  	return s
  8344  }
  8345  
  8346  // The summary of the lifecycle policy preview request.
  8347  type LifecyclePolicyPreviewSummary struct {
  8348  	_ struct{} `type:"structure"`
  8349  
  8350  	// The number of expiring images.
  8351  	ExpiringImageTotalCount *int64 `locationName:"expiringImageTotalCount" type:"integer"`
  8352  }
  8353  
  8354  // String returns the string representation.
  8355  //
  8356  // API parameter values that are decorated as "sensitive" in the API will not
  8357  // be included in the string output. The member name will be present, but the
  8358  // value will be replaced with "sensitive".
  8359  func (s LifecyclePolicyPreviewSummary) String() string {
  8360  	return awsutil.Prettify(s)
  8361  }
  8362  
  8363  // GoString returns the string representation.
  8364  //
  8365  // API parameter values that are decorated as "sensitive" in the API will not
  8366  // be included in the string output. The member name will be present, but the
  8367  // value will be replaced with "sensitive".
  8368  func (s LifecyclePolicyPreviewSummary) GoString() string {
  8369  	return s.String()
  8370  }
  8371  
  8372  // SetExpiringImageTotalCount sets the ExpiringImageTotalCount field's value.
  8373  func (s *LifecyclePolicyPreviewSummary) SetExpiringImageTotalCount(v int64) *LifecyclePolicyPreviewSummary {
  8374  	s.ExpiringImageTotalCount = &v
  8375  	return s
  8376  }
  8377  
  8378  // The type of action to be taken.
  8379  type LifecyclePolicyRuleAction struct {
  8380  	_ struct{} `type:"structure"`
  8381  
  8382  	// The type of action to be taken.
  8383  	Type *string `locationName:"type" type:"string" enum:"ImageActionType"`
  8384  }
  8385  
  8386  // String returns the string representation.
  8387  //
  8388  // API parameter values that are decorated as "sensitive" in the API will not
  8389  // be included in the string output. The member name will be present, but the
  8390  // value will be replaced with "sensitive".
  8391  func (s LifecyclePolicyRuleAction) String() string {
  8392  	return awsutil.Prettify(s)
  8393  }
  8394  
  8395  // GoString returns the string representation.
  8396  //
  8397  // API parameter values that are decorated as "sensitive" in the API will not
  8398  // be included in the string output. The member name will be present, but the
  8399  // value will be replaced with "sensitive".
  8400  func (s LifecyclePolicyRuleAction) GoString() string {
  8401  	return s.String()
  8402  }
  8403  
  8404  // SetType sets the Type field's value.
  8405  func (s *LifecyclePolicyRuleAction) SetType(v string) *LifecyclePolicyRuleAction {
  8406  	s.Type = &v
  8407  	return s
  8408  }
  8409  
  8410  // The operation did not succeed because it would have exceeded a service limit
  8411  // for your account. For more information, see Amazon ECR service quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
  8412  // in the Amazon Elastic Container Registry User Guide.
  8413  type LimitExceededException struct {
  8414  	_            struct{}                  `type:"structure"`
  8415  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8416  
  8417  	// The error message associated with the exception.
  8418  	Message_ *string `locationName:"message" type:"string"`
  8419  }
  8420  
  8421  // String returns the string representation.
  8422  //
  8423  // API parameter values that are decorated as "sensitive" in the API will not
  8424  // be included in the string output. The member name will be present, but the
  8425  // value will be replaced with "sensitive".
  8426  func (s LimitExceededException) String() string {
  8427  	return awsutil.Prettify(s)
  8428  }
  8429  
  8430  // GoString returns the string representation.
  8431  //
  8432  // API parameter values that are decorated as "sensitive" in the API will not
  8433  // be included in the string output. The member name will be present, but the
  8434  // value will be replaced with "sensitive".
  8435  func (s LimitExceededException) GoString() string {
  8436  	return s.String()
  8437  }
  8438  
  8439  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  8440  	return &LimitExceededException{
  8441  		RespMetadata: v,
  8442  	}
  8443  }
  8444  
  8445  // Code returns the exception type name.
  8446  func (s *LimitExceededException) Code() string {
  8447  	return "LimitExceededException"
  8448  }
  8449  
  8450  // Message returns the exception's message.
  8451  func (s *LimitExceededException) Message() string {
  8452  	if s.Message_ != nil {
  8453  		return *s.Message_
  8454  	}
  8455  	return ""
  8456  }
  8457  
  8458  // OrigErr always returns nil, satisfies awserr.Error interface.
  8459  func (s *LimitExceededException) OrigErr() error {
  8460  	return nil
  8461  }
  8462  
  8463  func (s *LimitExceededException) Error() string {
  8464  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8465  }
  8466  
  8467  // Status code returns the HTTP status code for the request's response error.
  8468  func (s *LimitExceededException) StatusCode() int {
  8469  	return s.RespMetadata.StatusCode
  8470  }
  8471  
  8472  // RequestID returns the service's response RequestID for request.
  8473  func (s *LimitExceededException) RequestID() string {
  8474  	return s.RespMetadata.RequestID
  8475  }
  8476  
  8477  // An object representing a filter on a ListImages operation.
  8478  type ListImagesFilter struct {
  8479  	_ struct{} `type:"structure"`
  8480  
  8481  	// The tag status with which to filter your ListImages results. You can filter
  8482  	// results based on whether they are TAGGED or UNTAGGED.
  8483  	TagStatus *string `locationName:"tagStatus" type:"string" enum:"TagStatus"`
  8484  }
  8485  
  8486  // String returns the string representation.
  8487  //
  8488  // API parameter values that are decorated as "sensitive" in the API will not
  8489  // be included in the string output. The member name will be present, but the
  8490  // value will be replaced with "sensitive".
  8491  func (s ListImagesFilter) String() string {
  8492  	return awsutil.Prettify(s)
  8493  }
  8494  
  8495  // GoString returns the string representation.
  8496  //
  8497  // API parameter values that are decorated as "sensitive" in the API will not
  8498  // be included in the string output. The member name will be present, but the
  8499  // value will be replaced with "sensitive".
  8500  func (s ListImagesFilter) GoString() string {
  8501  	return s.String()
  8502  }
  8503  
  8504  // SetTagStatus sets the TagStatus field's value.
  8505  func (s *ListImagesFilter) SetTagStatus(v string) *ListImagesFilter {
  8506  	s.TagStatus = &v
  8507  	return s
  8508  }
  8509  
  8510  type ListImagesInput struct {
  8511  	_ struct{} `type:"structure"`
  8512  
  8513  	// The filter key and value with which to filter your ListImages results.
  8514  	Filter *ListImagesFilter `locationName:"filter" type:"structure"`
  8515  
  8516  	// The maximum number of image results returned by ListImages in paginated output.
  8517  	// When this parameter is used, ListImages only returns maxResults results in
  8518  	// a single page along with a nextToken response element. The remaining results
  8519  	// of the initial request can be seen by sending another ListImages request
  8520  	// with the returned nextToken value. This value can be between 1 and 1000.
  8521  	// If this parameter is not used, then ListImages returns up to 100 results
  8522  	// and a nextToken value, if applicable.
  8523  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  8524  
  8525  	// The nextToken value returned from a previous paginated ListImages request
  8526  	// where maxResults was used and the results exceeded the value of that parameter.
  8527  	// Pagination continues from the end of the previous results that returned the
  8528  	// nextToken value. This value is null when there are no more results to return.
  8529  	//
  8530  	// This token should be treated as an opaque identifier that is only used to
  8531  	// retrieve the next items in a list and not for other programmatic purposes.
  8532  	NextToken *string `locationName:"nextToken" type:"string"`
  8533  
  8534  	// The Amazon Web Services account ID associated with the registry that contains
  8535  	// the repository in which to list images. If you do not specify a registry,
  8536  	// the default registry is assumed.
  8537  	RegistryId *string `locationName:"registryId" type:"string"`
  8538  
  8539  	// The repository with image IDs to be listed.
  8540  	//
  8541  	// RepositoryName is a required field
  8542  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  8543  }
  8544  
  8545  // String returns the string representation.
  8546  //
  8547  // API parameter values that are decorated as "sensitive" in the API will not
  8548  // be included in the string output. The member name will be present, but the
  8549  // value will be replaced with "sensitive".
  8550  func (s ListImagesInput) String() string {
  8551  	return awsutil.Prettify(s)
  8552  }
  8553  
  8554  // GoString returns the string representation.
  8555  //
  8556  // API parameter values that are decorated as "sensitive" in the API will not
  8557  // be included in the string output. The member name will be present, but the
  8558  // value will be replaced with "sensitive".
  8559  func (s ListImagesInput) GoString() string {
  8560  	return s.String()
  8561  }
  8562  
  8563  // Validate inspects the fields of the type to determine if they are valid.
  8564  func (s *ListImagesInput) Validate() error {
  8565  	invalidParams := request.ErrInvalidParams{Context: "ListImagesInput"}
  8566  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8567  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8568  	}
  8569  	if s.RepositoryName == nil {
  8570  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  8571  	}
  8572  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  8573  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  8574  	}
  8575  
  8576  	if invalidParams.Len() > 0 {
  8577  		return invalidParams
  8578  	}
  8579  	return nil
  8580  }
  8581  
  8582  // SetFilter sets the Filter field's value.
  8583  func (s *ListImagesInput) SetFilter(v *ListImagesFilter) *ListImagesInput {
  8584  	s.Filter = v
  8585  	return s
  8586  }
  8587  
  8588  // SetMaxResults sets the MaxResults field's value.
  8589  func (s *ListImagesInput) SetMaxResults(v int64) *ListImagesInput {
  8590  	s.MaxResults = &v
  8591  	return s
  8592  }
  8593  
  8594  // SetNextToken sets the NextToken field's value.
  8595  func (s *ListImagesInput) SetNextToken(v string) *ListImagesInput {
  8596  	s.NextToken = &v
  8597  	return s
  8598  }
  8599  
  8600  // SetRegistryId sets the RegistryId field's value.
  8601  func (s *ListImagesInput) SetRegistryId(v string) *ListImagesInput {
  8602  	s.RegistryId = &v
  8603  	return s
  8604  }
  8605  
  8606  // SetRepositoryName sets the RepositoryName field's value.
  8607  func (s *ListImagesInput) SetRepositoryName(v string) *ListImagesInput {
  8608  	s.RepositoryName = &v
  8609  	return s
  8610  }
  8611  
  8612  type ListImagesOutput struct {
  8613  	_ struct{} `type:"structure"`
  8614  
  8615  	// The list of image IDs for the requested repository.
  8616  	ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"`
  8617  
  8618  	// The nextToken value to include in a future ListImages request. When the results
  8619  	// of a ListImages request exceed maxResults, this value can be used to retrieve
  8620  	// the next page of results. This value is null when there are no more results
  8621  	// to return.
  8622  	NextToken *string `locationName:"nextToken" type:"string"`
  8623  }
  8624  
  8625  // String returns the string representation.
  8626  //
  8627  // API parameter values that are decorated as "sensitive" in the API will not
  8628  // be included in the string output. The member name will be present, but the
  8629  // value will be replaced with "sensitive".
  8630  func (s ListImagesOutput) String() string {
  8631  	return awsutil.Prettify(s)
  8632  }
  8633  
  8634  // GoString returns the string representation.
  8635  //
  8636  // API parameter values that are decorated as "sensitive" in the API will not
  8637  // be included in the string output. The member name will be present, but the
  8638  // value will be replaced with "sensitive".
  8639  func (s ListImagesOutput) GoString() string {
  8640  	return s.String()
  8641  }
  8642  
  8643  // SetImageIds sets the ImageIds field's value.
  8644  func (s *ListImagesOutput) SetImageIds(v []*ImageIdentifier) *ListImagesOutput {
  8645  	s.ImageIds = v
  8646  	return s
  8647  }
  8648  
  8649  // SetNextToken sets the NextToken field's value.
  8650  func (s *ListImagesOutput) SetNextToken(v string) *ListImagesOutput {
  8651  	s.NextToken = &v
  8652  	return s
  8653  }
  8654  
  8655  type ListTagsForResourceInput struct {
  8656  	_ struct{} `type:"structure"`
  8657  
  8658  	// The Amazon Resource Name (ARN) that identifies the resource for which to
  8659  	// list the tags. Currently, the only supported resource is an Amazon ECR repository.
  8660  	//
  8661  	// ResourceArn is a required field
  8662  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  8663  }
  8664  
  8665  // String returns the string representation.
  8666  //
  8667  // API parameter values that are decorated as "sensitive" in the API will not
  8668  // be included in the string output. The member name will be present, but the
  8669  // value will be replaced with "sensitive".
  8670  func (s ListTagsForResourceInput) String() string {
  8671  	return awsutil.Prettify(s)
  8672  }
  8673  
  8674  // GoString returns the string representation.
  8675  //
  8676  // API parameter values that are decorated as "sensitive" in the API will not
  8677  // be included in the string output. The member name will be present, but the
  8678  // value will be replaced with "sensitive".
  8679  func (s ListTagsForResourceInput) GoString() string {
  8680  	return s.String()
  8681  }
  8682  
  8683  // Validate inspects the fields of the type to determine if they are valid.
  8684  func (s *ListTagsForResourceInput) Validate() error {
  8685  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  8686  	if s.ResourceArn == nil {
  8687  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8688  	}
  8689  
  8690  	if invalidParams.Len() > 0 {
  8691  		return invalidParams
  8692  	}
  8693  	return nil
  8694  }
  8695  
  8696  // SetResourceArn sets the ResourceArn field's value.
  8697  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  8698  	s.ResourceArn = &v
  8699  	return s
  8700  }
  8701  
  8702  type ListTagsForResourceOutput struct {
  8703  	_ struct{} `type:"structure"`
  8704  
  8705  	// The tags for the resource.
  8706  	Tags []*Tag `locationName:"tags" type:"list"`
  8707  }
  8708  
  8709  // String returns the string representation.
  8710  //
  8711  // API parameter values that are decorated as "sensitive" in the API will not
  8712  // be included in the string output. The member name will be present, but the
  8713  // value will be replaced with "sensitive".
  8714  func (s ListTagsForResourceOutput) String() string {
  8715  	return awsutil.Prettify(s)
  8716  }
  8717  
  8718  // GoString returns the string representation.
  8719  //
  8720  // API parameter values that are decorated as "sensitive" in the API will not
  8721  // be included in the string output. The member name will be present, but the
  8722  // value will be replaced with "sensitive".
  8723  func (s ListTagsForResourceOutput) GoString() string {
  8724  	return s.String()
  8725  }
  8726  
  8727  // SetTags sets the Tags field's value.
  8728  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  8729  	s.Tags = v
  8730  	return s
  8731  }
  8732  
  8733  type PutImageInput struct {
  8734  	_ struct{} `type:"structure"`
  8735  
  8736  	// The image digest of the image manifest corresponding to the image.
  8737  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  8738  
  8739  	// The image manifest corresponding to the image to be uploaded.
  8740  	//
  8741  	// ImageManifest is a required field
  8742  	ImageManifest *string `locationName:"imageManifest" min:"1" type:"string" required:"true"`
  8743  
  8744  	// The media type of the image manifest. If you push an image manifest that
  8745  	// does not contain the mediaType field, you must specify the imageManifestMediaType
  8746  	// in the request.
  8747  	ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"`
  8748  
  8749  	// The tag to associate with the image. This parameter is required for images
  8750  	// that use the Docker Image Manifest V2 Schema 2 or Open Container Initiative
  8751  	// (OCI) formats.
  8752  	ImageTag *string `locationName:"imageTag" min:"1" type:"string"`
  8753  
  8754  	// The Amazon Web Services account ID associated with the registry that contains
  8755  	// the repository in which to put the image. If you do not specify a registry,
  8756  	// the default registry is assumed.
  8757  	RegistryId *string `locationName:"registryId" type:"string"`
  8758  
  8759  	// The name of the repository in which to put the image.
  8760  	//
  8761  	// RepositoryName is a required field
  8762  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  8763  }
  8764  
  8765  // String returns the string representation.
  8766  //
  8767  // API parameter values that are decorated as "sensitive" in the API will not
  8768  // be included in the string output. The member name will be present, but the
  8769  // value will be replaced with "sensitive".
  8770  func (s PutImageInput) String() string {
  8771  	return awsutil.Prettify(s)
  8772  }
  8773  
  8774  // GoString returns the string representation.
  8775  //
  8776  // API parameter values that are decorated as "sensitive" in the API will not
  8777  // be included in the string output. The member name will be present, but the
  8778  // value will be replaced with "sensitive".
  8779  func (s PutImageInput) GoString() string {
  8780  	return s.String()
  8781  }
  8782  
  8783  // Validate inspects the fields of the type to determine if they are valid.
  8784  func (s *PutImageInput) Validate() error {
  8785  	invalidParams := request.ErrInvalidParams{Context: "PutImageInput"}
  8786  	if s.ImageManifest == nil {
  8787  		invalidParams.Add(request.NewErrParamRequired("ImageManifest"))
  8788  	}
  8789  	if s.ImageManifest != nil && len(*s.ImageManifest) < 1 {
  8790  		invalidParams.Add(request.NewErrParamMinLen("ImageManifest", 1))
  8791  	}
  8792  	if s.ImageTag != nil && len(*s.ImageTag) < 1 {
  8793  		invalidParams.Add(request.NewErrParamMinLen("ImageTag", 1))
  8794  	}
  8795  	if s.RepositoryName == nil {
  8796  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  8797  	}
  8798  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  8799  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  8800  	}
  8801  
  8802  	if invalidParams.Len() > 0 {
  8803  		return invalidParams
  8804  	}
  8805  	return nil
  8806  }
  8807  
  8808  // SetImageDigest sets the ImageDigest field's value.
  8809  func (s *PutImageInput) SetImageDigest(v string) *PutImageInput {
  8810  	s.ImageDigest = &v
  8811  	return s
  8812  }
  8813  
  8814  // SetImageManifest sets the ImageManifest field's value.
  8815  func (s *PutImageInput) SetImageManifest(v string) *PutImageInput {
  8816  	s.ImageManifest = &v
  8817  	return s
  8818  }
  8819  
  8820  // SetImageManifestMediaType sets the ImageManifestMediaType field's value.
  8821  func (s *PutImageInput) SetImageManifestMediaType(v string) *PutImageInput {
  8822  	s.ImageManifestMediaType = &v
  8823  	return s
  8824  }
  8825  
  8826  // SetImageTag sets the ImageTag field's value.
  8827  func (s *PutImageInput) SetImageTag(v string) *PutImageInput {
  8828  	s.ImageTag = &v
  8829  	return s
  8830  }
  8831  
  8832  // SetRegistryId sets the RegistryId field's value.
  8833  func (s *PutImageInput) SetRegistryId(v string) *PutImageInput {
  8834  	s.RegistryId = &v
  8835  	return s
  8836  }
  8837  
  8838  // SetRepositoryName sets the RepositoryName field's value.
  8839  func (s *PutImageInput) SetRepositoryName(v string) *PutImageInput {
  8840  	s.RepositoryName = &v
  8841  	return s
  8842  }
  8843  
  8844  type PutImageOutput struct {
  8845  	_ struct{} `type:"structure"`
  8846  
  8847  	// Details of the image uploaded.
  8848  	Image *Image `locationName:"image" type:"structure"`
  8849  }
  8850  
  8851  // String returns the string representation.
  8852  //
  8853  // API parameter values that are decorated as "sensitive" in the API will not
  8854  // be included in the string output. The member name will be present, but the
  8855  // value will be replaced with "sensitive".
  8856  func (s PutImageOutput) String() string {
  8857  	return awsutil.Prettify(s)
  8858  }
  8859  
  8860  // GoString returns the string representation.
  8861  //
  8862  // API parameter values that are decorated as "sensitive" in the API will not
  8863  // be included in the string output. The member name will be present, but the
  8864  // value will be replaced with "sensitive".
  8865  func (s PutImageOutput) GoString() string {
  8866  	return s.String()
  8867  }
  8868  
  8869  // SetImage sets the Image field's value.
  8870  func (s *PutImageOutput) SetImage(v *Image) *PutImageOutput {
  8871  	s.Image = v
  8872  	return s
  8873  }
  8874  
  8875  type PutImageScanningConfigurationInput struct {
  8876  	_ struct{} `type:"structure"`
  8877  
  8878  	// The image scanning configuration for the repository. This setting determines
  8879  	// whether images are scanned for known vulnerabilities after being pushed to
  8880  	// the repository.
  8881  	//
  8882  	// ImageScanningConfiguration is a required field
  8883  	ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure" required:"true"`
  8884  
  8885  	// The Amazon Web Services account ID associated with the registry that contains
  8886  	// the repository in which to update the image scanning configuration setting.
  8887  	// If you do not specify a registry, the default registry is assumed.
  8888  	RegistryId *string `locationName:"registryId" type:"string"`
  8889  
  8890  	// The name of the repository in which to update the image scanning configuration
  8891  	// setting.
  8892  	//
  8893  	// RepositoryName is a required field
  8894  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  8895  }
  8896  
  8897  // String returns the string representation.
  8898  //
  8899  // API parameter values that are decorated as "sensitive" in the API will not
  8900  // be included in the string output. The member name will be present, but the
  8901  // value will be replaced with "sensitive".
  8902  func (s PutImageScanningConfigurationInput) String() string {
  8903  	return awsutil.Prettify(s)
  8904  }
  8905  
  8906  // GoString returns the string representation.
  8907  //
  8908  // API parameter values that are decorated as "sensitive" in the API will not
  8909  // be included in the string output. The member name will be present, but the
  8910  // value will be replaced with "sensitive".
  8911  func (s PutImageScanningConfigurationInput) GoString() string {
  8912  	return s.String()
  8913  }
  8914  
  8915  // Validate inspects the fields of the type to determine if they are valid.
  8916  func (s *PutImageScanningConfigurationInput) Validate() error {
  8917  	invalidParams := request.ErrInvalidParams{Context: "PutImageScanningConfigurationInput"}
  8918  	if s.ImageScanningConfiguration == nil {
  8919  		invalidParams.Add(request.NewErrParamRequired("ImageScanningConfiguration"))
  8920  	}
  8921  	if s.RepositoryName == nil {
  8922  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  8923  	}
  8924  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  8925  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  8926  	}
  8927  
  8928  	if invalidParams.Len() > 0 {
  8929  		return invalidParams
  8930  	}
  8931  	return nil
  8932  }
  8933  
  8934  // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value.
  8935  func (s *PutImageScanningConfigurationInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *PutImageScanningConfigurationInput {
  8936  	s.ImageScanningConfiguration = v
  8937  	return s
  8938  }
  8939  
  8940  // SetRegistryId sets the RegistryId field's value.
  8941  func (s *PutImageScanningConfigurationInput) SetRegistryId(v string) *PutImageScanningConfigurationInput {
  8942  	s.RegistryId = &v
  8943  	return s
  8944  }
  8945  
  8946  // SetRepositoryName sets the RepositoryName field's value.
  8947  func (s *PutImageScanningConfigurationInput) SetRepositoryName(v string) *PutImageScanningConfigurationInput {
  8948  	s.RepositoryName = &v
  8949  	return s
  8950  }
  8951  
  8952  type PutImageScanningConfigurationOutput struct {
  8953  	_ struct{} `type:"structure"`
  8954  
  8955  	// The image scanning configuration setting for the repository.
  8956  	ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"`
  8957  
  8958  	// The registry ID associated with the request.
  8959  	RegistryId *string `locationName:"registryId" type:"string"`
  8960  
  8961  	// The repository name associated with the request.
  8962  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  8963  }
  8964  
  8965  // String returns the string representation.
  8966  //
  8967  // API parameter values that are decorated as "sensitive" in the API will not
  8968  // be included in the string output. The member name will be present, but the
  8969  // value will be replaced with "sensitive".
  8970  func (s PutImageScanningConfigurationOutput) String() string {
  8971  	return awsutil.Prettify(s)
  8972  }
  8973  
  8974  // GoString returns the string representation.
  8975  //
  8976  // API parameter values that are decorated as "sensitive" in the API will not
  8977  // be included in the string output. The member name will be present, but the
  8978  // value will be replaced with "sensitive".
  8979  func (s PutImageScanningConfigurationOutput) GoString() string {
  8980  	return s.String()
  8981  }
  8982  
  8983  // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value.
  8984  func (s *PutImageScanningConfigurationOutput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *PutImageScanningConfigurationOutput {
  8985  	s.ImageScanningConfiguration = v
  8986  	return s
  8987  }
  8988  
  8989  // SetRegistryId sets the RegistryId field's value.
  8990  func (s *PutImageScanningConfigurationOutput) SetRegistryId(v string) *PutImageScanningConfigurationOutput {
  8991  	s.RegistryId = &v
  8992  	return s
  8993  }
  8994  
  8995  // SetRepositoryName sets the RepositoryName field's value.
  8996  func (s *PutImageScanningConfigurationOutput) SetRepositoryName(v string) *PutImageScanningConfigurationOutput {
  8997  	s.RepositoryName = &v
  8998  	return s
  8999  }
  9000  
  9001  type PutImageTagMutabilityInput struct {
  9002  	_ struct{} `type:"structure"`
  9003  
  9004  	// The tag mutability setting for the repository. If MUTABLE is specified, image
  9005  	// tags can be overwritten. If IMMUTABLE is specified, all image tags within
  9006  	// the repository will be immutable which will prevent them from being overwritten.
  9007  	//
  9008  	// ImageTagMutability is a required field
  9009  	ImageTagMutability *string `locationName:"imageTagMutability" type:"string" required:"true" enum:"ImageTagMutability"`
  9010  
  9011  	// The Amazon Web Services account ID associated with the registry that contains
  9012  	// the repository in which to update the image tag mutability settings. If you
  9013  	// do not specify a registry, the default registry is assumed.
  9014  	RegistryId *string `locationName:"registryId" type:"string"`
  9015  
  9016  	// The name of the repository in which to update the image tag mutability settings.
  9017  	//
  9018  	// RepositoryName is a required field
  9019  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  9020  }
  9021  
  9022  // String returns the string representation.
  9023  //
  9024  // API parameter values that are decorated as "sensitive" in the API will not
  9025  // be included in the string output. The member name will be present, but the
  9026  // value will be replaced with "sensitive".
  9027  func (s PutImageTagMutabilityInput) String() string {
  9028  	return awsutil.Prettify(s)
  9029  }
  9030  
  9031  // GoString returns the string representation.
  9032  //
  9033  // API parameter values that are decorated as "sensitive" in the API will not
  9034  // be included in the string output. The member name will be present, but the
  9035  // value will be replaced with "sensitive".
  9036  func (s PutImageTagMutabilityInput) GoString() string {
  9037  	return s.String()
  9038  }
  9039  
  9040  // Validate inspects the fields of the type to determine if they are valid.
  9041  func (s *PutImageTagMutabilityInput) Validate() error {
  9042  	invalidParams := request.ErrInvalidParams{Context: "PutImageTagMutabilityInput"}
  9043  	if s.ImageTagMutability == nil {
  9044  		invalidParams.Add(request.NewErrParamRequired("ImageTagMutability"))
  9045  	}
  9046  	if s.RepositoryName == nil {
  9047  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  9048  	}
  9049  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  9050  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  9051  	}
  9052  
  9053  	if invalidParams.Len() > 0 {
  9054  		return invalidParams
  9055  	}
  9056  	return nil
  9057  }
  9058  
  9059  // SetImageTagMutability sets the ImageTagMutability field's value.
  9060  func (s *PutImageTagMutabilityInput) SetImageTagMutability(v string) *PutImageTagMutabilityInput {
  9061  	s.ImageTagMutability = &v
  9062  	return s
  9063  }
  9064  
  9065  // SetRegistryId sets the RegistryId field's value.
  9066  func (s *PutImageTagMutabilityInput) SetRegistryId(v string) *PutImageTagMutabilityInput {
  9067  	s.RegistryId = &v
  9068  	return s
  9069  }
  9070  
  9071  // SetRepositoryName sets the RepositoryName field's value.
  9072  func (s *PutImageTagMutabilityInput) SetRepositoryName(v string) *PutImageTagMutabilityInput {
  9073  	s.RepositoryName = &v
  9074  	return s
  9075  }
  9076  
  9077  type PutImageTagMutabilityOutput struct {
  9078  	_ struct{} `type:"structure"`
  9079  
  9080  	// The image tag mutability setting for the repository.
  9081  	ImageTagMutability *string `locationName:"imageTagMutability" type:"string" enum:"ImageTagMutability"`
  9082  
  9083  	// The registry ID associated with the request.
  9084  	RegistryId *string `locationName:"registryId" type:"string"`
  9085  
  9086  	// The repository name associated with the request.
  9087  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  9088  }
  9089  
  9090  // String returns the string representation.
  9091  //
  9092  // API parameter values that are decorated as "sensitive" in the API will not
  9093  // be included in the string output. The member name will be present, but the
  9094  // value will be replaced with "sensitive".
  9095  func (s PutImageTagMutabilityOutput) String() string {
  9096  	return awsutil.Prettify(s)
  9097  }
  9098  
  9099  // GoString returns the string representation.
  9100  //
  9101  // API parameter values that are decorated as "sensitive" in the API will not
  9102  // be included in the string output. The member name will be present, but the
  9103  // value will be replaced with "sensitive".
  9104  func (s PutImageTagMutabilityOutput) GoString() string {
  9105  	return s.String()
  9106  }
  9107  
  9108  // SetImageTagMutability sets the ImageTagMutability field's value.
  9109  func (s *PutImageTagMutabilityOutput) SetImageTagMutability(v string) *PutImageTagMutabilityOutput {
  9110  	s.ImageTagMutability = &v
  9111  	return s
  9112  }
  9113  
  9114  // SetRegistryId sets the RegistryId field's value.
  9115  func (s *PutImageTagMutabilityOutput) SetRegistryId(v string) *PutImageTagMutabilityOutput {
  9116  	s.RegistryId = &v
  9117  	return s
  9118  }
  9119  
  9120  // SetRepositoryName sets the RepositoryName field's value.
  9121  func (s *PutImageTagMutabilityOutput) SetRepositoryName(v string) *PutImageTagMutabilityOutput {
  9122  	s.RepositoryName = &v
  9123  	return s
  9124  }
  9125  
  9126  type PutLifecyclePolicyInput struct {
  9127  	_ struct{} `type:"structure"`
  9128  
  9129  	// The JSON repository policy text to apply to the repository.
  9130  	//
  9131  	// LifecyclePolicyText is a required field
  9132  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string" required:"true"`
  9133  
  9134  	// The Amazon Web Services account ID associated with the registry that contains
  9135  	// the repository. If you do not specify a registry, the default registry is
  9136  	// assumed.
  9137  	RegistryId *string `locationName:"registryId" type:"string"`
  9138  
  9139  	// The name of the repository to receive the policy.
  9140  	//
  9141  	// RepositoryName is a required field
  9142  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
  9143  }
  9144  
  9145  // String returns the string representation.
  9146  //
  9147  // API parameter values that are decorated as "sensitive" in the API will not
  9148  // be included in the string output. The member name will be present, but the
  9149  // value will be replaced with "sensitive".
  9150  func (s PutLifecyclePolicyInput) String() string {
  9151  	return awsutil.Prettify(s)
  9152  }
  9153  
  9154  // GoString returns the string representation.
  9155  //
  9156  // API parameter values that are decorated as "sensitive" in the API will not
  9157  // be included in the string output. The member name will be present, but the
  9158  // value will be replaced with "sensitive".
  9159  func (s PutLifecyclePolicyInput) GoString() string {
  9160  	return s.String()
  9161  }
  9162  
  9163  // Validate inspects the fields of the type to determine if they are valid.
  9164  func (s *PutLifecyclePolicyInput) Validate() error {
  9165  	invalidParams := request.ErrInvalidParams{Context: "PutLifecyclePolicyInput"}
  9166  	if s.LifecyclePolicyText == nil {
  9167  		invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyText"))
  9168  	}
  9169  	if s.LifecyclePolicyText != nil && len(*s.LifecyclePolicyText) < 100 {
  9170  		invalidParams.Add(request.NewErrParamMinLen("LifecyclePolicyText", 100))
  9171  	}
  9172  	if s.RepositoryName == nil {
  9173  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
  9174  	}
  9175  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
  9176  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
  9177  	}
  9178  
  9179  	if invalidParams.Len() > 0 {
  9180  		return invalidParams
  9181  	}
  9182  	return nil
  9183  }
  9184  
  9185  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
  9186  func (s *PutLifecyclePolicyInput) SetLifecyclePolicyText(v string) *PutLifecyclePolicyInput {
  9187  	s.LifecyclePolicyText = &v
  9188  	return s
  9189  }
  9190  
  9191  // SetRegistryId sets the RegistryId field's value.
  9192  func (s *PutLifecyclePolicyInput) SetRegistryId(v string) *PutLifecyclePolicyInput {
  9193  	s.RegistryId = &v
  9194  	return s
  9195  }
  9196  
  9197  // SetRepositoryName sets the RepositoryName field's value.
  9198  func (s *PutLifecyclePolicyInput) SetRepositoryName(v string) *PutLifecyclePolicyInput {
  9199  	s.RepositoryName = &v
  9200  	return s
  9201  }
  9202  
  9203  type PutLifecyclePolicyOutput struct {
  9204  	_ struct{} `type:"structure"`
  9205  
  9206  	// The JSON repository policy text.
  9207  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string"`
  9208  
  9209  	// The registry ID associated with the request.
  9210  	RegistryId *string `locationName:"registryId" type:"string"`
  9211  
  9212  	// The repository name associated with the request.
  9213  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  9214  }
  9215  
  9216  // String returns the string representation.
  9217  //
  9218  // API parameter values that are decorated as "sensitive" in the API will not
  9219  // be included in the string output. The member name will be present, but the
  9220  // value will be replaced with "sensitive".
  9221  func (s PutLifecyclePolicyOutput) String() string {
  9222  	return awsutil.Prettify(s)
  9223  }
  9224  
  9225  // GoString returns the string representation.
  9226  //
  9227  // API parameter values that are decorated as "sensitive" in the API will not
  9228  // be included in the string output. The member name will be present, but the
  9229  // value will be replaced with "sensitive".
  9230  func (s PutLifecyclePolicyOutput) GoString() string {
  9231  	return s.String()
  9232  }
  9233  
  9234  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
  9235  func (s *PutLifecyclePolicyOutput) SetLifecyclePolicyText(v string) *PutLifecyclePolicyOutput {
  9236  	s.LifecyclePolicyText = &v
  9237  	return s
  9238  }
  9239  
  9240  // SetRegistryId sets the RegistryId field's value.
  9241  func (s *PutLifecyclePolicyOutput) SetRegistryId(v string) *PutLifecyclePolicyOutput {
  9242  	s.RegistryId = &v
  9243  	return s
  9244  }
  9245  
  9246  // SetRepositoryName sets the RepositoryName field's value.
  9247  func (s *PutLifecyclePolicyOutput) SetRepositoryName(v string) *PutLifecyclePolicyOutput {
  9248  	s.RepositoryName = &v
  9249  	return s
  9250  }
  9251  
  9252  type PutRegistryPolicyInput struct {
  9253  	_ struct{} `type:"structure"`
  9254  
  9255  	// The JSON policy text to apply to your registry. The policy text follows the
  9256  	// same format as IAM policy text. For more information, see Registry permissions
  9257  	// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html)
  9258  	// in the Amazon Elastic Container Registry User Guide.
  9259  	//
  9260  	// PolicyText is a required field
  9261  	PolicyText *string `locationName:"policyText" type:"string" required:"true"`
  9262  }
  9263  
  9264  // String returns the string representation.
  9265  //
  9266  // API parameter values that are decorated as "sensitive" in the API will not
  9267  // be included in the string output. The member name will be present, but the
  9268  // value will be replaced with "sensitive".
  9269  func (s PutRegistryPolicyInput) String() string {
  9270  	return awsutil.Prettify(s)
  9271  }
  9272  
  9273  // GoString returns the string representation.
  9274  //
  9275  // API parameter values that are decorated as "sensitive" in the API will not
  9276  // be included in the string output. The member name will be present, but the
  9277  // value will be replaced with "sensitive".
  9278  func (s PutRegistryPolicyInput) GoString() string {
  9279  	return s.String()
  9280  }
  9281  
  9282  // Validate inspects the fields of the type to determine if they are valid.
  9283  func (s *PutRegistryPolicyInput) Validate() error {
  9284  	invalidParams := request.ErrInvalidParams{Context: "PutRegistryPolicyInput"}
  9285  	if s.PolicyText == nil {
  9286  		invalidParams.Add(request.NewErrParamRequired("PolicyText"))
  9287  	}
  9288  
  9289  	if invalidParams.Len() > 0 {
  9290  		return invalidParams
  9291  	}
  9292  	return nil
  9293  }
  9294  
  9295  // SetPolicyText sets the PolicyText field's value.
  9296  func (s *PutRegistryPolicyInput) SetPolicyText(v string) *PutRegistryPolicyInput {
  9297  	s.PolicyText = &v
  9298  	return s
  9299  }
  9300  
  9301  type PutRegistryPolicyOutput struct {
  9302  	_ struct{} `type:"structure"`
  9303  
  9304  	// The JSON policy text for your registry.
  9305  	PolicyText *string `locationName:"policyText" type:"string"`
  9306  
  9307  	// The registry ID.
  9308  	RegistryId *string `locationName:"registryId" type:"string"`
  9309  }
  9310  
  9311  // String returns the string representation.
  9312  //
  9313  // API parameter values that are decorated as "sensitive" in the API will not
  9314  // be included in the string output. The member name will be present, but the
  9315  // value will be replaced with "sensitive".
  9316  func (s PutRegistryPolicyOutput) String() string {
  9317  	return awsutil.Prettify(s)
  9318  }
  9319  
  9320  // GoString returns the string representation.
  9321  //
  9322  // API parameter values that are decorated as "sensitive" in the API will not
  9323  // be included in the string output. The member name will be present, but the
  9324  // value will be replaced with "sensitive".
  9325  func (s PutRegistryPolicyOutput) GoString() string {
  9326  	return s.String()
  9327  }
  9328  
  9329  // SetPolicyText sets the PolicyText field's value.
  9330  func (s *PutRegistryPolicyOutput) SetPolicyText(v string) *PutRegistryPolicyOutput {
  9331  	s.PolicyText = &v
  9332  	return s
  9333  }
  9334  
  9335  // SetRegistryId sets the RegistryId field's value.
  9336  func (s *PutRegistryPolicyOutput) SetRegistryId(v string) *PutRegistryPolicyOutput {
  9337  	s.RegistryId = &v
  9338  	return s
  9339  }
  9340  
  9341  type PutReplicationConfigurationInput struct {
  9342  	_ struct{} `type:"structure"`
  9343  
  9344  	// An object representing the replication configuration for a registry.
  9345  	//
  9346  	// ReplicationConfiguration is a required field
  9347  	ReplicationConfiguration *ReplicationConfiguration `locationName:"replicationConfiguration" type:"structure" required:"true"`
  9348  }
  9349  
  9350  // String returns the string representation.
  9351  //
  9352  // API parameter values that are decorated as "sensitive" in the API will not
  9353  // be included in the string output. The member name will be present, but the
  9354  // value will be replaced with "sensitive".
  9355  func (s PutReplicationConfigurationInput) String() string {
  9356  	return awsutil.Prettify(s)
  9357  }
  9358  
  9359  // GoString returns the string representation.
  9360  //
  9361  // API parameter values that are decorated as "sensitive" in the API will not
  9362  // be included in the string output. The member name will be present, but the
  9363  // value will be replaced with "sensitive".
  9364  func (s PutReplicationConfigurationInput) GoString() string {
  9365  	return s.String()
  9366  }
  9367  
  9368  // Validate inspects the fields of the type to determine if they are valid.
  9369  func (s *PutReplicationConfigurationInput) Validate() error {
  9370  	invalidParams := request.ErrInvalidParams{Context: "PutReplicationConfigurationInput"}
  9371  	if s.ReplicationConfiguration == nil {
  9372  		invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
  9373  	}
  9374  	if s.ReplicationConfiguration != nil {
  9375  		if err := s.ReplicationConfiguration.Validate(); err != nil {
  9376  			invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
  9377  		}
  9378  	}
  9379  
  9380  	if invalidParams.Len() > 0 {
  9381  		return invalidParams
  9382  	}
  9383  	return nil
  9384  }
  9385  
  9386  // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
  9387  func (s *PutReplicationConfigurationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutReplicationConfigurationInput {
  9388  	s.ReplicationConfiguration = v
  9389  	return s
  9390  }
  9391  
  9392  type PutReplicationConfigurationOutput struct {
  9393  	_ struct{} `type:"structure"`
  9394  
  9395  	// The contents of the replication configuration for the registry.
  9396  	ReplicationConfiguration *ReplicationConfiguration `locationName:"replicationConfiguration" type:"structure"`
  9397  }
  9398  
  9399  // String returns the string representation.
  9400  //
  9401  // API parameter values that are decorated as "sensitive" in the API will not
  9402  // be included in the string output. The member name will be present, but the
  9403  // value will be replaced with "sensitive".
  9404  func (s PutReplicationConfigurationOutput) String() string {
  9405  	return awsutil.Prettify(s)
  9406  }
  9407  
  9408  // GoString returns the string representation.
  9409  //
  9410  // API parameter values that are decorated as "sensitive" in the API will not
  9411  // be included in the string output. The member name will be present, but the
  9412  // value will be replaced with "sensitive".
  9413  func (s PutReplicationConfigurationOutput) GoString() string {
  9414  	return s.String()
  9415  }
  9416  
  9417  // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
  9418  func (s *PutReplicationConfigurationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutReplicationConfigurationOutput {
  9419  	s.ReplicationConfiguration = v
  9420  	return s
  9421  }
  9422  
  9423  // The manifest list is referencing an image that does not exist.
  9424  type ReferencedImagesNotFoundException struct {
  9425  	_            struct{}                  `type:"structure"`
  9426  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9427  
  9428  	Message_ *string `locationName:"message" type:"string"`
  9429  }
  9430  
  9431  // String returns the string representation.
  9432  //
  9433  // API parameter values that are decorated as "sensitive" in the API will not
  9434  // be included in the string output. The member name will be present, but the
  9435  // value will be replaced with "sensitive".
  9436  func (s ReferencedImagesNotFoundException) String() string {
  9437  	return awsutil.Prettify(s)
  9438  }
  9439  
  9440  // GoString returns the string representation.
  9441  //
  9442  // API parameter values that are decorated as "sensitive" in the API will not
  9443  // be included in the string output. The member name will be present, but the
  9444  // value will be replaced with "sensitive".
  9445  func (s ReferencedImagesNotFoundException) GoString() string {
  9446  	return s.String()
  9447  }
  9448  
  9449  func newErrorReferencedImagesNotFoundException(v protocol.ResponseMetadata) error {
  9450  	return &ReferencedImagesNotFoundException{
  9451  		RespMetadata: v,
  9452  	}
  9453  }
  9454  
  9455  // Code returns the exception type name.
  9456  func (s *ReferencedImagesNotFoundException) Code() string {
  9457  	return "ReferencedImagesNotFoundException"
  9458  }
  9459  
  9460  // Message returns the exception's message.
  9461  func (s *ReferencedImagesNotFoundException) Message() string {
  9462  	if s.Message_ != nil {
  9463  		return *s.Message_
  9464  	}
  9465  	return ""
  9466  }
  9467  
  9468  // OrigErr always returns nil, satisfies awserr.Error interface.
  9469  func (s *ReferencedImagesNotFoundException) OrigErr() error {
  9470  	return nil
  9471  }
  9472  
  9473  func (s *ReferencedImagesNotFoundException) Error() string {
  9474  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9475  }
  9476  
  9477  // Status code returns the HTTP status code for the request's response error.
  9478  func (s *ReferencedImagesNotFoundException) StatusCode() int {
  9479  	return s.RespMetadata.StatusCode
  9480  }
  9481  
  9482  // RequestID returns the service's response RequestID for request.
  9483  func (s *ReferencedImagesNotFoundException) RequestID() string {
  9484  	return s.RespMetadata.RequestID
  9485  }
  9486  
  9487  // The registry doesn't have an associated registry policy.
  9488  type RegistryPolicyNotFoundException struct {
  9489  	_            struct{}                  `type:"structure"`
  9490  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9491  
  9492  	Message_ *string `locationName:"message" type:"string"`
  9493  }
  9494  
  9495  // String returns the string representation.
  9496  //
  9497  // API parameter values that are decorated as "sensitive" in the API will not
  9498  // be included in the string output. The member name will be present, but the
  9499  // value will be replaced with "sensitive".
  9500  func (s RegistryPolicyNotFoundException) String() string {
  9501  	return awsutil.Prettify(s)
  9502  }
  9503  
  9504  // GoString returns the string representation.
  9505  //
  9506  // API parameter values that are decorated as "sensitive" in the API will not
  9507  // be included in the string output. The member name will be present, but the
  9508  // value will be replaced with "sensitive".
  9509  func (s RegistryPolicyNotFoundException) GoString() string {
  9510  	return s.String()
  9511  }
  9512  
  9513  func newErrorRegistryPolicyNotFoundException(v protocol.ResponseMetadata) error {
  9514  	return &RegistryPolicyNotFoundException{
  9515  		RespMetadata: v,
  9516  	}
  9517  }
  9518  
  9519  // Code returns the exception type name.
  9520  func (s *RegistryPolicyNotFoundException) Code() string {
  9521  	return "RegistryPolicyNotFoundException"
  9522  }
  9523  
  9524  // Message returns the exception's message.
  9525  func (s *RegistryPolicyNotFoundException) Message() string {
  9526  	if s.Message_ != nil {
  9527  		return *s.Message_
  9528  	}
  9529  	return ""
  9530  }
  9531  
  9532  // OrigErr always returns nil, satisfies awserr.Error interface.
  9533  func (s *RegistryPolicyNotFoundException) OrigErr() error {
  9534  	return nil
  9535  }
  9536  
  9537  func (s *RegistryPolicyNotFoundException) Error() string {
  9538  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9539  }
  9540  
  9541  // Status code returns the HTTP status code for the request's response error.
  9542  func (s *RegistryPolicyNotFoundException) StatusCode() int {
  9543  	return s.RespMetadata.StatusCode
  9544  }
  9545  
  9546  // RequestID returns the service's response RequestID for request.
  9547  func (s *RegistryPolicyNotFoundException) RequestID() string {
  9548  	return s.RespMetadata.RequestID
  9549  }
  9550  
  9551  // The replication configuration for a registry.
  9552  type ReplicationConfiguration struct {
  9553  	_ struct{} `type:"structure"`
  9554  
  9555  	// An array of objects representing the replication destinations and repository
  9556  	// filters for a replication configuration.
  9557  	//
  9558  	// Rules is a required field
  9559  	Rules []*ReplicationRule `locationName:"rules" type:"list" required:"true"`
  9560  }
  9561  
  9562  // String returns the string representation.
  9563  //
  9564  // API parameter values that are decorated as "sensitive" in the API will not
  9565  // be included in the string output. The member name will be present, but the
  9566  // value will be replaced with "sensitive".
  9567  func (s ReplicationConfiguration) String() string {
  9568  	return awsutil.Prettify(s)
  9569  }
  9570  
  9571  // GoString returns the string representation.
  9572  //
  9573  // API parameter values that are decorated as "sensitive" in the API will not
  9574  // be included in the string output. The member name will be present, but the
  9575  // value will be replaced with "sensitive".
  9576  func (s ReplicationConfiguration) GoString() string {
  9577  	return s.String()
  9578  }
  9579  
  9580  // Validate inspects the fields of the type to determine if they are valid.
  9581  func (s *ReplicationConfiguration) Validate() error {
  9582  	invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
  9583  	if s.Rules == nil {
  9584  		invalidParams.Add(request.NewErrParamRequired("Rules"))
  9585  	}
  9586  	if s.Rules != nil {
  9587  		for i, v := range s.Rules {
  9588  			if v == nil {
  9589  				continue
  9590  			}
  9591  			if err := v.Validate(); err != nil {
  9592  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
  9593  			}
  9594  		}
  9595  	}
  9596  
  9597  	if invalidParams.Len() > 0 {
  9598  		return invalidParams
  9599  	}
  9600  	return nil
  9601  }
  9602  
  9603  // SetRules sets the Rules field's value.
  9604  func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
  9605  	s.Rules = v
  9606  	return s
  9607  }
  9608  
  9609  // An array of objects representing the destination for a replication rule.
  9610  type ReplicationDestination struct {
  9611  	_ struct{} `type:"structure"`
  9612  
  9613  	// The Region to replicate to.
  9614  	//
  9615  	// Region is a required field
  9616  	Region *string `locationName:"region" min:"2" type:"string" required:"true"`
  9617  
  9618  	// The Amazon Web Services account ID of the Amazon ECR private registry to
  9619  	// replicate to. When configuring cross-Region replication within your own registry,
  9620  	// specify your own account ID.
  9621  	//
  9622  	// RegistryId is a required field
  9623  	RegistryId *string `locationName:"registryId" type:"string" required:"true"`
  9624  }
  9625  
  9626  // String returns the string representation.
  9627  //
  9628  // API parameter values that are decorated as "sensitive" in the API will not
  9629  // be included in the string output. The member name will be present, but the
  9630  // value will be replaced with "sensitive".
  9631  func (s ReplicationDestination) String() string {
  9632  	return awsutil.Prettify(s)
  9633  }
  9634  
  9635  // GoString returns the string representation.
  9636  //
  9637  // API parameter values that are decorated as "sensitive" in the API will not
  9638  // be included in the string output. The member name will be present, but the
  9639  // value will be replaced with "sensitive".
  9640  func (s ReplicationDestination) GoString() string {
  9641  	return s.String()
  9642  }
  9643  
  9644  // Validate inspects the fields of the type to determine if they are valid.
  9645  func (s *ReplicationDestination) Validate() error {
  9646  	invalidParams := request.ErrInvalidParams{Context: "ReplicationDestination"}
  9647  	if s.Region == nil {
  9648  		invalidParams.Add(request.NewErrParamRequired("Region"))
  9649  	}
  9650  	if s.Region != nil && len(*s.Region) < 2 {
  9651  		invalidParams.Add(request.NewErrParamMinLen("Region", 2))
  9652  	}
  9653  	if s.RegistryId == nil {
  9654  		invalidParams.Add(request.NewErrParamRequired("RegistryId"))
  9655  	}
  9656  
  9657  	if invalidParams.Len() > 0 {
  9658  		return invalidParams
  9659  	}
  9660  	return nil
  9661  }
  9662  
  9663  // SetRegion sets the Region field's value.
  9664  func (s *ReplicationDestination) SetRegion(v string) *ReplicationDestination {
  9665  	s.Region = &v
  9666  	return s
  9667  }
  9668  
  9669  // SetRegistryId sets the RegistryId field's value.
  9670  func (s *ReplicationDestination) SetRegistryId(v string) *ReplicationDestination {
  9671  	s.RegistryId = &v
  9672  	return s
  9673  }
  9674  
  9675  // An array of objects representing the replication destinations and repository
  9676  // filters for a replication configuration.
  9677  type ReplicationRule struct {
  9678  	_ struct{} `type:"structure"`
  9679  
  9680  	// An array of objects representing the destination for a replication rule.
  9681  	//
  9682  	// Destinations is a required field
  9683  	Destinations []*ReplicationDestination `locationName:"destinations" type:"list" required:"true"`
  9684  
  9685  	// An array of objects representing the filters for a replication rule. Specifying
  9686  	// a repository filter for a replication rule provides a method for controlling
  9687  	// which repositories in a private registry are replicated.
  9688  	RepositoryFilters []*RepositoryFilter `locationName:"repositoryFilters" min:"1" type:"list"`
  9689  }
  9690  
  9691  // String returns the string representation.
  9692  //
  9693  // API parameter values that are decorated as "sensitive" in the API will not
  9694  // be included in the string output. The member name will be present, but the
  9695  // value will be replaced with "sensitive".
  9696  func (s ReplicationRule) String() string {
  9697  	return awsutil.Prettify(s)
  9698  }
  9699  
  9700  // GoString returns the string representation.
  9701  //
  9702  // API parameter values that are decorated as "sensitive" in the API will not
  9703  // be included in the string output. The member name will be present, but the
  9704  // value will be replaced with "sensitive".
  9705  func (s ReplicationRule) GoString() string {
  9706  	return s.String()
  9707  }
  9708  
  9709  // Validate inspects the fields of the type to determine if they are valid.
  9710  func (s *ReplicationRule) Validate() error {
  9711  	invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
  9712  	if s.Destinations == nil {
  9713  		invalidParams.Add(request.NewErrParamRequired("Destinations"))
  9714  	}
  9715  	if s.RepositoryFilters != nil && len(s.RepositoryFilters) < 1 {
  9716  		invalidParams.Add(request.NewErrParamMinLen("RepositoryFilters", 1))
  9717  	}
  9718  	if s.Destinations != nil {
  9719  		for i, v := range s.Destinations {
  9720  			if v == nil {
  9721  				continue
  9722  			}
  9723  			if err := v.Validate(); err != nil {
  9724  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
  9725  			}
  9726  		}
  9727  	}
  9728  	if s.RepositoryFilters != nil {
  9729  		for i, v := range s.RepositoryFilters {
  9730  			if v == nil {
  9731  				continue
  9732  			}
  9733  			if err := v.Validate(); err != nil {
  9734  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RepositoryFilters", i), err.(request.ErrInvalidParams))
  9735  			}
  9736  		}
  9737  	}
  9738  
  9739  	if invalidParams.Len() > 0 {
  9740  		return invalidParams
  9741  	}
  9742  	return nil
  9743  }
  9744  
  9745  // SetDestinations sets the Destinations field's value.
  9746  func (s *ReplicationRule) SetDestinations(v []*ReplicationDestination) *ReplicationRule {
  9747  	s.Destinations = v
  9748  	return s
  9749  }
  9750  
  9751  // SetRepositoryFilters sets the RepositoryFilters field's value.
  9752  func (s *ReplicationRule) SetRepositoryFilters(v []*RepositoryFilter) *ReplicationRule {
  9753  	s.RepositoryFilters = v
  9754  	return s
  9755  }
  9756  
  9757  // An object representing a repository.
  9758  type Repository struct {
  9759  	_ struct{} `type:"structure"`
  9760  
  9761  	// The date and time, in JavaScript date format, when the repository was created.
  9762  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  9763  
  9764  	// The encryption configuration for the repository. This determines how the
  9765  	// contents of your repository are encrypted at rest.
  9766  	EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"`
  9767  
  9768  	// The image scanning configuration for a repository.
  9769  	ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"`
  9770  
  9771  	// The tag mutability setting for the repository.
  9772  	ImageTagMutability *string `locationName:"imageTagMutability" type:"string" enum:"ImageTagMutability"`
  9773  
  9774  	// The Amazon Web Services account ID associated with the registry that contains
  9775  	// the repository.
  9776  	RegistryId *string `locationName:"registryId" type:"string"`
  9777  
  9778  	// The Amazon Resource Name (ARN) that identifies the repository. The ARN contains
  9779  	// the arn:aws:ecr namespace, followed by the region of the repository, Amazon
  9780  	// Web Services account ID of the repository owner, repository namespace, and
  9781  	// repository name. For example, arn:aws:ecr:region:012345678910:repository/test.
  9782  	RepositoryArn *string `locationName:"repositoryArn" type:"string"`
  9783  
  9784  	// The name of the repository.
  9785  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
  9786  
  9787  	// The URI for the repository. You can use this URI for container image push
  9788  	// and pull operations.
  9789  	RepositoryUri *string `locationName:"repositoryUri" type:"string"`
  9790  }
  9791  
  9792  // String returns the string representation.
  9793  //
  9794  // API parameter values that are decorated as "sensitive" in the API will not
  9795  // be included in the string output. The member name will be present, but the
  9796  // value will be replaced with "sensitive".
  9797  func (s Repository) String() string {
  9798  	return awsutil.Prettify(s)
  9799  }
  9800  
  9801  // GoString returns the string representation.
  9802  //
  9803  // API parameter values that are decorated as "sensitive" in the API will not
  9804  // be included in the string output. The member name will be present, but the
  9805  // value will be replaced with "sensitive".
  9806  func (s Repository) GoString() string {
  9807  	return s.String()
  9808  }
  9809  
  9810  // SetCreatedAt sets the CreatedAt field's value.
  9811  func (s *Repository) SetCreatedAt(v time.Time) *Repository {
  9812  	s.CreatedAt = &v
  9813  	return s
  9814  }
  9815  
  9816  // SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
  9817  func (s *Repository) SetEncryptionConfiguration(v *EncryptionConfiguration) *Repository {
  9818  	s.EncryptionConfiguration = v
  9819  	return s
  9820  }
  9821  
  9822  // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value.
  9823  func (s *Repository) SetImageScanningConfiguration(v *ImageScanningConfiguration) *Repository {
  9824  	s.ImageScanningConfiguration = v
  9825  	return s
  9826  }
  9827  
  9828  // SetImageTagMutability sets the ImageTagMutability field's value.
  9829  func (s *Repository) SetImageTagMutability(v string) *Repository {
  9830  	s.ImageTagMutability = &v
  9831  	return s
  9832  }
  9833  
  9834  // SetRegistryId sets the RegistryId field's value.
  9835  func (s *Repository) SetRegistryId(v string) *Repository {
  9836  	s.RegistryId = &v
  9837  	return s
  9838  }
  9839  
  9840  // SetRepositoryArn sets the RepositoryArn field's value.
  9841  func (s *Repository) SetRepositoryArn(v string) *Repository {
  9842  	s.RepositoryArn = &v
  9843  	return s
  9844  }
  9845  
  9846  // SetRepositoryName sets the RepositoryName field's value.
  9847  func (s *Repository) SetRepositoryName(v string) *Repository {
  9848  	s.RepositoryName = &v
  9849  	return s
  9850  }
  9851  
  9852  // SetRepositoryUri sets the RepositoryUri field's value.
  9853  func (s *Repository) SetRepositoryUri(v string) *Repository {
  9854  	s.RepositoryUri = &v
  9855  	return s
  9856  }
  9857  
  9858  // The specified repository already exists in the specified registry.
  9859  type RepositoryAlreadyExistsException struct {
  9860  	_            struct{}                  `type:"structure"`
  9861  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9862  
  9863  	// The error message associated with the exception.
  9864  	Message_ *string `locationName:"message" type:"string"`
  9865  }
  9866  
  9867  // String returns the string representation.
  9868  //
  9869  // API parameter values that are decorated as "sensitive" in the API will not
  9870  // be included in the string output. The member name will be present, but the
  9871  // value will be replaced with "sensitive".
  9872  func (s RepositoryAlreadyExistsException) String() string {
  9873  	return awsutil.Prettify(s)
  9874  }
  9875  
  9876  // GoString returns the string representation.
  9877  //
  9878  // API parameter values that are decorated as "sensitive" in the API will not
  9879  // be included in the string output. The member name will be present, but the
  9880  // value will be replaced with "sensitive".
  9881  func (s RepositoryAlreadyExistsException) GoString() string {
  9882  	return s.String()
  9883  }
  9884  
  9885  func newErrorRepositoryAlreadyExistsException(v protocol.ResponseMetadata) error {
  9886  	return &RepositoryAlreadyExistsException{
  9887  		RespMetadata: v,
  9888  	}
  9889  }
  9890  
  9891  // Code returns the exception type name.
  9892  func (s *RepositoryAlreadyExistsException) Code() string {
  9893  	return "RepositoryAlreadyExistsException"
  9894  }
  9895  
  9896  // Message returns the exception's message.
  9897  func (s *RepositoryAlreadyExistsException) Message() string {
  9898  	if s.Message_ != nil {
  9899  		return *s.Message_
  9900  	}
  9901  	return ""
  9902  }
  9903  
  9904  // OrigErr always returns nil, satisfies awserr.Error interface.
  9905  func (s *RepositoryAlreadyExistsException) OrigErr() error {
  9906  	return nil
  9907  }
  9908  
  9909  func (s *RepositoryAlreadyExistsException) Error() string {
  9910  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9911  }
  9912  
  9913  // Status code returns the HTTP status code for the request's response error.
  9914  func (s *RepositoryAlreadyExistsException) StatusCode() int {
  9915  	return s.RespMetadata.StatusCode
  9916  }
  9917  
  9918  // RequestID returns the service's response RequestID for request.
  9919  func (s *RepositoryAlreadyExistsException) RequestID() string {
  9920  	return s.RespMetadata.RequestID
  9921  }
  9922  
  9923  // The filter settings used with image replication. Specifying a repository
  9924  // filter to a replication rule provides a method for controlling which repositories
  9925  // in a private registry are replicated. If no repository filter is specified,
  9926  // all images in the repository are replicated.
  9927  type RepositoryFilter struct {
  9928  	_ struct{} `type:"structure"`
  9929  
  9930  	// The repository filter details. When the PREFIX_MATCH filter type is specified,
  9931  	// this value is required and should be the repository name prefix to configure
  9932  	// replication for.
  9933  	//
  9934  	// Filter is a required field
  9935  	Filter *string `locationName:"filter" min:"2" type:"string" required:"true"`
  9936  
  9937  	// The repository filter type. The only supported value is PREFIX_MATCH, which
  9938  	// is a repository name prefix specified with the filter parameter.
  9939  	//
  9940  	// FilterType is a required field
  9941  	FilterType *string `locationName:"filterType" type:"string" required:"true" enum:"RepositoryFilterType"`
  9942  }
  9943  
  9944  // String returns the string representation.
  9945  //
  9946  // API parameter values that are decorated as "sensitive" in the API will not
  9947  // be included in the string output. The member name will be present, but the
  9948  // value will be replaced with "sensitive".
  9949  func (s RepositoryFilter) String() string {
  9950  	return awsutil.Prettify(s)
  9951  }
  9952  
  9953  // GoString returns the string representation.
  9954  //
  9955  // API parameter values that are decorated as "sensitive" in the API will not
  9956  // be included in the string output. The member name will be present, but the
  9957  // value will be replaced with "sensitive".
  9958  func (s RepositoryFilter) GoString() string {
  9959  	return s.String()
  9960  }
  9961  
  9962  // Validate inspects the fields of the type to determine if they are valid.
  9963  func (s *RepositoryFilter) Validate() error {
  9964  	invalidParams := request.ErrInvalidParams{Context: "RepositoryFilter"}
  9965  	if s.Filter == nil {
  9966  		invalidParams.Add(request.NewErrParamRequired("Filter"))
  9967  	}
  9968  	if s.Filter != nil && len(*s.Filter) < 2 {
  9969  		invalidParams.Add(request.NewErrParamMinLen("Filter", 2))
  9970  	}
  9971  	if s.FilterType == nil {
  9972  		invalidParams.Add(request.NewErrParamRequired("FilterType"))
  9973  	}
  9974  
  9975  	if invalidParams.Len() > 0 {
  9976  		return invalidParams
  9977  	}
  9978  	return nil
  9979  }
  9980  
  9981  // SetFilter sets the Filter field's value.
  9982  func (s *RepositoryFilter) SetFilter(v string) *RepositoryFilter {
  9983  	s.Filter = &v
  9984  	return s
  9985  }
  9986  
  9987  // SetFilterType sets the FilterType field's value.
  9988  func (s *RepositoryFilter) SetFilterType(v string) *RepositoryFilter {
  9989  	s.FilterType = &v
  9990  	return s
  9991  }
  9992  
  9993  // The specified repository contains images. To delete a repository that contains
  9994  // images, you must force the deletion with the force parameter.
  9995  type RepositoryNotEmptyException struct {
  9996  	_            struct{}                  `type:"structure"`
  9997  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9998  
  9999  	// The error message associated with the exception.
 10000  	Message_ *string `locationName:"message" type:"string"`
 10001  }
 10002  
 10003  // String returns the string representation.
 10004  //
 10005  // API parameter values that are decorated as "sensitive" in the API will not
 10006  // be included in the string output. The member name will be present, but the
 10007  // value will be replaced with "sensitive".
 10008  func (s RepositoryNotEmptyException) String() string {
 10009  	return awsutil.Prettify(s)
 10010  }
 10011  
 10012  // GoString returns the string representation.
 10013  //
 10014  // API parameter values that are decorated as "sensitive" in the API will not
 10015  // be included in the string output. The member name will be present, but the
 10016  // value will be replaced with "sensitive".
 10017  func (s RepositoryNotEmptyException) GoString() string {
 10018  	return s.String()
 10019  }
 10020  
 10021  func newErrorRepositoryNotEmptyException(v protocol.ResponseMetadata) error {
 10022  	return &RepositoryNotEmptyException{
 10023  		RespMetadata: v,
 10024  	}
 10025  }
 10026  
 10027  // Code returns the exception type name.
 10028  func (s *RepositoryNotEmptyException) Code() string {
 10029  	return "RepositoryNotEmptyException"
 10030  }
 10031  
 10032  // Message returns the exception's message.
 10033  func (s *RepositoryNotEmptyException) Message() string {
 10034  	if s.Message_ != nil {
 10035  		return *s.Message_
 10036  	}
 10037  	return ""
 10038  }
 10039  
 10040  // OrigErr always returns nil, satisfies awserr.Error interface.
 10041  func (s *RepositoryNotEmptyException) OrigErr() error {
 10042  	return nil
 10043  }
 10044  
 10045  func (s *RepositoryNotEmptyException) Error() string {
 10046  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10047  }
 10048  
 10049  // Status code returns the HTTP status code for the request's response error.
 10050  func (s *RepositoryNotEmptyException) StatusCode() int {
 10051  	return s.RespMetadata.StatusCode
 10052  }
 10053  
 10054  // RequestID returns the service's response RequestID for request.
 10055  func (s *RepositoryNotEmptyException) RequestID() string {
 10056  	return s.RespMetadata.RequestID
 10057  }
 10058  
 10059  // The specified repository could not be found. Check the spelling of the specified
 10060  // repository and ensure that you are performing operations on the correct registry.
 10061  type RepositoryNotFoundException struct {
 10062  	_            struct{}                  `type:"structure"`
 10063  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10064  
 10065  	// The error message associated with the exception.
 10066  	Message_ *string `locationName:"message" type:"string"`
 10067  }
 10068  
 10069  // String returns the string representation.
 10070  //
 10071  // API parameter values that are decorated as "sensitive" in the API will not
 10072  // be included in the string output. The member name will be present, but the
 10073  // value will be replaced with "sensitive".
 10074  func (s RepositoryNotFoundException) String() string {
 10075  	return awsutil.Prettify(s)
 10076  }
 10077  
 10078  // GoString returns the string representation.
 10079  //
 10080  // API parameter values that are decorated as "sensitive" in the API will not
 10081  // be included in the string output. The member name will be present, but the
 10082  // value will be replaced with "sensitive".
 10083  func (s RepositoryNotFoundException) GoString() string {
 10084  	return s.String()
 10085  }
 10086  
 10087  func newErrorRepositoryNotFoundException(v protocol.ResponseMetadata) error {
 10088  	return &RepositoryNotFoundException{
 10089  		RespMetadata: v,
 10090  	}
 10091  }
 10092  
 10093  // Code returns the exception type name.
 10094  func (s *RepositoryNotFoundException) Code() string {
 10095  	return "RepositoryNotFoundException"
 10096  }
 10097  
 10098  // Message returns the exception's message.
 10099  func (s *RepositoryNotFoundException) Message() string {
 10100  	if s.Message_ != nil {
 10101  		return *s.Message_
 10102  	}
 10103  	return ""
 10104  }
 10105  
 10106  // OrigErr always returns nil, satisfies awserr.Error interface.
 10107  func (s *RepositoryNotFoundException) OrigErr() error {
 10108  	return nil
 10109  }
 10110  
 10111  func (s *RepositoryNotFoundException) Error() string {
 10112  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10113  }
 10114  
 10115  // Status code returns the HTTP status code for the request's response error.
 10116  func (s *RepositoryNotFoundException) StatusCode() int {
 10117  	return s.RespMetadata.StatusCode
 10118  }
 10119  
 10120  // RequestID returns the service's response RequestID for request.
 10121  func (s *RepositoryNotFoundException) RequestID() string {
 10122  	return s.RespMetadata.RequestID
 10123  }
 10124  
 10125  // The specified repository and registry combination does not have an associated
 10126  // repository policy.
 10127  type RepositoryPolicyNotFoundException struct {
 10128  	_            struct{}                  `type:"structure"`
 10129  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10130  
 10131  	// The error message associated with the exception.
 10132  	Message_ *string `locationName:"message" type:"string"`
 10133  }
 10134  
 10135  // String returns the string representation.
 10136  //
 10137  // API parameter values that are decorated as "sensitive" in the API will not
 10138  // be included in the string output. The member name will be present, but the
 10139  // value will be replaced with "sensitive".
 10140  func (s RepositoryPolicyNotFoundException) String() string {
 10141  	return awsutil.Prettify(s)
 10142  }
 10143  
 10144  // GoString returns the string representation.
 10145  //
 10146  // API parameter values that are decorated as "sensitive" in the API will not
 10147  // be included in the string output. The member name will be present, but the
 10148  // value will be replaced with "sensitive".
 10149  func (s RepositoryPolicyNotFoundException) GoString() string {
 10150  	return s.String()
 10151  }
 10152  
 10153  func newErrorRepositoryPolicyNotFoundException(v protocol.ResponseMetadata) error {
 10154  	return &RepositoryPolicyNotFoundException{
 10155  		RespMetadata: v,
 10156  	}
 10157  }
 10158  
 10159  // Code returns the exception type name.
 10160  func (s *RepositoryPolicyNotFoundException) Code() string {
 10161  	return "RepositoryPolicyNotFoundException"
 10162  }
 10163  
 10164  // Message returns the exception's message.
 10165  func (s *RepositoryPolicyNotFoundException) Message() string {
 10166  	if s.Message_ != nil {
 10167  		return *s.Message_
 10168  	}
 10169  	return ""
 10170  }
 10171  
 10172  // OrigErr always returns nil, satisfies awserr.Error interface.
 10173  func (s *RepositoryPolicyNotFoundException) OrigErr() error {
 10174  	return nil
 10175  }
 10176  
 10177  func (s *RepositoryPolicyNotFoundException) Error() string {
 10178  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10179  }
 10180  
 10181  // Status code returns the HTTP status code for the request's response error.
 10182  func (s *RepositoryPolicyNotFoundException) StatusCode() int {
 10183  	return s.RespMetadata.StatusCode
 10184  }
 10185  
 10186  // RequestID returns the service's response RequestID for request.
 10187  func (s *RepositoryPolicyNotFoundException) RequestID() string {
 10188  	return s.RespMetadata.RequestID
 10189  }
 10190  
 10191  // The specified image scan could not be found. Ensure that image scanning is
 10192  // enabled on the repository and try again.
 10193  type ScanNotFoundException struct {
 10194  	_            struct{}                  `type:"structure"`
 10195  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10196  
 10197  	Message_ *string `locationName:"message" type:"string"`
 10198  }
 10199  
 10200  // String returns the string representation.
 10201  //
 10202  // API parameter values that are decorated as "sensitive" in the API will not
 10203  // be included in the string output. The member name will be present, but the
 10204  // value will be replaced with "sensitive".
 10205  func (s ScanNotFoundException) String() string {
 10206  	return awsutil.Prettify(s)
 10207  }
 10208  
 10209  // GoString returns the string representation.
 10210  //
 10211  // API parameter values that are decorated as "sensitive" in the API will not
 10212  // be included in the string output. The member name will be present, but the
 10213  // value will be replaced with "sensitive".
 10214  func (s ScanNotFoundException) GoString() string {
 10215  	return s.String()
 10216  }
 10217  
 10218  func newErrorScanNotFoundException(v protocol.ResponseMetadata) error {
 10219  	return &ScanNotFoundException{
 10220  		RespMetadata: v,
 10221  	}
 10222  }
 10223  
 10224  // Code returns the exception type name.
 10225  func (s *ScanNotFoundException) Code() string {
 10226  	return "ScanNotFoundException"
 10227  }
 10228  
 10229  // Message returns the exception's message.
 10230  func (s *ScanNotFoundException) Message() string {
 10231  	if s.Message_ != nil {
 10232  		return *s.Message_
 10233  	}
 10234  	return ""
 10235  }
 10236  
 10237  // OrigErr always returns nil, satisfies awserr.Error interface.
 10238  func (s *ScanNotFoundException) OrigErr() error {
 10239  	return nil
 10240  }
 10241  
 10242  func (s *ScanNotFoundException) Error() string {
 10243  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10244  }
 10245  
 10246  // Status code returns the HTTP status code for the request's response error.
 10247  func (s *ScanNotFoundException) StatusCode() int {
 10248  	return s.RespMetadata.StatusCode
 10249  }
 10250  
 10251  // RequestID returns the service's response RequestID for request.
 10252  func (s *ScanNotFoundException) RequestID() string {
 10253  	return s.RespMetadata.RequestID
 10254  }
 10255  
 10256  // These errors are usually caused by a server-side issue.
 10257  type ServerException struct {
 10258  	_            struct{}                  `type:"structure"`
 10259  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10260  
 10261  	// The error message associated with the exception.
 10262  	Message_ *string `locationName:"message" type:"string"`
 10263  }
 10264  
 10265  // String returns the string representation.
 10266  //
 10267  // API parameter values that are decorated as "sensitive" in the API will not
 10268  // be included in the string output. The member name will be present, but the
 10269  // value will be replaced with "sensitive".
 10270  func (s ServerException) String() string {
 10271  	return awsutil.Prettify(s)
 10272  }
 10273  
 10274  // GoString returns the string representation.
 10275  //
 10276  // API parameter values that are decorated as "sensitive" in the API will not
 10277  // be included in the string output. The member name will be present, but the
 10278  // value will be replaced with "sensitive".
 10279  func (s ServerException) GoString() string {
 10280  	return s.String()
 10281  }
 10282  
 10283  func newErrorServerException(v protocol.ResponseMetadata) error {
 10284  	return &ServerException{
 10285  		RespMetadata: v,
 10286  	}
 10287  }
 10288  
 10289  // Code returns the exception type name.
 10290  func (s *ServerException) Code() string {
 10291  	return "ServerException"
 10292  }
 10293  
 10294  // Message returns the exception's message.
 10295  func (s *ServerException) Message() string {
 10296  	if s.Message_ != nil {
 10297  		return *s.Message_
 10298  	}
 10299  	return ""
 10300  }
 10301  
 10302  // OrigErr always returns nil, satisfies awserr.Error interface.
 10303  func (s *ServerException) OrigErr() error {
 10304  	return nil
 10305  }
 10306  
 10307  func (s *ServerException) Error() string {
 10308  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10309  }
 10310  
 10311  // Status code returns the HTTP status code for the request's response error.
 10312  func (s *ServerException) StatusCode() int {
 10313  	return s.RespMetadata.StatusCode
 10314  }
 10315  
 10316  // RequestID returns the service's response RequestID for request.
 10317  func (s *ServerException) RequestID() string {
 10318  	return s.RespMetadata.RequestID
 10319  }
 10320  
 10321  type SetRepositoryPolicyInput struct {
 10322  	_ struct{} `type:"structure"`
 10323  
 10324  	// If the policy you are attempting to set on a repository policy would prevent
 10325  	// you from setting another policy in the future, you must force the SetRepositoryPolicy
 10326  	// operation. This is intended to prevent accidental repository lock outs.
 10327  	Force *bool `locationName:"force" type:"boolean"`
 10328  
 10329  	// The JSON repository policy text to apply to the repository. For more information,
 10330  	// see Amazon ECR repository policies (https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html)
 10331  	// in the Amazon Elastic Container Registry User Guide.
 10332  	//
 10333  	// PolicyText is a required field
 10334  	PolicyText *string `locationName:"policyText" type:"string" required:"true"`
 10335  
 10336  	// The Amazon Web Services account ID associated with the registry that contains
 10337  	// the repository. If you do not specify a registry, the default registry is
 10338  	// assumed.
 10339  	RegistryId *string `locationName:"registryId" type:"string"`
 10340  
 10341  	// The name of the repository to receive the policy.
 10342  	//
 10343  	// RepositoryName is a required field
 10344  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
 10345  }
 10346  
 10347  // String returns the string representation.
 10348  //
 10349  // API parameter values that are decorated as "sensitive" in the API will not
 10350  // be included in the string output. The member name will be present, but the
 10351  // value will be replaced with "sensitive".
 10352  func (s SetRepositoryPolicyInput) String() string {
 10353  	return awsutil.Prettify(s)
 10354  }
 10355  
 10356  // GoString returns the string representation.
 10357  //
 10358  // API parameter values that are decorated as "sensitive" in the API will not
 10359  // be included in the string output. The member name will be present, but the
 10360  // value will be replaced with "sensitive".
 10361  func (s SetRepositoryPolicyInput) GoString() string {
 10362  	return s.String()
 10363  }
 10364  
 10365  // Validate inspects the fields of the type to determine if they are valid.
 10366  func (s *SetRepositoryPolicyInput) Validate() error {
 10367  	invalidParams := request.ErrInvalidParams{Context: "SetRepositoryPolicyInput"}
 10368  	if s.PolicyText == nil {
 10369  		invalidParams.Add(request.NewErrParamRequired("PolicyText"))
 10370  	}
 10371  	if s.RepositoryName == nil {
 10372  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
 10373  	}
 10374  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
 10375  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
 10376  	}
 10377  
 10378  	if invalidParams.Len() > 0 {
 10379  		return invalidParams
 10380  	}
 10381  	return nil
 10382  }
 10383  
 10384  // SetForce sets the Force field's value.
 10385  func (s *SetRepositoryPolicyInput) SetForce(v bool) *SetRepositoryPolicyInput {
 10386  	s.Force = &v
 10387  	return s
 10388  }
 10389  
 10390  // SetPolicyText sets the PolicyText field's value.
 10391  func (s *SetRepositoryPolicyInput) SetPolicyText(v string) *SetRepositoryPolicyInput {
 10392  	s.PolicyText = &v
 10393  	return s
 10394  }
 10395  
 10396  // SetRegistryId sets the RegistryId field's value.
 10397  func (s *SetRepositoryPolicyInput) SetRegistryId(v string) *SetRepositoryPolicyInput {
 10398  	s.RegistryId = &v
 10399  	return s
 10400  }
 10401  
 10402  // SetRepositoryName sets the RepositoryName field's value.
 10403  func (s *SetRepositoryPolicyInput) SetRepositoryName(v string) *SetRepositoryPolicyInput {
 10404  	s.RepositoryName = &v
 10405  	return s
 10406  }
 10407  
 10408  type SetRepositoryPolicyOutput struct {
 10409  	_ struct{} `type:"structure"`
 10410  
 10411  	// The JSON repository policy text applied to the repository.
 10412  	PolicyText *string `locationName:"policyText" type:"string"`
 10413  
 10414  	// The registry ID associated with the request.
 10415  	RegistryId *string `locationName:"registryId" type:"string"`
 10416  
 10417  	// The repository name associated with the request.
 10418  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
 10419  }
 10420  
 10421  // String returns the string representation.
 10422  //
 10423  // API parameter values that are decorated as "sensitive" in the API will not
 10424  // be included in the string output. The member name will be present, but the
 10425  // value will be replaced with "sensitive".
 10426  func (s SetRepositoryPolicyOutput) String() string {
 10427  	return awsutil.Prettify(s)
 10428  }
 10429  
 10430  // GoString returns the string representation.
 10431  //
 10432  // API parameter values that are decorated as "sensitive" in the API will not
 10433  // be included in the string output. The member name will be present, but the
 10434  // value will be replaced with "sensitive".
 10435  func (s SetRepositoryPolicyOutput) GoString() string {
 10436  	return s.String()
 10437  }
 10438  
 10439  // SetPolicyText sets the PolicyText field's value.
 10440  func (s *SetRepositoryPolicyOutput) SetPolicyText(v string) *SetRepositoryPolicyOutput {
 10441  	s.PolicyText = &v
 10442  	return s
 10443  }
 10444  
 10445  // SetRegistryId sets the RegistryId field's value.
 10446  func (s *SetRepositoryPolicyOutput) SetRegistryId(v string) *SetRepositoryPolicyOutput {
 10447  	s.RegistryId = &v
 10448  	return s
 10449  }
 10450  
 10451  // SetRepositoryName sets the RepositoryName field's value.
 10452  func (s *SetRepositoryPolicyOutput) SetRepositoryName(v string) *SetRepositoryPolicyOutput {
 10453  	s.RepositoryName = &v
 10454  	return s
 10455  }
 10456  
 10457  type StartImageScanInput struct {
 10458  	_ struct{} `type:"structure"`
 10459  
 10460  	// An object with identifying information for an image in an Amazon ECR repository.
 10461  	//
 10462  	// ImageId is a required field
 10463  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure" required:"true"`
 10464  
 10465  	// The Amazon Web Services account ID associated with the registry that contains
 10466  	// the repository in which to start an image scan request. If you do not specify
 10467  	// a registry, the default registry is assumed.
 10468  	RegistryId *string `locationName:"registryId" type:"string"`
 10469  
 10470  	// The name of the repository that contains the images to scan.
 10471  	//
 10472  	// RepositoryName is a required field
 10473  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
 10474  }
 10475  
 10476  // String returns the string representation.
 10477  //
 10478  // API parameter values that are decorated as "sensitive" in the API will not
 10479  // be included in the string output. The member name will be present, but the
 10480  // value will be replaced with "sensitive".
 10481  func (s StartImageScanInput) String() string {
 10482  	return awsutil.Prettify(s)
 10483  }
 10484  
 10485  // GoString returns the string representation.
 10486  //
 10487  // API parameter values that are decorated as "sensitive" in the API will not
 10488  // be included in the string output. The member name will be present, but the
 10489  // value will be replaced with "sensitive".
 10490  func (s StartImageScanInput) GoString() string {
 10491  	return s.String()
 10492  }
 10493  
 10494  // Validate inspects the fields of the type to determine if they are valid.
 10495  func (s *StartImageScanInput) Validate() error {
 10496  	invalidParams := request.ErrInvalidParams{Context: "StartImageScanInput"}
 10497  	if s.ImageId == nil {
 10498  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
 10499  	}
 10500  	if s.RepositoryName == nil {
 10501  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
 10502  	}
 10503  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
 10504  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
 10505  	}
 10506  	if s.ImageId != nil {
 10507  		if err := s.ImageId.Validate(); err != nil {
 10508  			invalidParams.AddNested("ImageId", err.(request.ErrInvalidParams))
 10509  		}
 10510  	}
 10511  
 10512  	if invalidParams.Len() > 0 {
 10513  		return invalidParams
 10514  	}
 10515  	return nil
 10516  }
 10517  
 10518  // SetImageId sets the ImageId field's value.
 10519  func (s *StartImageScanInput) SetImageId(v *ImageIdentifier) *StartImageScanInput {
 10520  	s.ImageId = v
 10521  	return s
 10522  }
 10523  
 10524  // SetRegistryId sets the RegistryId field's value.
 10525  func (s *StartImageScanInput) SetRegistryId(v string) *StartImageScanInput {
 10526  	s.RegistryId = &v
 10527  	return s
 10528  }
 10529  
 10530  // SetRepositoryName sets the RepositoryName field's value.
 10531  func (s *StartImageScanInput) SetRepositoryName(v string) *StartImageScanInput {
 10532  	s.RepositoryName = &v
 10533  	return s
 10534  }
 10535  
 10536  type StartImageScanOutput struct {
 10537  	_ struct{} `type:"structure"`
 10538  
 10539  	// An object with identifying information for an image in an Amazon ECR repository.
 10540  	ImageId *ImageIdentifier `locationName:"imageId" type:"structure"`
 10541  
 10542  	// The current state of the scan.
 10543  	ImageScanStatus *ImageScanStatus `locationName:"imageScanStatus" type:"structure"`
 10544  
 10545  	// The registry ID associated with the request.
 10546  	RegistryId *string `locationName:"registryId" type:"string"`
 10547  
 10548  	// The repository name associated with the request.
 10549  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
 10550  }
 10551  
 10552  // String returns the string representation.
 10553  //
 10554  // API parameter values that are decorated as "sensitive" in the API will not
 10555  // be included in the string output. The member name will be present, but the
 10556  // value will be replaced with "sensitive".
 10557  func (s StartImageScanOutput) String() string {
 10558  	return awsutil.Prettify(s)
 10559  }
 10560  
 10561  // GoString returns the string representation.
 10562  //
 10563  // API parameter values that are decorated as "sensitive" in the API will not
 10564  // be included in the string output. The member name will be present, but the
 10565  // value will be replaced with "sensitive".
 10566  func (s StartImageScanOutput) GoString() string {
 10567  	return s.String()
 10568  }
 10569  
 10570  // SetImageId sets the ImageId field's value.
 10571  func (s *StartImageScanOutput) SetImageId(v *ImageIdentifier) *StartImageScanOutput {
 10572  	s.ImageId = v
 10573  	return s
 10574  }
 10575  
 10576  // SetImageScanStatus sets the ImageScanStatus field's value.
 10577  func (s *StartImageScanOutput) SetImageScanStatus(v *ImageScanStatus) *StartImageScanOutput {
 10578  	s.ImageScanStatus = v
 10579  	return s
 10580  }
 10581  
 10582  // SetRegistryId sets the RegistryId field's value.
 10583  func (s *StartImageScanOutput) SetRegistryId(v string) *StartImageScanOutput {
 10584  	s.RegistryId = &v
 10585  	return s
 10586  }
 10587  
 10588  // SetRepositoryName sets the RepositoryName field's value.
 10589  func (s *StartImageScanOutput) SetRepositoryName(v string) *StartImageScanOutput {
 10590  	s.RepositoryName = &v
 10591  	return s
 10592  }
 10593  
 10594  type StartLifecyclePolicyPreviewInput struct {
 10595  	_ struct{} `type:"structure"`
 10596  
 10597  	// The policy to be evaluated against. If you do not specify a policy, the current
 10598  	// policy for the repository is used.
 10599  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string"`
 10600  
 10601  	// The Amazon Web Services account ID associated with the registry that contains
 10602  	// the repository. If you do not specify a registry, the default registry is
 10603  	// assumed.
 10604  	RegistryId *string `locationName:"registryId" type:"string"`
 10605  
 10606  	// The name of the repository to be evaluated.
 10607  	//
 10608  	// RepositoryName is a required field
 10609  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
 10610  }
 10611  
 10612  // String returns the string representation.
 10613  //
 10614  // API parameter values that are decorated as "sensitive" in the API will not
 10615  // be included in the string output. The member name will be present, but the
 10616  // value will be replaced with "sensitive".
 10617  func (s StartLifecyclePolicyPreviewInput) String() string {
 10618  	return awsutil.Prettify(s)
 10619  }
 10620  
 10621  // GoString returns the string representation.
 10622  //
 10623  // API parameter values that are decorated as "sensitive" in the API will not
 10624  // be included in the string output. The member name will be present, but the
 10625  // value will be replaced with "sensitive".
 10626  func (s StartLifecyclePolicyPreviewInput) GoString() string {
 10627  	return s.String()
 10628  }
 10629  
 10630  // Validate inspects the fields of the type to determine if they are valid.
 10631  func (s *StartLifecyclePolicyPreviewInput) Validate() error {
 10632  	invalidParams := request.ErrInvalidParams{Context: "StartLifecyclePolicyPreviewInput"}
 10633  	if s.LifecyclePolicyText != nil && len(*s.LifecyclePolicyText) < 100 {
 10634  		invalidParams.Add(request.NewErrParamMinLen("LifecyclePolicyText", 100))
 10635  	}
 10636  	if s.RepositoryName == nil {
 10637  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
 10638  	}
 10639  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
 10640  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
 10641  	}
 10642  
 10643  	if invalidParams.Len() > 0 {
 10644  		return invalidParams
 10645  	}
 10646  	return nil
 10647  }
 10648  
 10649  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
 10650  func (s *StartLifecyclePolicyPreviewInput) SetLifecyclePolicyText(v string) *StartLifecyclePolicyPreviewInput {
 10651  	s.LifecyclePolicyText = &v
 10652  	return s
 10653  }
 10654  
 10655  // SetRegistryId sets the RegistryId field's value.
 10656  func (s *StartLifecyclePolicyPreviewInput) SetRegistryId(v string) *StartLifecyclePolicyPreviewInput {
 10657  	s.RegistryId = &v
 10658  	return s
 10659  }
 10660  
 10661  // SetRepositoryName sets the RepositoryName field's value.
 10662  func (s *StartLifecyclePolicyPreviewInput) SetRepositoryName(v string) *StartLifecyclePolicyPreviewInput {
 10663  	s.RepositoryName = &v
 10664  	return s
 10665  }
 10666  
 10667  type StartLifecyclePolicyPreviewOutput struct {
 10668  	_ struct{} `type:"structure"`
 10669  
 10670  	// The JSON repository policy text.
 10671  	LifecyclePolicyText *string `locationName:"lifecyclePolicyText" min:"100" type:"string"`
 10672  
 10673  	// The registry ID associated with the request.
 10674  	RegistryId *string `locationName:"registryId" type:"string"`
 10675  
 10676  	// The repository name associated with the request.
 10677  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
 10678  
 10679  	// The status of the lifecycle policy preview request.
 10680  	Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyPreviewStatus"`
 10681  }
 10682  
 10683  // String returns the string representation.
 10684  //
 10685  // API parameter values that are decorated as "sensitive" in the API will not
 10686  // be included in the string output. The member name will be present, but the
 10687  // value will be replaced with "sensitive".
 10688  func (s StartLifecyclePolicyPreviewOutput) String() string {
 10689  	return awsutil.Prettify(s)
 10690  }
 10691  
 10692  // GoString returns the string representation.
 10693  //
 10694  // API parameter values that are decorated as "sensitive" in the API will not
 10695  // be included in the string output. The member name will be present, but the
 10696  // value will be replaced with "sensitive".
 10697  func (s StartLifecyclePolicyPreviewOutput) GoString() string {
 10698  	return s.String()
 10699  }
 10700  
 10701  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
 10702  func (s *StartLifecyclePolicyPreviewOutput) SetLifecyclePolicyText(v string) *StartLifecyclePolicyPreviewOutput {
 10703  	s.LifecyclePolicyText = &v
 10704  	return s
 10705  }
 10706  
 10707  // SetRegistryId sets the RegistryId field's value.
 10708  func (s *StartLifecyclePolicyPreviewOutput) SetRegistryId(v string) *StartLifecyclePolicyPreviewOutput {
 10709  	s.RegistryId = &v
 10710  	return s
 10711  }
 10712  
 10713  // SetRepositoryName sets the RepositoryName field's value.
 10714  func (s *StartLifecyclePolicyPreviewOutput) SetRepositoryName(v string) *StartLifecyclePolicyPreviewOutput {
 10715  	s.RepositoryName = &v
 10716  	return s
 10717  }
 10718  
 10719  // SetStatus sets the Status field's value.
 10720  func (s *StartLifecyclePolicyPreviewOutput) SetStatus(v string) *StartLifecyclePolicyPreviewOutput {
 10721  	s.Status = &v
 10722  	return s
 10723  }
 10724  
 10725  // The metadata that you apply to a resource to help you categorize and organize
 10726  // them. Each tag consists of a key and an optional value, both of which you
 10727  // define. Tag keys can have a maximum character length of 128 characters, and
 10728  // tag values can have a maximum length of 256 characters.
 10729  type Tag struct {
 10730  	_ struct{} `type:"structure"`
 10731  
 10732  	// One part of a key-value pair that make up a tag. A key is a general label
 10733  	// that acts like a category for more specific tag values.
 10734  	Key *string `type:"string"`
 10735  
 10736  	// The optional part of a key-value pair that make up a tag. A value acts as
 10737  	// a descriptor within a tag category (key).
 10738  	Value *string `type:"string"`
 10739  }
 10740  
 10741  // String returns the string representation.
 10742  //
 10743  // API parameter values that are decorated as "sensitive" in the API will not
 10744  // be included in the string output. The member name will be present, but the
 10745  // value will be replaced with "sensitive".
 10746  func (s Tag) String() string {
 10747  	return awsutil.Prettify(s)
 10748  }
 10749  
 10750  // GoString returns the string representation.
 10751  //
 10752  // API parameter values that are decorated as "sensitive" in the API will not
 10753  // be included in the string output. The member name will be present, but the
 10754  // value will be replaced with "sensitive".
 10755  func (s Tag) GoString() string {
 10756  	return s.String()
 10757  }
 10758  
 10759  // SetKey sets the Key field's value.
 10760  func (s *Tag) SetKey(v string) *Tag {
 10761  	s.Key = &v
 10762  	return s
 10763  }
 10764  
 10765  // SetValue sets the Value field's value.
 10766  func (s *Tag) SetValue(v string) *Tag {
 10767  	s.Value = &v
 10768  	return s
 10769  }
 10770  
 10771  type TagResourceInput struct {
 10772  	_ struct{} `type:"structure"`
 10773  
 10774  	// The Amazon Resource Name (ARN) of the the resource to which to add tags.
 10775  	// Currently, the only supported resource is an Amazon ECR repository.
 10776  	//
 10777  	// ResourceArn is a required field
 10778  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
 10779  
 10780  	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
 10781  	// keys can have a maximum character length of 128 characters, and tag values
 10782  	// can have a maximum length of 256 characters.
 10783  	//
 10784  	// Tags is a required field
 10785  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
 10786  }
 10787  
 10788  // String returns the string representation.
 10789  //
 10790  // API parameter values that are decorated as "sensitive" in the API will not
 10791  // be included in the string output. The member name will be present, but the
 10792  // value will be replaced with "sensitive".
 10793  func (s TagResourceInput) String() string {
 10794  	return awsutil.Prettify(s)
 10795  }
 10796  
 10797  // GoString returns the string representation.
 10798  //
 10799  // API parameter values that are decorated as "sensitive" in the API will not
 10800  // be included in the string output. The member name will be present, but the
 10801  // value will be replaced with "sensitive".
 10802  func (s TagResourceInput) GoString() string {
 10803  	return s.String()
 10804  }
 10805  
 10806  // Validate inspects the fields of the type to determine if they are valid.
 10807  func (s *TagResourceInput) Validate() error {
 10808  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 10809  	if s.ResourceArn == nil {
 10810  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10811  	}
 10812  	if s.Tags == nil {
 10813  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 10814  	}
 10815  
 10816  	if invalidParams.Len() > 0 {
 10817  		return invalidParams
 10818  	}
 10819  	return nil
 10820  }
 10821  
 10822  // SetResourceArn sets the ResourceArn field's value.
 10823  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 10824  	s.ResourceArn = &v
 10825  	return s
 10826  }
 10827  
 10828  // SetTags sets the Tags field's value.
 10829  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 10830  	s.Tags = v
 10831  	return s
 10832  }
 10833  
 10834  type TagResourceOutput struct {
 10835  	_ struct{} `type:"structure"`
 10836  }
 10837  
 10838  // String returns the string representation.
 10839  //
 10840  // API parameter values that are decorated as "sensitive" in the API will not
 10841  // be included in the string output. The member name will be present, but the
 10842  // value will be replaced with "sensitive".
 10843  func (s TagResourceOutput) String() string {
 10844  	return awsutil.Prettify(s)
 10845  }
 10846  
 10847  // GoString returns the string representation.
 10848  //
 10849  // API parameter values that are decorated as "sensitive" in the API will not
 10850  // be included in the string output. The member name will be present, but the
 10851  // value will be replaced with "sensitive".
 10852  func (s TagResourceOutput) GoString() string {
 10853  	return s.String()
 10854  }
 10855  
 10856  // The list of tags on the repository is over the limit. The maximum number
 10857  // of tags that can be applied to a repository is 50.
 10858  type TooManyTagsException struct {
 10859  	_            struct{}                  `type:"structure"`
 10860  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10861  
 10862  	Message_ *string `locationName:"message" type:"string"`
 10863  }
 10864  
 10865  // String returns the string representation.
 10866  //
 10867  // API parameter values that are decorated as "sensitive" in the API will not
 10868  // be included in the string output. The member name will be present, but the
 10869  // value will be replaced with "sensitive".
 10870  func (s TooManyTagsException) String() string {
 10871  	return awsutil.Prettify(s)
 10872  }
 10873  
 10874  // GoString returns the string representation.
 10875  //
 10876  // API parameter values that are decorated as "sensitive" in the API will not
 10877  // be included in the string output. The member name will be present, but the
 10878  // value will be replaced with "sensitive".
 10879  func (s TooManyTagsException) GoString() string {
 10880  	return s.String()
 10881  }
 10882  
 10883  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
 10884  	return &TooManyTagsException{
 10885  		RespMetadata: v,
 10886  	}
 10887  }
 10888  
 10889  // Code returns the exception type name.
 10890  func (s *TooManyTagsException) Code() string {
 10891  	return "TooManyTagsException"
 10892  }
 10893  
 10894  // Message returns the exception's message.
 10895  func (s *TooManyTagsException) Message() string {
 10896  	if s.Message_ != nil {
 10897  		return *s.Message_
 10898  	}
 10899  	return ""
 10900  }
 10901  
 10902  // OrigErr always returns nil, satisfies awserr.Error interface.
 10903  func (s *TooManyTagsException) OrigErr() error {
 10904  	return nil
 10905  }
 10906  
 10907  func (s *TooManyTagsException) Error() string {
 10908  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10909  }
 10910  
 10911  // Status code returns the HTTP status code for the request's response error.
 10912  func (s *TooManyTagsException) StatusCode() int {
 10913  	return s.RespMetadata.StatusCode
 10914  }
 10915  
 10916  // RequestID returns the service's response RequestID for request.
 10917  func (s *TooManyTagsException) RequestID() string {
 10918  	return s.RespMetadata.RequestID
 10919  }
 10920  
 10921  // The image is of a type that cannot be scanned.
 10922  type UnsupportedImageTypeException struct {
 10923  	_            struct{}                  `type:"structure"`
 10924  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10925  
 10926  	Message_ *string `locationName:"message" type:"string"`
 10927  }
 10928  
 10929  // String returns the string representation.
 10930  //
 10931  // API parameter values that are decorated as "sensitive" in the API will not
 10932  // be included in the string output. The member name will be present, but the
 10933  // value will be replaced with "sensitive".
 10934  func (s UnsupportedImageTypeException) String() string {
 10935  	return awsutil.Prettify(s)
 10936  }
 10937  
 10938  // GoString returns the string representation.
 10939  //
 10940  // API parameter values that are decorated as "sensitive" in the API will not
 10941  // be included in the string output. The member name will be present, but the
 10942  // value will be replaced with "sensitive".
 10943  func (s UnsupportedImageTypeException) GoString() string {
 10944  	return s.String()
 10945  }
 10946  
 10947  func newErrorUnsupportedImageTypeException(v protocol.ResponseMetadata) error {
 10948  	return &UnsupportedImageTypeException{
 10949  		RespMetadata: v,
 10950  	}
 10951  }
 10952  
 10953  // Code returns the exception type name.
 10954  func (s *UnsupportedImageTypeException) Code() string {
 10955  	return "UnsupportedImageTypeException"
 10956  }
 10957  
 10958  // Message returns the exception's message.
 10959  func (s *UnsupportedImageTypeException) Message() string {
 10960  	if s.Message_ != nil {
 10961  		return *s.Message_
 10962  	}
 10963  	return ""
 10964  }
 10965  
 10966  // OrigErr always returns nil, satisfies awserr.Error interface.
 10967  func (s *UnsupportedImageTypeException) OrigErr() error {
 10968  	return nil
 10969  }
 10970  
 10971  func (s *UnsupportedImageTypeException) Error() string {
 10972  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10973  }
 10974  
 10975  // Status code returns the HTTP status code for the request's response error.
 10976  func (s *UnsupportedImageTypeException) StatusCode() int {
 10977  	return s.RespMetadata.StatusCode
 10978  }
 10979  
 10980  // RequestID returns the service's response RequestID for request.
 10981  func (s *UnsupportedImageTypeException) RequestID() string {
 10982  	return s.RespMetadata.RequestID
 10983  }
 10984  
 10985  type UntagResourceInput struct {
 10986  	_ struct{} `type:"structure"`
 10987  
 10988  	// The Amazon Resource Name (ARN) of the resource from which to remove tags.
 10989  	// Currently, the only supported resource is an Amazon ECR repository.
 10990  	//
 10991  	// ResourceArn is a required field
 10992  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
 10993  
 10994  	// The keys of the tags to be removed.
 10995  	//
 10996  	// TagKeys is a required field
 10997  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
 10998  }
 10999  
 11000  // String returns the string representation.
 11001  //
 11002  // API parameter values that are decorated as "sensitive" in the API will not
 11003  // be included in the string output. The member name will be present, but the
 11004  // value will be replaced with "sensitive".
 11005  func (s UntagResourceInput) String() string {
 11006  	return awsutil.Prettify(s)
 11007  }
 11008  
 11009  // GoString returns the string representation.
 11010  //
 11011  // API parameter values that are decorated as "sensitive" in the API will not
 11012  // be included in the string output. The member name will be present, but the
 11013  // value will be replaced with "sensitive".
 11014  func (s UntagResourceInput) GoString() string {
 11015  	return s.String()
 11016  }
 11017  
 11018  // Validate inspects the fields of the type to determine if they are valid.
 11019  func (s *UntagResourceInput) Validate() error {
 11020  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 11021  	if s.ResourceArn == nil {
 11022  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11023  	}
 11024  	if s.TagKeys == nil {
 11025  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 11026  	}
 11027  
 11028  	if invalidParams.Len() > 0 {
 11029  		return invalidParams
 11030  	}
 11031  	return nil
 11032  }
 11033  
 11034  // SetResourceArn sets the ResourceArn field's value.
 11035  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 11036  	s.ResourceArn = &v
 11037  	return s
 11038  }
 11039  
 11040  // SetTagKeys sets the TagKeys field's value.
 11041  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 11042  	s.TagKeys = v
 11043  	return s
 11044  }
 11045  
 11046  type UntagResourceOutput struct {
 11047  	_ struct{} `type:"structure"`
 11048  }
 11049  
 11050  // String returns the string representation.
 11051  //
 11052  // API parameter values that are decorated as "sensitive" in the API will not
 11053  // be included in the string output. The member name will be present, but the
 11054  // value will be replaced with "sensitive".
 11055  func (s UntagResourceOutput) String() string {
 11056  	return awsutil.Prettify(s)
 11057  }
 11058  
 11059  // GoString returns the string representation.
 11060  //
 11061  // API parameter values that are decorated as "sensitive" in the API will not
 11062  // be included in the string output. The member name will be present, but the
 11063  // value will be replaced with "sensitive".
 11064  func (s UntagResourceOutput) GoString() string {
 11065  	return s.String()
 11066  }
 11067  
 11068  type UploadLayerPartInput struct {
 11069  	_ struct{} `type:"structure"`
 11070  
 11071  	// The base64-encoded layer part payload.
 11072  	// LayerPartBlob is automatically base64 encoded/decoded by the SDK.
 11073  	//
 11074  	// LayerPartBlob is a required field
 11075  	LayerPartBlob []byte `locationName:"layerPartBlob" type:"blob" required:"true"`
 11076  
 11077  	// The position of the first byte of the layer part witin the overall image
 11078  	// layer.
 11079  	//
 11080  	// PartFirstByte is a required field
 11081  	PartFirstByte *int64 `locationName:"partFirstByte" type:"long" required:"true"`
 11082  
 11083  	// The position of the last byte of the layer part within the overall image
 11084  	// layer.
 11085  	//
 11086  	// PartLastByte is a required field
 11087  	PartLastByte *int64 `locationName:"partLastByte" type:"long" required:"true"`
 11088  
 11089  	// The Amazon Web Services account ID associated with the registry to which
 11090  	// you are uploading layer parts. If you do not specify a registry, the default
 11091  	// registry is assumed.
 11092  	RegistryId *string `locationName:"registryId" type:"string"`
 11093  
 11094  	// The name of the repository to which you are uploading layer parts.
 11095  	//
 11096  	// RepositoryName is a required field
 11097  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
 11098  
 11099  	// The upload ID from a previous InitiateLayerUpload operation to associate
 11100  	// with the layer part upload.
 11101  	//
 11102  	// UploadId is a required field
 11103  	UploadId *string `locationName:"uploadId" type:"string" required:"true"`
 11104  }
 11105  
 11106  // String returns the string representation.
 11107  //
 11108  // API parameter values that are decorated as "sensitive" in the API will not
 11109  // be included in the string output. The member name will be present, but the
 11110  // value will be replaced with "sensitive".
 11111  func (s UploadLayerPartInput) String() string {
 11112  	return awsutil.Prettify(s)
 11113  }
 11114  
 11115  // GoString returns the string representation.
 11116  //
 11117  // API parameter values that are decorated as "sensitive" in the API will not
 11118  // be included in the string output. The member name will be present, but the
 11119  // value will be replaced with "sensitive".
 11120  func (s UploadLayerPartInput) GoString() string {
 11121  	return s.String()
 11122  }
 11123  
 11124  // Validate inspects the fields of the type to determine if they are valid.
 11125  func (s *UploadLayerPartInput) Validate() error {
 11126  	invalidParams := request.ErrInvalidParams{Context: "UploadLayerPartInput"}
 11127  	if s.LayerPartBlob == nil {
 11128  		invalidParams.Add(request.NewErrParamRequired("LayerPartBlob"))
 11129  	}
 11130  	if s.PartFirstByte == nil {
 11131  		invalidParams.Add(request.NewErrParamRequired("PartFirstByte"))
 11132  	}
 11133  	if s.PartLastByte == nil {
 11134  		invalidParams.Add(request.NewErrParamRequired("PartLastByte"))
 11135  	}
 11136  	if s.RepositoryName == nil {
 11137  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
 11138  	}
 11139  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
 11140  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
 11141  	}
 11142  	if s.UploadId == nil {
 11143  		invalidParams.Add(request.NewErrParamRequired("UploadId"))
 11144  	}
 11145  
 11146  	if invalidParams.Len() > 0 {
 11147  		return invalidParams
 11148  	}
 11149  	return nil
 11150  }
 11151  
 11152  // SetLayerPartBlob sets the LayerPartBlob field's value.
 11153  func (s *UploadLayerPartInput) SetLayerPartBlob(v []byte) *UploadLayerPartInput {
 11154  	s.LayerPartBlob = v
 11155  	return s
 11156  }
 11157  
 11158  // SetPartFirstByte sets the PartFirstByte field's value.
 11159  func (s *UploadLayerPartInput) SetPartFirstByte(v int64) *UploadLayerPartInput {
 11160  	s.PartFirstByte = &v
 11161  	return s
 11162  }
 11163  
 11164  // SetPartLastByte sets the PartLastByte field's value.
 11165  func (s *UploadLayerPartInput) SetPartLastByte(v int64) *UploadLayerPartInput {
 11166  	s.PartLastByte = &v
 11167  	return s
 11168  }
 11169  
 11170  // SetRegistryId sets the RegistryId field's value.
 11171  func (s *UploadLayerPartInput) SetRegistryId(v string) *UploadLayerPartInput {
 11172  	s.RegistryId = &v
 11173  	return s
 11174  }
 11175  
 11176  // SetRepositoryName sets the RepositoryName field's value.
 11177  func (s *UploadLayerPartInput) SetRepositoryName(v string) *UploadLayerPartInput {
 11178  	s.RepositoryName = &v
 11179  	return s
 11180  }
 11181  
 11182  // SetUploadId sets the UploadId field's value.
 11183  func (s *UploadLayerPartInput) SetUploadId(v string) *UploadLayerPartInput {
 11184  	s.UploadId = &v
 11185  	return s
 11186  }
 11187  
 11188  type UploadLayerPartOutput struct {
 11189  	_ struct{} `type:"structure"`
 11190  
 11191  	// The integer value of the last byte received in the request.
 11192  	LastByteReceived *int64 `locationName:"lastByteReceived" type:"long"`
 11193  
 11194  	// The registry ID associated with the request.
 11195  	RegistryId *string `locationName:"registryId" type:"string"`
 11196  
 11197  	// The repository name associated with the request.
 11198  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
 11199  
 11200  	// The upload ID associated with the request.
 11201  	UploadId *string `locationName:"uploadId" type:"string"`
 11202  }
 11203  
 11204  // String returns the string representation.
 11205  //
 11206  // API parameter values that are decorated as "sensitive" in the API will not
 11207  // be included in the string output. The member name will be present, but the
 11208  // value will be replaced with "sensitive".
 11209  func (s UploadLayerPartOutput) String() string {
 11210  	return awsutil.Prettify(s)
 11211  }
 11212  
 11213  // GoString returns the string representation.
 11214  //
 11215  // API parameter values that are decorated as "sensitive" in the API will not
 11216  // be included in the string output. The member name will be present, but the
 11217  // value will be replaced with "sensitive".
 11218  func (s UploadLayerPartOutput) GoString() string {
 11219  	return s.String()
 11220  }
 11221  
 11222  // SetLastByteReceived sets the LastByteReceived field's value.
 11223  func (s *UploadLayerPartOutput) SetLastByteReceived(v int64) *UploadLayerPartOutput {
 11224  	s.LastByteReceived = &v
 11225  	return s
 11226  }
 11227  
 11228  // SetRegistryId sets the RegistryId field's value.
 11229  func (s *UploadLayerPartOutput) SetRegistryId(v string) *UploadLayerPartOutput {
 11230  	s.RegistryId = &v
 11231  	return s
 11232  }
 11233  
 11234  // SetRepositoryName sets the RepositoryName field's value.
 11235  func (s *UploadLayerPartOutput) SetRepositoryName(v string) *UploadLayerPartOutput {
 11236  	s.RepositoryName = &v
 11237  	return s
 11238  }
 11239  
 11240  // SetUploadId sets the UploadId field's value.
 11241  func (s *UploadLayerPartOutput) SetUploadId(v string) *UploadLayerPartOutput {
 11242  	s.UploadId = &v
 11243  	return s
 11244  }
 11245  
 11246  // The upload could not be found, or the specified upload ID is not valid for
 11247  // this repository.
 11248  type UploadNotFoundException struct {
 11249  	_            struct{}                  `type:"structure"`
 11250  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11251  
 11252  	// The error message associated with the exception.
 11253  	Message_ *string `locationName:"message" type:"string"`
 11254  }
 11255  
 11256  // String returns the string representation.
 11257  //
 11258  // API parameter values that are decorated as "sensitive" in the API will not
 11259  // be included in the string output. The member name will be present, but the
 11260  // value will be replaced with "sensitive".
 11261  func (s UploadNotFoundException) String() string {
 11262  	return awsutil.Prettify(s)
 11263  }
 11264  
 11265  // GoString returns the string representation.
 11266  //
 11267  // API parameter values that are decorated as "sensitive" in the API will not
 11268  // be included in the string output. The member name will be present, but the
 11269  // value will be replaced with "sensitive".
 11270  func (s UploadNotFoundException) GoString() string {
 11271  	return s.String()
 11272  }
 11273  
 11274  func newErrorUploadNotFoundException(v protocol.ResponseMetadata) error {
 11275  	return &UploadNotFoundException{
 11276  		RespMetadata: v,
 11277  	}
 11278  }
 11279  
 11280  // Code returns the exception type name.
 11281  func (s *UploadNotFoundException) Code() string {
 11282  	return "UploadNotFoundException"
 11283  }
 11284  
 11285  // Message returns the exception's message.
 11286  func (s *UploadNotFoundException) Message() string {
 11287  	if s.Message_ != nil {
 11288  		return *s.Message_
 11289  	}
 11290  	return ""
 11291  }
 11292  
 11293  // OrigErr always returns nil, satisfies awserr.Error interface.
 11294  func (s *UploadNotFoundException) OrigErr() error {
 11295  	return nil
 11296  }
 11297  
 11298  func (s *UploadNotFoundException) Error() string {
 11299  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11300  }
 11301  
 11302  // Status code returns the HTTP status code for the request's response error.
 11303  func (s *UploadNotFoundException) StatusCode() int {
 11304  	return s.RespMetadata.StatusCode
 11305  }
 11306  
 11307  // RequestID returns the service's response RequestID for request.
 11308  func (s *UploadNotFoundException) RequestID() string {
 11309  	return s.RespMetadata.RequestID
 11310  }
 11311  
 11312  // There was an exception validating this request.
 11313  type ValidationException struct {
 11314  	_            struct{}                  `type:"structure"`
 11315  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11316  
 11317  	Message_ *string `locationName:"message" type:"string"`
 11318  }
 11319  
 11320  // String returns the string representation.
 11321  //
 11322  // API parameter values that are decorated as "sensitive" in the API will not
 11323  // be included in the string output. The member name will be present, but the
 11324  // value will be replaced with "sensitive".
 11325  func (s ValidationException) String() string {
 11326  	return awsutil.Prettify(s)
 11327  }
 11328  
 11329  // GoString returns the string representation.
 11330  //
 11331  // API parameter values that are decorated as "sensitive" in the API will not
 11332  // be included in the string output. The member name will be present, but the
 11333  // value will be replaced with "sensitive".
 11334  func (s ValidationException) GoString() string {
 11335  	return s.String()
 11336  }
 11337  
 11338  func newErrorValidationException(v protocol.ResponseMetadata) error {
 11339  	return &ValidationException{
 11340  		RespMetadata: v,
 11341  	}
 11342  }
 11343  
 11344  // Code returns the exception type name.
 11345  func (s *ValidationException) Code() string {
 11346  	return "ValidationException"
 11347  }
 11348  
 11349  // Message returns the exception's message.
 11350  func (s *ValidationException) Message() string {
 11351  	if s.Message_ != nil {
 11352  		return *s.Message_
 11353  	}
 11354  	return ""
 11355  }
 11356  
 11357  // OrigErr always returns nil, satisfies awserr.Error interface.
 11358  func (s *ValidationException) OrigErr() error {
 11359  	return nil
 11360  }
 11361  
 11362  func (s *ValidationException) Error() string {
 11363  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11364  }
 11365  
 11366  // Status code returns the HTTP status code for the request's response error.
 11367  func (s *ValidationException) StatusCode() int {
 11368  	return s.RespMetadata.StatusCode
 11369  }
 11370  
 11371  // RequestID returns the service's response RequestID for request.
 11372  func (s *ValidationException) RequestID() string {
 11373  	return s.RespMetadata.RequestID
 11374  }
 11375  
 11376  const (
 11377  	// EncryptionTypeAes256 is a EncryptionType enum value
 11378  	EncryptionTypeAes256 = "AES256"
 11379  
 11380  	// EncryptionTypeKms is a EncryptionType enum value
 11381  	EncryptionTypeKms = "KMS"
 11382  )
 11383  
 11384  // EncryptionType_Values returns all elements of the EncryptionType enum
 11385  func EncryptionType_Values() []string {
 11386  	return []string{
 11387  		EncryptionTypeAes256,
 11388  		EncryptionTypeKms,
 11389  	}
 11390  }
 11391  
 11392  const (
 11393  	// FindingSeverityInformational is a FindingSeverity enum value
 11394  	FindingSeverityInformational = "INFORMATIONAL"
 11395  
 11396  	// FindingSeverityLow is a FindingSeverity enum value
 11397  	FindingSeverityLow = "LOW"
 11398  
 11399  	// FindingSeverityMedium is a FindingSeverity enum value
 11400  	FindingSeverityMedium = "MEDIUM"
 11401  
 11402  	// FindingSeverityHigh is a FindingSeverity enum value
 11403  	FindingSeverityHigh = "HIGH"
 11404  
 11405  	// FindingSeverityCritical is a FindingSeverity enum value
 11406  	FindingSeverityCritical = "CRITICAL"
 11407  
 11408  	// FindingSeverityUndefined is a FindingSeverity enum value
 11409  	FindingSeverityUndefined = "UNDEFINED"
 11410  )
 11411  
 11412  // FindingSeverity_Values returns all elements of the FindingSeverity enum
 11413  func FindingSeverity_Values() []string {
 11414  	return []string{
 11415  		FindingSeverityInformational,
 11416  		FindingSeverityLow,
 11417  		FindingSeverityMedium,
 11418  		FindingSeverityHigh,
 11419  		FindingSeverityCritical,
 11420  		FindingSeverityUndefined,
 11421  	}
 11422  }
 11423  
 11424  const (
 11425  	// ImageActionTypeExpire is a ImageActionType enum value
 11426  	ImageActionTypeExpire = "EXPIRE"
 11427  )
 11428  
 11429  // ImageActionType_Values returns all elements of the ImageActionType enum
 11430  func ImageActionType_Values() []string {
 11431  	return []string{
 11432  		ImageActionTypeExpire,
 11433  	}
 11434  }
 11435  
 11436  const (
 11437  	// ImageFailureCodeInvalidImageDigest is a ImageFailureCode enum value
 11438  	ImageFailureCodeInvalidImageDigest = "InvalidImageDigest"
 11439  
 11440  	// ImageFailureCodeInvalidImageTag is a ImageFailureCode enum value
 11441  	ImageFailureCodeInvalidImageTag = "InvalidImageTag"
 11442  
 11443  	// ImageFailureCodeImageTagDoesNotMatchDigest is a ImageFailureCode enum value
 11444  	ImageFailureCodeImageTagDoesNotMatchDigest = "ImageTagDoesNotMatchDigest"
 11445  
 11446  	// ImageFailureCodeImageNotFound is a ImageFailureCode enum value
 11447  	ImageFailureCodeImageNotFound = "ImageNotFound"
 11448  
 11449  	// ImageFailureCodeMissingDigestAndTag is a ImageFailureCode enum value
 11450  	ImageFailureCodeMissingDigestAndTag = "MissingDigestAndTag"
 11451  
 11452  	// ImageFailureCodeImageReferencedByManifestList is a ImageFailureCode enum value
 11453  	ImageFailureCodeImageReferencedByManifestList = "ImageReferencedByManifestList"
 11454  
 11455  	// ImageFailureCodeKmsError is a ImageFailureCode enum value
 11456  	ImageFailureCodeKmsError = "KmsError"
 11457  )
 11458  
 11459  // ImageFailureCode_Values returns all elements of the ImageFailureCode enum
 11460  func ImageFailureCode_Values() []string {
 11461  	return []string{
 11462  		ImageFailureCodeInvalidImageDigest,
 11463  		ImageFailureCodeInvalidImageTag,
 11464  		ImageFailureCodeImageTagDoesNotMatchDigest,
 11465  		ImageFailureCodeImageNotFound,
 11466  		ImageFailureCodeMissingDigestAndTag,
 11467  		ImageFailureCodeImageReferencedByManifestList,
 11468  		ImageFailureCodeKmsError,
 11469  	}
 11470  }
 11471  
 11472  const (
 11473  	// ImageTagMutabilityMutable is a ImageTagMutability enum value
 11474  	ImageTagMutabilityMutable = "MUTABLE"
 11475  
 11476  	// ImageTagMutabilityImmutable is a ImageTagMutability enum value
 11477  	ImageTagMutabilityImmutable = "IMMUTABLE"
 11478  )
 11479  
 11480  // ImageTagMutability_Values returns all elements of the ImageTagMutability enum
 11481  func ImageTagMutability_Values() []string {
 11482  	return []string{
 11483  		ImageTagMutabilityMutable,
 11484  		ImageTagMutabilityImmutable,
 11485  	}
 11486  }
 11487  
 11488  const (
 11489  	// LayerAvailabilityAvailable is a LayerAvailability enum value
 11490  	LayerAvailabilityAvailable = "AVAILABLE"
 11491  
 11492  	// LayerAvailabilityUnavailable is a LayerAvailability enum value
 11493  	LayerAvailabilityUnavailable = "UNAVAILABLE"
 11494  )
 11495  
 11496  // LayerAvailability_Values returns all elements of the LayerAvailability enum
 11497  func LayerAvailability_Values() []string {
 11498  	return []string{
 11499  		LayerAvailabilityAvailable,
 11500  		LayerAvailabilityUnavailable,
 11501  	}
 11502  }
 11503  
 11504  const (
 11505  	// LayerFailureCodeInvalidLayerDigest is a LayerFailureCode enum value
 11506  	LayerFailureCodeInvalidLayerDigest = "InvalidLayerDigest"
 11507  
 11508  	// LayerFailureCodeMissingLayerDigest is a LayerFailureCode enum value
 11509  	LayerFailureCodeMissingLayerDigest = "MissingLayerDigest"
 11510  )
 11511  
 11512  // LayerFailureCode_Values returns all elements of the LayerFailureCode enum
 11513  func LayerFailureCode_Values() []string {
 11514  	return []string{
 11515  		LayerFailureCodeInvalidLayerDigest,
 11516  		LayerFailureCodeMissingLayerDigest,
 11517  	}
 11518  }
 11519  
 11520  const (
 11521  	// LifecyclePolicyPreviewStatusInProgress is a LifecyclePolicyPreviewStatus enum value
 11522  	LifecyclePolicyPreviewStatusInProgress = "IN_PROGRESS"
 11523  
 11524  	// LifecyclePolicyPreviewStatusComplete is a LifecyclePolicyPreviewStatus enum value
 11525  	LifecyclePolicyPreviewStatusComplete = "COMPLETE"
 11526  
 11527  	// LifecyclePolicyPreviewStatusExpired is a LifecyclePolicyPreviewStatus enum value
 11528  	LifecyclePolicyPreviewStatusExpired = "EXPIRED"
 11529  
 11530  	// LifecyclePolicyPreviewStatusFailed is a LifecyclePolicyPreviewStatus enum value
 11531  	LifecyclePolicyPreviewStatusFailed = "FAILED"
 11532  )
 11533  
 11534  // LifecyclePolicyPreviewStatus_Values returns all elements of the LifecyclePolicyPreviewStatus enum
 11535  func LifecyclePolicyPreviewStatus_Values() []string {
 11536  	return []string{
 11537  		LifecyclePolicyPreviewStatusInProgress,
 11538  		LifecyclePolicyPreviewStatusComplete,
 11539  		LifecyclePolicyPreviewStatusExpired,
 11540  		LifecyclePolicyPreviewStatusFailed,
 11541  	}
 11542  }
 11543  
 11544  const (
 11545  	// ReplicationStatusInProgress is a ReplicationStatus enum value
 11546  	ReplicationStatusInProgress = "IN_PROGRESS"
 11547  
 11548  	// ReplicationStatusComplete is a ReplicationStatus enum value
 11549  	ReplicationStatusComplete = "COMPLETE"
 11550  
 11551  	// ReplicationStatusFailed is a ReplicationStatus enum value
 11552  	ReplicationStatusFailed = "FAILED"
 11553  )
 11554  
 11555  // ReplicationStatus_Values returns all elements of the ReplicationStatus enum
 11556  func ReplicationStatus_Values() []string {
 11557  	return []string{
 11558  		ReplicationStatusInProgress,
 11559  		ReplicationStatusComplete,
 11560  		ReplicationStatusFailed,
 11561  	}
 11562  }
 11563  
 11564  const (
 11565  	// RepositoryFilterTypePrefixMatch is a RepositoryFilterType enum value
 11566  	RepositoryFilterTypePrefixMatch = "PREFIX_MATCH"
 11567  )
 11568  
 11569  // RepositoryFilterType_Values returns all elements of the RepositoryFilterType enum
 11570  func RepositoryFilterType_Values() []string {
 11571  	return []string{
 11572  		RepositoryFilterTypePrefixMatch,
 11573  	}
 11574  }
 11575  
 11576  const (
 11577  	// ScanStatusInProgress is a ScanStatus enum value
 11578  	ScanStatusInProgress = "IN_PROGRESS"
 11579  
 11580  	// ScanStatusComplete is a ScanStatus enum value
 11581  	ScanStatusComplete = "COMPLETE"
 11582  
 11583  	// ScanStatusFailed is a ScanStatus enum value
 11584  	ScanStatusFailed = "FAILED"
 11585  )
 11586  
 11587  // ScanStatus_Values returns all elements of the ScanStatus enum
 11588  func ScanStatus_Values() []string {
 11589  	return []string{
 11590  		ScanStatusInProgress,
 11591  		ScanStatusComplete,
 11592  		ScanStatusFailed,
 11593  	}
 11594  }
 11595  
 11596  const (
 11597  	// TagStatusTagged is a TagStatus enum value
 11598  	TagStatusTagged = "TAGGED"
 11599  
 11600  	// TagStatusUntagged is a TagStatus enum value
 11601  	TagStatusUntagged = "UNTAGGED"
 11602  
 11603  	// TagStatusAny is a TagStatus enum value
 11604  	TagStatusAny = "ANY"
 11605  )
 11606  
 11607  // TagStatus_Values returns all elements of the TagStatus enum
 11608  func TagStatus_Values() []string {
 11609  	return []string{
 11610  		TagStatusTagged,
 11611  		TagStatusUntagged,
 11612  		TagStatusAny,
 11613  	}
 11614  }