ecr.d.ts
   1  import {Request} from '../lib/request';
   2  import {Response} from '../lib/response';
   3  import {AWSError} from '../lib/error';
   4  import {Service} from '../lib/service';
   5  import {WaiterConfiguration} from '../lib/service';
   6  import {ServiceConfigurationOptions} from '../lib/service';
   7  import {ConfigBase as Config} from '../lib/config-base';
   8  interface Blob {}
   9  declare class ECR extends Service {
  10    /**
  11     * Constructs a service object. This object has one method for each API operation.
  12     */
  13    constructor(options?: ECR.Types.ClientConfiguration)
  14    config: Config & ECR.Types.ClientConfiguration;
  15    /**
  16     * Checks the availability of one or more image layers in a repository. When an image is pushed to a repository, each image layer is checked to verify if it has been uploaded before. If it has been uploaded, then the image layer is skipped.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
  17     */
  18    batchCheckLayerAvailability(params: ECR.Types.BatchCheckLayerAvailabilityRequest, callback?: (err: AWSError, data: ECR.Types.BatchCheckLayerAvailabilityResponse) => void): Request<ECR.Types.BatchCheckLayerAvailabilityResponse, AWSError>;
  19    /**
  20     * Checks the availability of one or more image layers in a repository. When an image is pushed to a repository, each image layer is checked to verify if it has been uploaded before. If it has been uploaded, then the image layer is skipped.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
  21     */
  22    batchCheckLayerAvailability(callback?: (err: AWSError, data: ECR.Types.BatchCheckLayerAvailabilityResponse) => void): Request<ECR.Types.BatchCheckLayerAvailabilityResponse, AWSError>;
  23    /**
  24     * Deletes a list of specified images within a repository. Images are specified with either an imageTag or imageDigest. You can remove a tag from an image by specifying the image's tag in your request. When you remove the last tag from an image, the image is deleted from your repository. You can completely delete an image (and all of its tags) by specifying the image's digest in your request.
  25     */
  26    batchDeleteImage(params: ECR.Types.BatchDeleteImageRequest, callback?: (err: AWSError, data: ECR.Types.BatchDeleteImageResponse) => void): Request<ECR.Types.BatchDeleteImageResponse, AWSError>;
  27    /**
  28     * Deletes a list of specified images within a repository. Images are specified with either an imageTag or imageDigest. You can remove a tag from an image by specifying the image's tag in your request. When you remove the last tag from an image, the image is deleted from your repository. You can completely delete an image (and all of its tags) by specifying the image's digest in your request.
  29     */
  30    batchDeleteImage(callback?: (err: AWSError, data: ECR.Types.BatchDeleteImageResponse) => void): Request<ECR.Types.BatchDeleteImageResponse, AWSError>;
  31    /**
  32     * Gets detailed information for an image. Images are specified with either an imageTag or imageDigest. When an image is pulled, the BatchGetImage API is called once to retrieve the image manifest.
  33     */
  34    batchGetImage(params: ECR.Types.BatchGetImageRequest, callback?: (err: AWSError, data: ECR.Types.BatchGetImageResponse) => void): Request<ECR.Types.BatchGetImageResponse, AWSError>;
  35    /**
  36     * Gets detailed information for an image. Images are specified with either an imageTag or imageDigest. When an image is pulled, the BatchGetImage API is called once to retrieve the image manifest.
  37     */
  38    batchGetImage(callback?: (err: AWSError, data: ECR.Types.BatchGetImageResponse) => void): Request<ECR.Types.BatchGetImageResponse, AWSError>;
  39    /**
  40     * Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes. When an image is pushed, the CompleteLayerUpload API is called once per each new image layer to verify that the upload has completed.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
  41     */
  42    completeLayerUpload(params: ECR.Types.CompleteLayerUploadRequest, callback?: (err: AWSError, data: ECR.Types.CompleteLayerUploadResponse) => void): Request<ECR.Types.CompleteLayerUploadResponse, AWSError>;
  43    /**
  44     * Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes. When an image is pushed, the CompleteLayerUpload API is called once per each new image layer to verify that the upload has completed.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
  45     */
  46    completeLayerUpload(callback?: (err: AWSError, data: ECR.Types.CompleteLayerUploadResponse) => void): Request<ECR.Types.CompleteLayerUploadResponse, AWSError>;
  47    /**
  48     * Creates a repository. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide.
  49     */
  50    createRepository(params: ECR.Types.CreateRepositoryRequest, callback?: (err: AWSError, data: ECR.Types.CreateRepositoryResponse) => void): Request<ECR.Types.CreateRepositoryResponse, AWSError>;
  51    /**
  52     * Creates a repository. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide.
  53     */
  54    createRepository(callback?: (err: AWSError, data: ECR.Types.CreateRepositoryResponse) => void): Request<ECR.Types.CreateRepositoryResponse, AWSError>;
  55    /**
  56     * Deletes the lifecycle policy associated with the specified repository.
  57     */
  58    deleteLifecyclePolicy(params: ECR.Types.DeleteLifecyclePolicyRequest, callback?: (err: AWSError, data: ECR.Types.DeleteLifecyclePolicyResponse) => void): Request<ECR.Types.DeleteLifecyclePolicyResponse, AWSError>;
  59    /**
  60     * Deletes the lifecycle policy associated with the specified repository.
  61     */
  62    deleteLifecyclePolicy(callback?: (err: AWSError, data: ECR.Types.DeleteLifecyclePolicyResponse) => void): Request<ECR.Types.DeleteLifecyclePolicyResponse, AWSError>;
  63    /**
  64     * Deletes the registry permissions policy.
  65     */
  66    deleteRegistryPolicy(params: ECR.Types.DeleteRegistryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.DeleteRegistryPolicyResponse) => void): Request<ECR.Types.DeleteRegistryPolicyResponse, AWSError>;
  67    /**
  68     * Deletes the registry permissions policy.
  69     */
  70    deleteRegistryPolicy(callback?: (err: AWSError, data: ECR.Types.DeleteRegistryPolicyResponse) => void): Request<ECR.Types.DeleteRegistryPolicyResponse, AWSError>;
  71    /**
  72     * Deletes a repository. If the repository contains images, you must either delete all images in the repository or use the force option to delete the repository.
  73     */
  74    deleteRepository(params: ECR.Types.DeleteRepositoryRequest, callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryResponse) => void): Request<ECR.Types.DeleteRepositoryResponse, AWSError>;
  75    /**
  76     * Deletes a repository. If the repository contains images, you must either delete all images in the repository or use the force option to delete the repository.
  77     */
  78    deleteRepository(callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryResponse) => void): Request<ECR.Types.DeleteRepositoryResponse, AWSError>;
  79    /**
  80     * Deletes the repository policy associated with the specified repository.
  81     */
  82    deleteRepositoryPolicy(params: ECR.Types.DeleteRepositoryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryPolicyResponse) => void): Request<ECR.Types.DeleteRepositoryPolicyResponse, AWSError>;
  83    /**
  84     * Deletes the repository policy associated with the specified repository.
  85     */
  86    deleteRepositoryPolicy(callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryPolicyResponse) => void): Request<ECR.Types.DeleteRepositoryPolicyResponse, AWSError>;
  87    /**
  88     * Returns the scan findings for the specified image.
  89     */
  90    describeImageScanFindings(params: ECR.Types.DescribeImageScanFindingsRequest, callback?: (err: AWSError, data: ECR.Types.DescribeImageScanFindingsResponse) => void): Request<ECR.Types.DescribeImageScanFindingsResponse, AWSError>;
  91    /**
  92     * Returns the scan findings for the specified image.
  93     */
  94    describeImageScanFindings(callback?: (err: AWSError, data: ECR.Types.DescribeImageScanFindingsResponse) => void): Request<ECR.Types.DescribeImageScanFindingsResponse, AWSError>;
  95    /**
  96     * Returns metadata about the images in a repository.  Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages. 
  97     */
  98    describeImages(params: ECR.Types.DescribeImagesRequest, callback?: (err: AWSError, data: ECR.Types.DescribeImagesResponse) => void): Request<ECR.Types.DescribeImagesResponse, AWSError>;
  99    /**
 100     * Returns metadata about the images in a repository.  Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages. 
 101     */
 102    describeImages(callback?: (err: AWSError, data: ECR.Types.DescribeImagesResponse) => void): Request<ECR.Types.DescribeImagesResponse, AWSError>;
 103    /**
 104     * Describes the settings for a registry. The replication configuration for a repository can be created or updated with the PutReplicationConfiguration API action.
 105     */
 106    describeRegistry(params: ECR.Types.DescribeRegistryRequest, callback?: (err: AWSError, data: ECR.Types.DescribeRegistryResponse) => void): Request<ECR.Types.DescribeRegistryResponse, AWSError>;
 107    /**
 108     * Describes the settings for a registry. The replication configuration for a repository can be created or updated with the PutReplicationConfiguration API action.
 109     */
 110    describeRegistry(callback?: (err: AWSError, data: ECR.Types.DescribeRegistryResponse) => void): Request<ECR.Types.DescribeRegistryResponse, AWSError>;
 111    /**
 112     * Describes image repositories in a registry.
 113     */
 114    describeRepositories(params: ECR.Types.DescribeRepositoriesRequest, callback?: (err: AWSError, data: ECR.Types.DescribeRepositoriesResponse) => void): Request<ECR.Types.DescribeRepositoriesResponse, AWSError>;
 115    /**
 116     * Describes image repositories in a registry.
 117     */
 118    describeRepositories(callback?: (err: AWSError, data: ECR.Types.DescribeRepositoriesResponse) => void): Request<ECR.Types.DescribeRepositoriesResponse, AWSError>;
 119    /**
 120     * Retrieves an authorization token. An authorization token represents your IAM authentication credentials and can be used to access any Amazon ECR registry that your IAM principal has access to. The authorization token is valid for 12 hours. The authorizationToken returned is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an get-login-password command that simplifies the login process. For more information, see Registry Authentication in the Amazon Elastic Container Registry User Guide.
 121     */
 122    getAuthorizationToken(params: ECR.Types.GetAuthorizationTokenRequest, callback?: (err: AWSError, data: ECR.Types.GetAuthorizationTokenResponse) => void): Request<ECR.Types.GetAuthorizationTokenResponse, AWSError>;
 123    /**
 124     * Retrieves an authorization token. An authorization token represents your IAM authentication credentials and can be used to access any Amazon ECR registry that your IAM principal has access to. The authorization token is valid for 12 hours. The authorizationToken returned is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an get-login-password command that simplifies the login process. For more information, see Registry Authentication in the Amazon Elastic Container Registry User Guide.
 125     */
 126    getAuthorizationToken(callback?: (err: AWSError, data: ECR.Types.GetAuthorizationTokenResponse) => void): Request<ECR.Types.GetAuthorizationTokenResponse, AWSError>;
 127    /**
 128     * Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image. When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer that is not already cached.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 129     */
 130    getDownloadUrlForLayer(params: ECR.Types.GetDownloadUrlForLayerRequest, callback?: (err: AWSError, data: ECR.Types.GetDownloadUrlForLayerResponse) => void): Request<ECR.Types.GetDownloadUrlForLayerResponse, AWSError>;
 131    /**
 132     * Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image. When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer that is not already cached.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 133     */
 134    getDownloadUrlForLayer(callback?: (err: AWSError, data: ECR.Types.GetDownloadUrlForLayerResponse) => void): Request<ECR.Types.GetDownloadUrlForLayerResponse, AWSError>;
 135    /**
 136     * Retrieves the lifecycle policy for the specified repository.
 137     */
 138    getLifecyclePolicy(params: ECR.Types.GetLifecyclePolicyRequest, callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyResponse) => void): Request<ECR.Types.GetLifecyclePolicyResponse, AWSError>;
 139    /**
 140     * Retrieves the lifecycle policy for the specified repository.
 141     */
 142    getLifecyclePolicy(callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyResponse) => void): Request<ECR.Types.GetLifecyclePolicyResponse, AWSError>;
 143    /**
 144     * Retrieves the results of the lifecycle policy preview request for the specified repository.
 145     */
 146    getLifecyclePolicyPreview(params: ECR.Types.GetLifecyclePolicyPreviewRequest, callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.GetLifecyclePolicyPreviewResponse, AWSError>;
 147    /**
 148     * Retrieves the results of the lifecycle policy preview request for the specified repository.
 149     */
 150    getLifecyclePolicyPreview(callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.GetLifecyclePolicyPreviewResponse, AWSError>;
 151    /**
 152     * Retrieves the permissions policy for a registry.
 153     */
 154    getRegistryPolicy(params: ECR.Types.GetRegistryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.GetRegistryPolicyResponse) => void): Request<ECR.Types.GetRegistryPolicyResponse, AWSError>;
 155    /**
 156     * Retrieves the permissions policy for a registry.
 157     */
 158    getRegistryPolicy(callback?: (err: AWSError, data: ECR.Types.GetRegistryPolicyResponse) => void): Request<ECR.Types.GetRegistryPolicyResponse, AWSError>;
 159    /**
 160     * Retrieves the repository policy for the specified repository.
 161     */
 162    getRepositoryPolicy(params: ECR.Types.GetRepositoryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.GetRepositoryPolicyResponse) => void): Request<ECR.Types.GetRepositoryPolicyResponse, AWSError>;
 163    /**
 164     * Retrieves the repository policy for the specified repository.
 165     */
 166    getRepositoryPolicy(callback?: (err: AWSError, data: ECR.Types.GetRepositoryPolicyResponse) => void): Request<ECR.Types.GetRepositoryPolicyResponse, AWSError>;
 167    /**
 168     * Notifies Amazon ECR that you intend to upload an image layer. When an image is pushed, the InitiateLayerUpload API is called once per image layer that has not already been uploaded. Whether or not an image layer has been uploaded is determined by the BatchCheckLayerAvailability API action.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 169     */
 170    initiateLayerUpload(params: ECR.Types.InitiateLayerUploadRequest, callback?: (err: AWSError, data: ECR.Types.InitiateLayerUploadResponse) => void): Request<ECR.Types.InitiateLayerUploadResponse, AWSError>;
 171    /**
 172     * Notifies Amazon ECR that you intend to upload an image layer. When an image is pushed, the InitiateLayerUpload API is called once per image layer that has not already been uploaded. Whether or not an image layer has been uploaded is determined by the BatchCheckLayerAvailability API action.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 173     */
 174    initiateLayerUpload(callback?: (err: AWSError, data: ECR.Types.InitiateLayerUploadResponse) => void): Request<ECR.Types.InitiateLayerUploadResponse, AWSError>;
 175    /**
 176     * Lists all the image IDs for the specified repository. You can filter images based on whether or not they are tagged by using the tagStatus filter and specifying either TAGGED, UNTAGGED or ANY. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.
 177     */
 178    listImages(params: ECR.Types.ListImagesRequest, callback?: (err: AWSError, data: ECR.Types.ListImagesResponse) => void): Request<ECR.Types.ListImagesResponse, AWSError>;
 179    /**
 180     * Lists all the image IDs for the specified repository. You can filter images based on whether or not they are tagged by using the tagStatus filter and specifying either TAGGED, UNTAGGED or ANY. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.
 181     */
 182    listImages(callback?: (err: AWSError, data: ECR.Types.ListImagesResponse) => void): Request<ECR.Types.ListImagesResponse, AWSError>;
 183    /**
 184     * List the tags for an Amazon ECR resource.
 185     */
 186    listTagsForResource(params: ECR.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: ECR.Types.ListTagsForResourceResponse) => void): Request<ECR.Types.ListTagsForResourceResponse, AWSError>;
 187    /**
 188     * List the tags for an Amazon ECR resource.
 189     */
 190    listTagsForResource(callback?: (err: AWSError, data: ECR.Types.ListTagsForResourceResponse) => void): Request<ECR.Types.ListTagsForResourceResponse, AWSError>;
 191    /**
 192     * Creates or updates the image manifest and tags associated with an image. When an image is pushed and all new image layers have been uploaded, the PutImage API is called once to create or update the image manifest and the tags associated with the image.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 193     */
 194    putImage(params: ECR.Types.PutImageRequest, callback?: (err: AWSError, data: ECR.Types.PutImageResponse) => void): Request<ECR.Types.PutImageResponse, AWSError>;
 195    /**
 196     * Creates or updates the image manifest and tags associated with an image. When an image is pushed and all new image layers have been uploaded, the PutImage API is called once to create or update the image manifest and the tags associated with the image.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 197     */
 198    putImage(callback?: (err: AWSError, data: ECR.Types.PutImageResponse) => void): Request<ECR.Types.PutImageResponse, AWSError>;
 199    /**
 200     * Updates the image scanning configuration for the specified repository.
 201     */
 202    putImageScanningConfiguration(params: ECR.Types.PutImageScanningConfigurationRequest, callback?: (err: AWSError, data: ECR.Types.PutImageScanningConfigurationResponse) => void): Request<ECR.Types.PutImageScanningConfigurationResponse, AWSError>;
 203    /**
 204     * Updates the image scanning configuration for the specified repository.
 205     */
 206    putImageScanningConfiguration(callback?: (err: AWSError, data: ECR.Types.PutImageScanningConfigurationResponse) => void): Request<ECR.Types.PutImageScanningConfigurationResponse, AWSError>;
 207    /**
 208     * Updates the image tag mutability settings for the specified repository. For more information, see Image Tag Mutability in the Amazon Elastic Container Registry User Guide.
 209     */
 210    putImageTagMutability(params: ECR.Types.PutImageTagMutabilityRequest, callback?: (err: AWSError, data: ECR.Types.PutImageTagMutabilityResponse) => void): Request<ECR.Types.PutImageTagMutabilityResponse, AWSError>;
 211    /**
 212     * Updates the image tag mutability settings for the specified repository. For more information, see Image Tag Mutability in the Amazon Elastic Container Registry User Guide.
 213     */
 214    putImageTagMutability(callback?: (err: AWSError, data: ECR.Types.PutImageTagMutabilityResponse) => void): Request<ECR.Types.PutImageTagMutabilityResponse, AWSError>;
 215    /**
 216     * Creates or updates the lifecycle policy for the specified repository. For more information, see Lifecycle Policy Template.
 217     */
 218    putLifecyclePolicy(params: ECR.Types.PutLifecyclePolicyRequest, callback?: (err: AWSError, data: ECR.Types.PutLifecyclePolicyResponse) => void): Request<ECR.Types.PutLifecyclePolicyResponse, AWSError>;
 219    /**
 220     * Creates or updates the lifecycle policy for the specified repository. For more information, see Lifecycle Policy Template.
 221     */
 222    putLifecyclePolicy(callback?: (err: AWSError, data: ECR.Types.PutLifecyclePolicyResponse) => void): Request<ECR.Types.PutLifecyclePolicyResponse, AWSError>;
 223    /**
 224     * Creates or updates the permissions policy for your registry. A registry policy is used to specify permissions for another AWS account and is used when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.
 225     */
 226    putRegistryPolicy(params: ECR.Types.PutRegistryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.PutRegistryPolicyResponse) => void): Request<ECR.Types.PutRegistryPolicyResponse, AWSError>;
 227    /**
 228     * Creates or updates the permissions policy for your registry. A registry policy is used to specify permissions for another AWS account and is used when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.
 229     */
 230    putRegistryPolicy(callback?: (err: AWSError, data: ECR.Types.PutRegistryPolicyResponse) => void): Request<ECR.Types.PutRegistryPolicyResponse, AWSError>;
 231    /**
 232     * Creates or updates the replication configuration for a registry. The existing replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the PutReplicationConfiguration API is called, a service-linked IAM role is created in your account for the replication process. For more information, see Using Service-Linked Roles for Amazon ECR in the Amazon Elastic Container Registry User Guide.  When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a registry permissions policy. For more information, see PutRegistryPolicy. 
 233     */
 234    putReplicationConfiguration(params: ECR.Types.PutReplicationConfigurationRequest, callback?: (err: AWSError, data: ECR.Types.PutReplicationConfigurationResponse) => void): Request<ECR.Types.PutReplicationConfigurationResponse, AWSError>;
 235    /**
 236     * Creates or updates the replication configuration for a registry. The existing replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the PutReplicationConfiguration API is called, a service-linked IAM role is created in your account for the replication process. For more information, see Using Service-Linked Roles for Amazon ECR in the Amazon Elastic Container Registry User Guide.  When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a registry permissions policy. For more information, see PutRegistryPolicy. 
 237     */
 238    putReplicationConfiguration(callback?: (err: AWSError, data: ECR.Types.PutReplicationConfigurationResponse) => void): Request<ECR.Types.PutReplicationConfigurationResponse, AWSError>;
 239    /**
 240     * Applies a repository policy to the specified repository to control access permissions. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.
 241     */
 242    setRepositoryPolicy(params: ECR.Types.SetRepositoryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.SetRepositoryPolicyResponse) => void): Request<ECR.Types.SetRepositoryPolicyResponse, AWSError>;
 243    /**
 244     * Applies a repository policy to the specified repository to control access permissions. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.
 245     */
 246    setRepositoryPolicy(callback?: (err: AWSError, data: ECR.Types.SetRepositoryPolicyResponse) => void): Request<ECR.Types.SetRepositoryPolicyResponse, AWSError>;
 247    /**
 248     * Starts an image vulnerability scan. An image scan can only be started once per day on an individual image. This limit includes if an image was scanned on initial push. For more information, see Image Scanning in the Amazon Elastic Container Registry User Guide.
 249     */
 250    startImageScan(params: ECR.Types.StartImageScanRequest, callback?: (err: AWSError, data: ECR.Types.StartImageScanResponse) => void): Request<ECR.Types.StartImageScanResponse, AWSError>;
 251    /**
 252     * Starts an image vulnerability scan. An image scan can only be started once per day on an individual image. This limit includes if an image was scanned on initial push. For more information, see Image Scanning in the Amazon Elastic Container Registry User Guide.
 253     */
 254    startImageScan(callback?: (err: AWSError, data: ECR.Types.StartImageScanResponse) => void): Request<ECR.Types.StartImageScanResponse, AWSError>;
 255    /**
 256     * Starts a preview of a lifecycle policy for the specified repository. This allows you to see the results before associating the lifecycle policy with the repository.
 257     */
 258    startLifecyclePolicyPreview(params: ECR.Types.StartLifecyclePolicyPreviewRequest, callback?: (err: AWSError, data: ECR.Types.StartLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.StartLifecyclePolicyPreviewResponse, AWSError>;
 259    /**
 260     * Starts a preview of a lifecycle policy for the specified repository. This allows you to see the results before associating the lifecycle policy with the repository.
 261     */
 262    startLifecyclePolicyPreview(callback?: (err: AWSError, data: ECR.Types.StartLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.StartLifecyclePolicyPreviewResponse, AWSError>;
 263    /**
 264     * Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.
 265     */
 266    tagResource(params: ECR.Types.TagResourceRequest, callback?: (err: AWSError, data: ECR.Types.TagResourceResponse) => void): Request<ECR.Types.TagResourceResponse, AWSError>;
 267    /**
 268     * Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.
 269     */
 270    tagResource(callback?: (err: AWSError, data: ECR.Types.TagResourceResponse) => void): Request<ECR.Types.TagResourceResponse, AWSError>;
 271    /**
 272     * Deletes specified tags from a resource.
 273     */
 274    untagResource(params: ECR.Types.UntagResourceRequest, callback?: (err: AWSError, data: ECR.Types.UntagResourceResponse) => void): Request<ECR.Types.UntagResourceResponse, AWSError>;
 275    /**
 276     * Deletes specified tags from a resource.
 277     */
 278    untagResource(callback?: (err: AWSError, data: ECR.Types.UntagResourceResponse) => void): Request<ECR.Types.UntagResourceResponse, AWSError>;
 279    /**
 280     * Uploads an image layer part to Amazon ECR. When an image is pushed, each new image layer is uploaded in parts. The maximum size of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called once per each new image layer part.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 281     */
 282    uploadLayerPart(params: ECR.Types.UploadLayerPartRequest, callback?: (err: AWSError, data: ECR.Types.UploadLayerPartResponse) => void): Request<ECR.Types.UploadLayerPartResponse, AWSError>;
 283    /**
 284     * Uploads an image layer part to Amazon ECR. When an image is pushed, each new image layer is uploaded in parts. The maximum size of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called once per each new image layer part.  This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. 
 285     */
 286    uploadLayerPart(callback?: (err: AWSError, data: ECR.Types.UploadLayerPartResponse) => void): Request<ECR.Types.UploadLayerPartResponse, AWSError>;
 287    /**
 288     * Waits for the imageScanComplete state by periodically calling the underlying ECR.describeImageScanFindingsoperation every 5 seconds (at most 60 times). Wait until an image scan is complete and findings can be accessed
 289     */
 290    waitFor(state: "imageScanComplete", params: ECR.Types.DescribeImageScanFindingsRequest & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: ECR.Types.DescribeImageScanFindingsResponse) => void): Request<ECR.Types.DescribeImageScanFindingsResponse, AWSError>;
 291    /**
 292     * Waits for the imageScanComplete state by periodically calling the underlying ECR.describeImageScanFindingsoperation every 5 seconds (at most 60 times). Wait until an image scan is complete and findings can be accessed
 293     */
 294    waitFor(state: "imageScanComplete", callback?: (err: AWSError, data: ECR.Types.DescribeImageScanFindingsResponse) => void): Request<ECR.Types.DescribeImageScanFindingsResponse, AWSError>;
 295    /**
 296     * Waits for the lifecyclePolicyPreviewComplete state by periodically calling the underlying ECR.getLifecyclePolicyPreviewoperation every 5 seconds (at most 20 times). Wait until a lifecycle policy preview request is complete and results can be accessed
 297     */
 298    waitFor(state: "lifecyclePolicyPreviewComplete", params: ECR.Types.GetLifecyclePolicyPreviewRequest & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.GetLifecyclePolicyPreviewResponse, AWSError>;
 299    /**
 300     * Waits for the lifecyclePolicyPreviewComplete state by periodically calling the underlying ECR.getLifecyclePolicyPreviewoperation every 5 seconds (at most 20 times). Wait until a lifecycle policy preview request is complete and results can be accessed
 301     */
 302    waitFor(state: "lifecyclePolicyPreviewComplete", callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.GetLifecyclePolicyPreviewResponse, AWSError>;
 303  }
 304  declare namespace ECR {
 305    export type Arn = string;
 306    export interface Attribute {
 307      /**
 308       * The attribute key.
 309       */
 310      key: AttributeKey;
 311      /**
 312       * The value assigned to the attribute key.
 313       */
 314      value?: AttributeValue;
 315    }
 316    export type AttributeKey = string;
 317    export type AttributeList = Attribute[];
 318    export type AttributeValue = string;
 319    export interface AuthorizationData {
 320      /**
 321       * A base64-encoded string that contains authorization data for the specified Amazon ECR registry. When the string is decoded, it is presented in the format user:password for private registry authentication using docker login.
 322       */
 323      authorizationToken?: Base64;
 324      /**
 325       * The Unix time in seconds and milliseconds when the authorization token expires. Authorization tokens are valid for 12 hours.
 326       */
 327      expiresAt?: ExpirationTimestamp;
 328      /**
 329       * The registry URL to use for this authorization token in a docker login command. The Amazon ECR registry URL format is https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, https://012345678910.dkr.ecr.us-east-1.amazonaws.com.. 
 330       */
 331      proxyEndpoint?: ProxyEndpoint;
 332    }
 333    export type AuthorizationDataList = AuthorizationData[];
 334    export type Base64 = string;
 335    export interface BatchCheckLayerAvailabilityRequest {
 336      /**
 337       * The AWS account ID associated with the registry that contains the image layers to check. If you do not specify a registry, the default registry is assumed.
 338       */
 339      registryId?: RegistryId;
 340      /**
 341       * The name of the repository that is associated with the image layers to check.
 342       */
 343      repositoryName: RepositoryName;
 344      /**
 345       * The digests of the image layers to check.
 346       */
 347      layerDigests: BatchedOperationLayerDigestList;
 348    }
 349    export interface BatchCheckLayerAvailabilityResponse {
 350      /**
 351       * A list of image layer objects corresponding to the image layer references in the request.
 352       */
 353      layers?: LayerList;
 354      /**
 355       * Any failures associated with the call.
 356       */
 357      failures?: LayerFailureList;
 358    }
 359    export interface BatchDeleteImageRequest {
 360      /**
 361       * The AWS account ID associated with the registry that contains the image to delete. If you do not specify a registry, the default registry is assumed.
 362       */
 363      registryId?: RegistryId;
 364      /**
 365       * The repository that contains the image to delete.
 366       */
 367      repositoryName: RepositoryName;
 368      /**
 369       * A list of image ID references that correspond to images to delete. The format of the imageIds reference is imageTag=tag or imageDigest=digest.
 370       */
 371      imageIds: ImageIdentifierList;
 372    }
 373    export interface BatchDeleteImageResponse {
 374      /**
 375       * The image IDs of the deleted images.
 376       */
 377      imageIds?: ImageIdentifierList;
 378      /**
 379       * Any failures associated with the call.
 380       */
 381      failures?: ImageFailureList;
 382    }
 383    export interface BatchGetImageRequest {
 384      /**
 385       * The AWS account ID associated with the registry that contains the images to describe. If you do not specify a registry, the default registry is assumed.
 386       */
 387      registryId?: RegistryId;
 388      /**
 389       * The repository that contains the images to describe.
 390       */
 391      repositoryName: RepositoryName;
 392      /**
 393       * A list of image ID references that correspond to images to describe. The format of the imageIds reference is imageTag=tag or imageDigest=digest.
 394       */
 395      imageIds: ImageIdentifierList;
 396      /**
 397       * The accepted media types for the request. Valid values: application/vnd.docker.distribution.manifest.v1+json | application/vnd.docker.distribution.manifest.v2+json | application/vnd.oci.image.manifest.v1+json 
 398       */
 399      acceptedMediaTypes?: MediaTypeList;
 400    }
 401    export interface BatchGetImageResponse {
 402      /**
 403       * A list of image objects corresponding to the image references in the request.
 404       */
 405      images?: ImageList;
 406      /**
 407       * Any failures associated with the call.
 408       */
 409      failures?: ImageFailureList;
 410    }
 411    export type BatchedOperationLayerDigest = string;
 412    export type BatchedOperationLayerDigestList = BatchedOperationLayerDigest[];
 413    export interface CompleteLayerUploadRequest {
 414      /**
 415       * The AWS account ID associated with the registry to which to upload layers. If you do not specify a registry, the default registry is assumed.
 416       */
 417      registryId?: RegistryId;
 418      /**
 419       * The name of the repository to associate with the image layer.
 420       */
 421      repositoryName: RepositoryName;
 422      /**
 423       * The upload ID from a previous InitiateLayerUpload operation to associate with the image layer.
 424       */
 425      uploadId: UploadId;
 426      /**
 427       * The sha256 digest of the image layer.
 428       */
 429      layerDigests: LayerDigestList;
 430    }
 431    export interface CompleteLayerUploadResponse {
 432      /**
 433       * The registry ID associated with the request.
 434       */
 435      registryId?: RegistryId;
 436      /**
 437       * The repository name associated with the request.
 438       */
 439      repositoryName?: RepositoryName;
 440      /**
 441       * The upload ID associated with the layer.
 442       */
 443      uploadId?: UploadId;
 444      /**
 445       * The sha256 digest of the image layer.
 446       */
 447      layerDigest?: LayerDigest;
 448    }
 449    export interface CreateRepositoryRequest {
 450      /**
 451       * The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).
 452       */
 453      repositoryName: RepositoryName;
 454      /**
 455       * The metadata that you apply to the repository to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
 456       */
 457      tags?: TagList;
 458      /**
 459       * The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
 460       */
 461      imageTagMutability?: ImageTagMutability;
 462      /**
 463       * The image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.
 464       */
 465      imageScanningConfiguration?: ImageScanningConfiguration;
 466      /**
 467       * The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
 468       */
 469      encryptionConfiguration?: EncryptionConfiguration;
 470    }
 471    export interface CreateRepositoryResponse {
 472      /**
 473       * The repository that was created.
 474       */
 475      repository?: Repository;
 476    }
 477    export type CreationTimestamp = Date;
 478    export interface DeleteLifecyclePolicyRequest {
 479      /**
 480       * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
 481       */
 482      registryId?: RegistryId;
 483      /**
 484       * The name of the repository.
 485       */
 486      repositoryName: RepositoryName;
 487    }
 488    export interface DeleteLifecyclePolicyResponse {
 489      /**
 490       * The registry ID associated with the request.
 491       */
 492      registryId?: RegistryId;
 493      /**
 494       * The repository name associated with the request.
 495       */
 496      repositoryName?: RepositoryName;
 497      /**
 498       * The JSON lifecycle policy text.
 499       */
 500      lifecyclePolicyText?: LifecyclePolicyText;
 501      /**
 502       * The time stamp of the last time that the lifecycle policy was run.
 503       */
 504      lastEvaluatedAt?: EvaluationTimestamp;
 505    }
 506    export interface DeleteRegistryPolicyRequest {
 507    }
 508    export interface DeleteRegistryPolicyResponse {
 509      /**
 510       * The registry ID associated with the request.
 511       */
 512      registryId?: RegistryId;
 513      /**
 514       * The contents of the registry permissions policy that was deleted.
 515       */
 516      policyText?: RegistryPolicyText;
 517    }
 518    export interface DeleteRepositoryPolicyRequest {
 519      /**
 520       * The AWS account ID associated with the registry that contains the repository policy to delete. If you do not specify a registry, the default registry is assumed.
 521       */
 522      registryId?: RegistryId;
 523      /**
 524       * The name of the repository that is associated with the repository policy to delete.
 525       */
 526      repositoryName: RepositoryName;
 527    }
 528    export interface DeleteRepositoryPolicyResponse {
 529      /**
 530       * The registry ID associated with the request.
 531       */
 532      registryId?: RegistryId;
 533      /**
 534       * The repository name associated with the request.
 535       */
 536      repositoryName?: RepositoryName;
 537      /**
 538       * The JSON repository policy that was deleted from the repository.
 539       */
 540      policyText?: RepositoryPolicyText;
 541    }
 542    export interface DeleteRepositoryRequest {
 543      /**
 544       * The AWS account ID associated with the registry that contains the repository to delete. If you do not specify a registry, the default registry is assumed.
 545       */
 546      registryId?: RegistryId;
 547      /**
 548       * The name of the repository to delete.
 549       */
 550      repositoryName: RepositoryName;
 551      /**
 552       *  If a repository contains images, forces the deletion.
 553       */
 554      force?: ForceFlag;
 555    }
 556    export interface DeleteRepositoryResponse {
 557      /**
 558       * The repository that was deleted.
 559       */
 560      repository?: Repository;
 561    }
 562    export interface DescribeImageScanFindingsRequest {
 563      /**
 564       * The AWS account ID associated with the registry that contains the repository in which to describe the image scan findings for. If you do not specify a registry, the default registry is assumed.
 565       */
 566      registryId?: RegistryId;
 567      /**
 568       * The repository for the image for which to describe the scan findings.
 569       */
 570      repositoryName: RepositoryName;
 571      imageId: ImageIdentifier;
 572      /**
 573       * The nextToken value returned from a previous paginated DescribeImageScanFindings request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.
 574       */
 575      nextToken?: NextToken;
 576      /**
 577       * The maximum number of image scan results returned by DescribeImageScanFindings in paginated output. When this parameter is used, DescribeImageScanFindings only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImageScanFindings request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImageScanFindings returns up to 100 results and a nextToken value, if applicable.
 578       */
 579      maxResults?: MaxResults;
 580    }
 581    export interface DescribeImageScanFindingsResponse {
 582      /**
 583       * The registry ID associated with the request.
 584       */
 585      registryId?: RegistryId;
 586      /**
 587       * The repository name associated with the request.
 588       */
 589      repositoryName?: RepositoryName;
 590      imageId?: ImageIdentifier;
 591      /**
 592       * The current state of the scan.
 593       */
 594      imageScanStatus?: ImageScanStatus;
 595      /**
 596       * The information contained in the image scan findings.
 597       */
 598      imageScanFindings?: ImageScanFindings;
 599      /**
 600       * The nextToken value to include in a future DescribeImageScanFindings request. When the results of a DescribeImageScanFindings request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
 601       */
 602      nextToken?: NextToken;
 603    }
 604    export interface DescribeImagesFilter {
 605      /**
 606       * The tag status with which to filter your DescribeImages results. You can filter results based on whether they are TAGGED or UNTAGGED.
 607       */
 608      tagStatus?: TagStatus;
 609    }
 610    export interface DescribeImagesRequest {
 611      /**
 612       * The AWS account ID associated with the registry that contains the repository in which to describe images. If you do not specify a registry, the default registry is assumed.
 613       */
 614      registryId?: RegistryId;
 615      /**
 616       * The repository that contains the images to describe.
 617       */
 618      repositoryName: RepositoryName;
 619      /**
 620       * The list of image IDs for the requested repository.
 621       */
 622      imageIds?: ImageIdentifierList;
 623      /**
 624       * The nextToken value returned from a previous paginated DescribeImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify images with imageIds.
 625       */
 626      nextToken?: NextToken;
 627      /**
 628       * The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.
 629       */
 630      maxResults?: MaxResults;
 631      /**
 632       * The filter key and value with which to filter your DescribeImages results.
 633       */
 634      filter?: DescribeImagesFilter;
 635    }
 636    export interface DescribeImagesResponse {
 637      /**
 638       * A list of ImageDetail objects that contain data about the image.
 639       */
 640      imageDetails?: ImageDetailList;
 641      /**
 642       * The nextToken value to include in a future DescribeImages request. When the results of a DescribeImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
 643       */
 644      nextToken?: NextToken;
 645    }
 646    export interface DescribeRegistryRequest {
 647    }
 648    export interface DescribeRegistryResponse {
 649      /**
 650       * The ID of the registry.
 651       */
 652      registryId?: RegistryId;
 653      /**
 654       * The replication configuration for the registry.
 655       */
 656      replicationConfiguration?: ReplicationConfiguration;
 657    }
 658    export interface DescribeRepositoriesRequest {
 659      /**
 660       * The AWS account ID associated with the registry that contains the repositories to be described. If you do not specify a registry, the default registry is assumed.
 661       */
 662      registryId?: RegistryId;
 663      /**
 664       * A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.
 665       */
 666      repositoryNames?: RepositoryNameList;
 667      /**
 668       * The nextToken value returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify repositories with repositoryNames.  This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. 
 669       */
 670      nextToken?: NextToken;
 671      /**
 672       * The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.
 673       */
 674      maxResults?: MaxResults;
 675    }
 676    export interface DescribeRepositoriesResponse {
 677      /**
 678       * A list of repository objects corresponding to valid repositories.
 679       */
 680      repositories?: RepositoryList;
 681      /**
 682       * The nextToken value to include in a future DescribeRepositories request. When the results of a DescribeRepositories request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
 683       */
 684      nextToken?: NextToken;
 685    }
 686    export interface EncryptionConfiguration {
 687      /**
 688       * The encryption type to use. If you use the KMS encryption type, the contents of the repository will be encrypted using server-side encryption with customer master keys (CMKs) stored in AWS KMS. When you use AWS KMS to encrypt your data, you can either use the default AWS managed CMK for Amazon ECR, or specify your own CMK, which you already created. For more information, see Protecting Data Using Server-Side Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS) in the Amazon Simple Storage Service Console Developer Guide.. If you use the AES256 encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES-256 encryption algorithm. For more information, see Protecting Data Using Server-Side Encryption with Amazon S3-Managed Encryption Keys (SSE-S3) in the Amazon Simple Storage Service Console Developer Guide..
 689       */
 690      encryptionType: EncryptionType;
 691      /**
 692       * If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.
 693       */
 694      kmsKey?: KmsKey;
 695    }
 696    export type EncryptionType = "AES256"|"KMS"|string;
 697    export type EvaluationTimestamp = Date;
 698    export type ExpirationTimestamp = Date;
 699    export type FindingDescription = string;
 700    export type FindingName = string;
 701    export type FindingSeverity = "INFORMATIONAL"|"LOW"|"MEDIUM"|"HIGH"|"CRITICAL"|"UNDEFINED"|string;
 702    export type FindingSeverityCounts = {[key: string]: SeverityCount};
 703    export type ForceFlag = boolean;
 704    export type GetAuthorizationTokenRegistryIdList = RegistryId[];
 705    export interface GetAuthorizationTokenRequest {
 706      /**
 707       * A list of AWS account IDs that are associated with the registries for which to get AuthorizationData objects. If you do not specify a registry, the default registry is assumed.
 708       */
 709      registryIds?: GetAuthorizationTokenRegistryIdList;
 710    }
 711    export interface GetAuthorizationTokenResponse {
 712      /**
 713       * A list of authorization token data objects that correspond to the registryIds values in the request.
 714       */
 715      authorizationData?: AuthorizationDataList;
 716    }
 717    export interface GetDownloadUrlForLayerRequest {
 718      /**
 719       * The AWS account ID associated with the registry that contains the image layer to download. If you do not specify a registry, the default registry is assumed.
 720       */
 721      registryId?: RegistryId;
 722      /**
 723       * The name of the repository that is associated with the image layer to download.
 724       */
 725      repositoryName: RepositoryName;
 726      /**
 727       * The digest of the image layer to download.
 728       */
 729      layerDigest: LayerDigest;
 730    }
 731    export interface GetDownloadUrlForLayerResponse {
 732      /**
 733       * The pre-signed Amazon S3 download URL for the requested layer.
 734       */
 735      downloadUrl?: Url;
 736      /**
 737       * The digest of the image layer to download.
 738       */
 739      layerDigest?: LayerDigest;
 740    }
 741    export interface GetLifecyclePolicyPreviewRequest {
 742      /**
 743       * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
 744       */
 745      registryId?: RegistryId;
 746      /**
 747       * The name of the repository.
 748       */
 749      repositoryName: RepositoryName;
 750      /**
 751       * The list of imageIDs to be included.
 752       */
 753      imageIds?: ImageIdentifierList;
 754      /**
 755       * The nextToken value returned from a previous paginated&#x2028; GetLifecyclePolicyPreviewRequest request where maxResults was used and the&#x2028; results exceeded the value of that parameter. Pagination continues from the end of the&#x2028; previous results that returned the nextToken value. This value is&#x2028; null when there are no more results to return. This option cannot be used when you specify images with imageIds.
 756       */
 757      nextToken?: NextToken;
 758      /**
 759       * The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in&#x2028; paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest only returns&#x2028; maxResults results in a single page along with a nextToken&#x2028; response element. The remaining results of the initial request can be seen by sending&#x2028; another GetLifecyclePolicyPreviewRequest request with the returned nextToken&#x2028; value. This value can be between 1 and 1000. If this&#x2028; parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to&#x2028; 100 results and a nextToken value, if&#x2028; applicable. This option cannot be used when you specify images with imageIds.
 760       */
 761      maxResults?: LifecyclePreviewMaxResults;
 762      /**
 763       * An optional parameter that filters results based on image tag status and all tags, if tagged.
 764       */
 765      filter?: LifecyclePolicyPreviewFilter;
 766    }
 767    export interface GetLifecyclePolicyPreviewResponse {
 768      /**
 769       * The registry ID associated with the request.
 770       */
 771      registryId?: RegistryId;
 772      /**
 773       * The repository name associated with the request.
 774       */
 775      repositoryName?: RepositoryName;
 776      /**
 777       * The JSON lifecycle policy text.
 778       */
 779      lifecyclePolicyText?: LifecyclePolicyText;
 780      /**
 781       * The status of the lifecycle policy preview request.
 782       */
 783      status?: LifecyclePolicyPreviewStatus;
 784      /**
 785       * The nextToken value to include in a future GetLifecyclePolicyPreview request. When the results of a GetLifecyclePolicyPreview request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
 786       */
 787      nextToken?: NextToken;
 788      /**
 789       * The results of the lifecycle policy preview request.
 790       */
 791      previewResults?: LifecyclePolicyPreviewResultList;
 792      /**
 793       * The list of images that is returned as a result of the action.
 794       */
 795      summary?: LifecyclePolicyPreviewSummary;
 796    }
 797    export interface GetLifecyclePolicyRequest {
 798      /**
 799       * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
 800       */
 801      registryId?: RegistryId;
 802      /**
 803       * The name of the repository.
 804       */
 805      repositoryName: RepositoryName;
 806    }
 807    export interface GetLifecyclePolicyResponse {
 808      /**
 809       * The registry ID associated with the request.
 810       */
 811      registryId?: RegistryId;
 812      /**
 813       * The repository name associated with the request.
 814       */
 815      repositoryName?: RepositoryName;
 816      /**
 817       * The JSON lifecycle policy text.
 818       */
 819      lifecyclePolicyText?: LifecyclePolicyText;
 820      /**
 821       * The time stamp of the last time that the lifecycle policy was run.
 822       */
 823      lastEvaluatedAt?: EvaluationTimestamp;
 824    }
 825    export interface GetRegistryPolicyRequest {
 826    }
 827    export interface GetRegistryPolicyResponse {
 828      /**
 829       * The ID of the registry.
 830       */
 831      registryId?: RegistryId;
 832      /**
 833       * The JSON text of the permissions policy for a registry.
 834       */
 835      policyText?: RegistryPolicyText;
 836    }
 837    export interface GetRepositoryPolicyRequest {
 838      /**
 839       * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
 840       */
 841      registryId?: RegistryId;
 842      /**
 843       * The name of the repository with the policy to retrieve.
 844       */
 845      repositoryName: RepositoryName;
 846    }
 847    export interface GetRepositoryPolicyResponse {
 848      /**
 849       * The registry ID associated with the request.
 850       */
 851      registryId?: RegistryId;
 852      /**
 853       * The repository name associated with the request.
 854       */
 855      repositoryName?: RepositoryName;
 856      /**
 857       * The JSON repository policy text associated with the repository.
 858       */
 859      policyText?: RepositoryPolicyText;
 860    }
 861    export interface Image {
 862      /**
 863       * The AWS account ID associated with the registry containing the image.
 864       */
 865      registryId?: RegistryId;
 866      /**
 867       * The name of the repository associated with the image.
 868       */
 869      repositoryName?: RepositoryName;
 870      /**
 871       * An object containing the image tag and image digest associated with an image.
 872       */
 873      imageId?: ImageIdentifier;
 874      /**
 875       * The image manifest associated with the image.
 876       */
 877      imageManifest?: ImageManifest;
 878      /**
 879       * The manifest media type of the image.
 880       */
 881      imageManifestMediaType?: MediaType;
 882    }
 883    export type ImageActionType = "EXPIRE"|string;
 884    export type ImageCount = number;
 885    export interface ImageDetail {
 886      /**
 887       * The AWS account ID associated with the registry to which this image belongs.
 888       */
 889      registryId?: RegistryId;
 890      /**
 891       * The name of the repository to which this image belongs.
 892       */
 893      repositoryName?: RepositoryName;
 894      /**
 895       * The sha256 digest of the image manifest.
 896       */
 897      imageDigest?: ImageDigest;
 898      /**
 899       * The list of tags associated with this image.
 900       */
 901      imageTags?: ImageTagList;
 902      /**
 903       * The size, in bytes, of the image in the repository. If the image is a manifest list, this will be the max size of all manifests in the list.  Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages. 
 904       */
 905      imageSizeInBytes?: ImageSizeInBytes;
 906      /**
 907       * The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository. 
 908       */
 909      imagePushedAt?: PushTimestamp;
 910      /**
 911       * The current state of the scan.
 912       */
 913      imageScanStatus?: ImageScanStatus;
 914      /**
 915       * A summary of the last completed image scan.
 916       */
 917      imageScanFindingsSummary?: ImageScanFindingsSummary;
 918      /**
 919       * The media type of the image manifest.
 920       */
 921      imageManifestMediaType?: MediaType;
 922      /**
 923       * The artifact media type of the image.
 924       */
 925      artifactMediaType?: MediaType;
 926    }
 927    export type ImageDetailList = ImageDetail[];
 928    export type ImageDigest = string;
 929    export interface ImageFailure {
 930      /**
 931       * The image ID associated with the failure.
 932       */
 933      imageId?: ImageIdentifier;
 934      /**
 935       * The code associated with the failure.
 936       */
 937      failureCode?: ImageFailureCode;
 938      /**
 939       * The reason for the failure.
 940       */
 941      failureReason?: ImageFailureReason;
 942    }
 943    export type ImageFailureCode = "InvalidImageDigest"|"InvalidImageTag"|"ImageTagDoesNotMatchDigest"|"ImageNotFound"|"MissingDigestAndTag"|"ImageReferencedByManifestList"|"KmsError"|string;
 944    export type ImageFailureList = ImageFailure[];
 945    export type ImageFailureReason = string;
 946    export interface ImageIdentifier {
 947      /**
 948       * The sha256 digest of the image manifest.
 949       */
 950      imageDigest?: ImageDigest;
 951      /**
 952       * The tag used for the image.
 953       */
 954      imageTag?: ImageTag;
 955    }
 956    export type ImageIdentifierList = ImageIdentifier[];
 957    export type ImageList = Image[];
 958    export type ImageManifest = string;
 959    export interface ImageScanFinding {
 960      /**
 961       * The name associated with the finding, usually a CVE number.
 962       */
 963      name?: FindingName;
 964      /**
 965       * The description of the finding.
 966       */
 967      description?: FindingDescription;
 968      /**
 969       * A link containing additional details about the security vulnerability.
 970       */
 971      uri?: Url;
 972      /**
 973       * The finding severity.
 974       */
 975      severity?: FindingSeverity;
 976      /**
 977       * A collection of attributes of the host from which the finding is generated.
 978       */
 979      attributes?: AttributeList;
 980    }
 981    export type ImageScanFindingList = ImageScanFinding[];
 982    export interface ImageScanFindings {
 983      /**
 984       * The time of the last completed image scan.
 985       */
 986      imageScanCompletedAt?: ScanTimestamp;
 987      /**
 988       * The time when the vulnerability data was last scanned.
 989       */
 990      vulnerabilitySourceUpdatedAt?: VulnerabilitySourceUpdateTimestamp;
 991      /**
 992       * The findings from the image scan.
 993       */
 994      findings?: ImageScanFindingList;
 995      /**
 996       * The image vulnerability counts, sorted by severity.
 997       */
 998      findingSeverityCounts?: FindingSeverityCounts;
 999    }
1000    export interface ImageScanFindingsSummary {
1001      /**
1002       * The time of the last completed image scan.
1003       */
1004      imageScanCompletedAt?: ScanTimestamp;
1005      /**
1006       * The time when the vulnerability data was last scanned.
1007       */
1008      vulnerabilitySourceUpdatedAt?: VulnerabilitySourceUpdateTimestamp;
1009      /**
1010       * The image vulnerability counts, sorted by severity.
1011       */
1012      findingSeverityCounts?: FindingSeverityCounts;
1013    }
1014    export interface ImageScanStatus {
1015      /**
1016       * The current state of an image scan.
1017       */
1018      status?: ScanStatus;
1019      /**
1020       * The description of the image scan status.
1021       */
1022      description?: ScanStatusDescription;
1023    }
1024    export interface ImageScanningConfiguration {
1025      /**
1026       * The setting that determines whether images are scanned after being pushed to a repository. If set to true, images will be scanned after being pushed. If this parameter is not specified, it will default to false and images will not be scanned unless a scan is manually started with the StartImageScan API.
1027       */
1028      scanOnPush?: ScanOnPushFlag;
1029    }
1030    export type ImageSizeInBytes = number;
1031    export type ImageTag = string;
1032    export type ImageTagList = ImageTag[];
1033    export type ImageTagMutability = "MUTABLE"|"IMMUTABLE"|string;
1034    export interface InitiateLayerUploadRequest {
1035      /**
1036       * The AWS account ID associated with the registry to which you intend to upload layers. If you do not specify a registry, the default registry is assumed.
1037       */
1038      registryId?: RegistryId;
1039      /**
1040       * The name of the repository to which you intend to upload layers.
1041       */
1042      repositoryName: RepositoryName;
1043    }
1044    export interface InitiateLayerUploadResponse {
1045      /**
1046       * The upload ID for the layer upload. This parameter is passed to further UploadLayerPart and CompleteLayerUpload operations.
1047       */
1048      uploadId?: UploadId;
1049      /**
1050       * The size, in bytes, that Amazon ECR expects future layer part uploads to be.
1051       */
1052      partSize?: PartSize;
1053    }
1054    export type KmsKey = string;
1055    export interface Layer {
1056      /**
1057       * The sha256 digest of the image layer.
1058       */
1059      layerDigest?: LayerDigest;
1060      /**
1061       * The availability status of the image layer.
1062       */
1063      layerAvailability?: LayerAvailability;
1064      /**
1065       * The size, in bytes, of the image layer.
1066       */
1067      layerSize?: LayerSizeInBytes;
1068      /**
1069       * The media type of the layer, such as application/vnd.docker.image.rootfs.diff.tar.gzip or application/vnd.oci.image.layer.v1.tar+gzip.
1070       */
1071      mediaType?: MediaType;
1072    }
1073    export type LayerAvailability = "AVAILABLE"|"UNAVAILABLE"|string;
1074    export type LayerDigest = string;
1075    export type LayerDigestList = LayerDigest[];
1076    export interface LayerFailure {
1077      /**
1078       * The layer digest associated with the failure.
1079       */
1080      layerDigest?: BatchedOperationLayerDigest;
1081      /**
1082       * The failure code associated with the failure.
1083       */
1084      failureCode?: LayerFailureCode;
1085      /**
1086       * The reason for the failure.
1087       */
1088      failureReason?: LayerFailureReason;
1089    }
1090    export type LayerFailureCode = "InvalidLayerDigest"|"MissingLayerDigest"|string;
1091    export type LayerFailureList = LayerFailure[];
1092    export type LayerFailureReason = string;
1093    export type LayerList = Layer[];
1094    export type LayerPartBlob = Buffer|Uint8Array|Blob|string;
1095    export type LayerSizeInBytes = number;
1096    export interface LifecyclePolicyPreviewFilter {
1097      /**
1098       * The tag status of the image.
1099       */
1100      tagStatus?: TagStatus;
1101    }
1102    export interface LifecyclePolicyPreviewResult {
1103      /**
1104       * The list of tags associated with this image.
1105       */
1106      imageTags?: ImageTagList;
1107      /**
1108       * The sha256 digest of the image manifest.
1109       */
1110      imageDigest?: ImageDigest;
1111      /**
1112       * The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.
1113       */
1114      imagePushedAt?: PushTimestamp;
1115      /**
1116       * The type of action to be taken.
1117       */
1118      action?: LifecyclePolicyRuleAction;
1119      /**
1120       * The priority of the applied rule.
1121       */
1122      appliedRulePriority?: LifecyclePolicyRulePriority;
1123    }
1124    export type LifecyclePolicyPreviewResultList = LifecyclePolicyPreviewResult[];
1125    export type LifecyclePolicyPreviewStatus = "IN_PROGRESS"|"COMPLETE"|"EXPIRED"|"FAILED"|string;
1126    export interface LifecyclePolicyPreviewSummary {
1127      /**
1128       * The number of expiring images.
1129       */
1130      expiringImageTotalCount?: ImageCount;
1131    }
1132    export interface LifecyclePolicyRuleAction {
1133      /**
1134       * The type of action to be taken.
1135       */
1136      type?: ImageActionType;
1137    }
1138    export type LifecyclePolicyRulePriority = number;
1139    export type LifecyclePolicyText = string;
1140    export type LifecyclePreviewMaxResults = number;
1141    export interface ListImagesFilter {
1142      /**
1143       * The tag status with which to filter your ListImages results. You can filter results based on whether they are TAGGED or UNTAGGED.
1144       */
1145      tagStatus?: TagStatus;
1146    }
1147    export interface ListImagesRequest {
1148      /**
1149       * The AWS account ID associated with the registry that contains the repository in which to list images. If you do not specify a registry, the default registry is assumed.
1150       */
1151      registryId?: RegistryId;
1152      /**
1153       * The repository with image IDs to be listed.
1154       */
1155      repositoryName: RepositoryName;
1156      /**
1157       * The nextToken value returned from a previous paginated ListImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.  This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. 
1158       */
1159      nextToken?: NextToken;
1160      /**
1161       * The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.
1162       */
1163      maxResults?: MaxResults;
1164      /**
1165       * The filter key and value with which to filter your ListImages results.
1166       */
1167      filter?: ListImagesFilter;
1168    }
1169    export interface ListImagesResponse {
1170      /**
1171       * The list of image IDs for the requested repository.
1172       */
1173      imageIds?: ImageIdentifierList;
1174      /**
1175       * The nextToken value to include in a future ListImages request. When the results of a ListImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
1176       */
1177      nextToken?: NextToken;
1178    }
1179    export interface ListTagsForResourceRequest {
1180      /**
1181       * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the only supported resource is an Amazon ECR repository.
1182       */
1183      resourceArn: Arn;
1184    }
1185    export interface ListTagsForResourceResponse {
1186      /**
1187       * The tags for the resource.
1188       */
1189      tags?: TagList;
1190    }
1191    export type MaxResults = number;
1192    export type MediaType = string;
1193    export type MediaTypeList = MediaType[];
1194    export type NextToken = string;
1195    export type PartSize = number;
1196    export type ProxyEndpoint = string;
1197    export type PushTimestamp = Date;
1198    export interface PutImageRequest {
1199      /**
1200       * The AWS account ID associated with the registry that contains the repository in which to put the image. If you do not specify a registry, the default registry is assumed.
1201       */
1202      registryId?: RegistryId;
1203      /**
1204       * The name of the repository in which to put the image.
1205       */
1206      repositoryName: RepositoryName;
1207      /**
1208       * The image manifest corresponding to the image to be uploaded.
1209       */
1210      imageManifest: ImageManifest;
1211      /**
1212       * The media type of the image manifest. If you push an image manifest that does not contain the mediaType field, you must specify the imageManifestMediaType in the request.
1213       */
1214      imageManifestMediaType?: MediaType;
1215      /**
1216       * The tag to associate with the image. This parameter is required for images that use the Docker Image Manifest V2 Schema 2 or Open Container Initiative (OCI) formats.
1217       */
1218      imageTag?: ImageTag;
1219      /**
1220       * The image digest of the image manifest corresponding to the image.
1221       */
1222      imageDigest?: ImageDigest;
1223    }
1224    export interface PutImageResponse {
1225      /**
1226       * Details of the image uploaded.
1227       */
1228      image?: Image;
1229    }
1230    export interface PutImageScanningConfigurationRequest {
1231      /**
1232       * The AWS account ID associated with the registry that contains the repository in which to update the image scanning configuration setting. If you do not specify a registry, the default registry is assumed.
1233       */
1234      registryId?: RegistryId;
1235      /**
1236       * The name of the repository in which to update the image scanning configuration setting.
1237       */
1238      repositoryName: RepositoryName;
1239      /**
1240       * The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository.
1241       */
1242      imageScanningConfiguration: ImageScanningConfiguration;
1243    }
1244    export interface PutImageScanningConfigurationResponse {
1245      /**
1246       * The registry ID associated with the request.
1247       */
1248      registryId?: RegistryId;
1249      /**
1250       * The repository name associated with the request.
1251       */
1252      repositoryName?: RepositoryName;
1253      /**
1254       * The image scanning configuration setting for the repository.
1255       */
1256      imageScanningConfiguration?: ImageScanningConfiguration;
1257    }
1258    export interface PutImageTagMutabilityRequest {
1259      /**
1260       * The AWS account ID associated with the registry that contains the repository in which to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.
1261       */
1262      registryId?: RegistryId;
1263      /**
1264       * The name of the repository in which to update the image tag mutability settings.
1265       */
1266      repositoryName: RepositoryName;
1267      /**
1268       * The tag mutability setting for the repository. If MUTABLE is specified, image tags can be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
1269       */
1270      imageTagMutability: ImageTagMutability;
1271    }
1272    export interface PutImageTagMutabilityResponse {
1273      /**
1274       * The registry ID associated with the request.
1275       */
1276      registryId?: RegistryId;
1277      /**
1278       * The repository name associated with the request.
1279       */
1280      repositoryName?: RepositoryName;
1281      /**
1282       * The image tag mutability setting for the repository.
1283       */
1284      imageTagMutability?: ImageTagMutability;
1285    }
1286    export interface PutLifecyclePolicyRequest {
1287      /**
1288       * The AWS account ID associated with the registry that contains the repository. If you do&#x2028; not specify a registry, the default registry is assumed.
1289       */
1290      registryId?: RegistryId;
1291      /**
1292       * The name of the repository to receive the policy.
1293       */
1294      repositoryName: RepositoryName;
1295      /**
1296       * The JSON repository policy text to apply to the repository.
1297       */
1298      lifecyclePolicyText: LifecyclePolicyText;
1299    }
1300    export interface PutLifecyclePolicyResponse {
1301      /**
1302       * The registry ID associated with the request.
1303       */
1304      registryId?: RegistryId;
1305      /**
1306       * The repository name associated with the request.
1307       */
1308      repositoryName?: RepositoryName;
1309      /**
1310       * The JSON repository policy text.
1311       */
1312      lifecyclePolicyText?: LifecyclePolicyText;
1313    }
1314    export interface PutRegistryPolicyRequest {
1315      /**
1316       * The JSON policy text to apply to your registry. The policy text follows the same format as IAM policy text. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.
1317       */
1318      policyText: RegistryPolicyText;
1319    }
1320    export interface PutRegistryPolicyResponse {
1321      /**
1322       * The registry ID.
1323       */
1324      registryId?: RegistryId;
1325      /**
1326       * The JSON policy text for your registry.
1327       */
1328      policyText?: RegistryPolicyText;
1329    }
1330    export interface PutReplicationConfigurationRequest {
1331      /**
1332       * An object representing the replication configuration for a registry.
1333       */
1334      replicationConfiguration: ReplicationConfiguration;
1335    }
1336    export interface PutReplicationConfigurationResponse {
1337      /**
1338       * The contents of the replication configuration for the registry.
1339       */
1340      replicationConfiguration?: ReplicationConfiguration;
1341    }
1342    export type Region = string;
1343    export type RegistryId = string;
1344    export type RegistryPolicyText = string;
1345    export interface ReplicationConfiguration {
1346      /**
1347       * An array of objects representing the replication rules for a replication configuration. A replication configuration may contain only one replication rule but the rule may contain one or more replication destinations.
1348       */
1349      rules: ReplicationRuleList;
1350    }
1351    export interface ReplicationDestination {
1352      /**
1353       * A Region to replicate to.
1354       */
1355      region: Region;
1356      /**
1357       * The account ID of the destination registry to replicate to.
1358       */
1359      registryId: RegistryId;
1360    }
1361    export type ReplicationDestinationList = ReplicationDestination[];
1362    export interface ReplicationRule {
1363      /**
1364       * An array of objects representing the details of a replication destination.
1365       */
1366      destinations: ReplicationDestinationList;
1367    }
1368    export type ReplicationRuleList = ReplicationRule[];
1369    export interface Repository {
1370      /**
1371       * The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, AWS account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.
1372       */
1373      repositoryArn?: Arn;
1374      /**
1375       * The AWS account ID associated with the registry that contains the repository.
1376       */
1377      registryId?: RegistryId;
1378      /**
1379       * The name of the repository.
1380       */
1381      repositoryName?: RepositoryName;
1382      /**
1383       * The URI for the repository. You can use this URI for container image push and pull operations.
1384       */
1385      repositoryUri?: Url;
1386      /**
1387       * The date and time, in JavaScript date format, when the repository was created.
1388       */
1389      createdAt?: CreationTimestamp;
1390      /**
1391       * The tag mutability setting for the repository.
1392       */
1393      imageTagMutability?: ImageTagMutability;
1394      imageScanningConfiguration?: ImageScanningConfiguration;
1395      /**
1396       * The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
1397       */
1398      encryptionConfiguration?: EncryptionConfiguration;
1399    }
1400    export type RepositoryList = Repository[];
1401    export type RepositoryName = string;
1402    export type RepositoryNameList = RepositoryName[];
1403    export type RepositoryPolicyText = string;
1404    export type ScanOnPushFlag = boolean;
1405    export type ScanStatus = "IN_PROGRESS"|"COMPLETE"|"FAILED"|string;
1406    export type ScanStatusDescription = string;
1407    export type ScanTimestamp = Date;
1408    export interface SetRepositoryPolicyRequest {
1409      /**
1410       * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
1411       */
1412      registryId?: RegistryId;
1413      /**
1414       * The name of the repository to receive the policy.
1415       */
1416      repositoryName: RepositoryName;
1417      /**
1418       * The JSON repository policy text to apply to the repository. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.
1419       */
1420      policyText: RepositoryPolicyText;
1421      /**
1422       * If the policy you are attempting to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This is intended to prevent accidental repository lock outs.
1423       */
1424      force?: ForceFlag;
1425    }
1426    export interface SetRepositoryPolicyResponse {
1427      /**
1428       * The registry ID associated with the request.
1429       */
1430      registryId?: RegistryId;
1431      /**
1432       * The repository name associated with the request.
1433       */
1434      repositoryName?: RepositoryName;
1435      /**
1436       * The JSON repository policy text applied to the repository.
1437       */
1438      policyText?: RepositoryPolicyText;
1439    }
1440    export type SeverityCount = number;
1441    export interface StartImageScanRequest {
1442      /**
1443       * The AWS account ID associated with the registry that contains the repository in which to start an image scan request. If you do not specify a registry, the default registry is assumed.
1444       */
1445      registryId?: RegistryId;
1446      /**
1447       * The name of the repository that contains the images to scan.
1448       */
1449      repositoryName: RepositoryName;
1450      imageId: ImageIdentifier;
1451    }
1452    export interface StartImageScanResponse {
1453      /**
1454       * The registry ID associated with the request.
1455       */
1456      registryId?: RegistryId;
1457      /**
1458       * The repository name associated with the request.
1459       */
1460      repositoryName?: RepositoryName;
1461      imageId?: ImageIdentifier;
1462      /**
1463       * The current state of the scan.
1464       */
1465      imageScanStatus?: ImageScanStatus;
1466    }
1467    export interface StartLifecyclePolicyPreviewRequest {
1468      /**
1469       * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
1470       */
1471      registryId?: RegistryId;
1472      /**
1473       * The name of the repository to be evaluated.
1474       */
1475      repositoryName: RepositoryName;
1476      /**
1477       * The policy to be evaluated against. If you do not specify a policy, the current policy for the repository is used.
1478       */
1479      lifecyclePolicyText?: LifecyclePolicyText;
1480    }
1481    export interface StartLifecyclePolicyPreviewResponse {
1482      /**
1483       * The registry ID associated with the request.
1484       */
1485      registryId?: RegistryId;
1486      /**
1487       * The repository name associated with the request.
1488       */
1489      repositoryName?: RepositoryName;
1490      /**
1491       * The JSON repository policy text.
1492       */
1493      lifecyclePolicyText?: LifecyclePolicyText;
1494      /**
1495       * The status of the lifecycle policy preview request.
1496       */
1497      status?: LifecyclePolicyPreviewStatus;
1498    }
1499    export interface Tag {
1500      /**
1501       * One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
1502       */
1503      Key?: TagKey;
1504      /**
1505       * The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
1506       */
1507      Value?: TagValue;
1508    }
1509    export type TagKey = string;
1510    export type TagKeyList = TagKey[];
1511    export type TagList = Tag[];
1512    export interface TagResourceRequest {
1513      /**
1514       * The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported resource is an Amazon ECR repository.
1515       */
1516      resourceArn: Arn;
1517      /**
1518       * The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
1519       */
1520      tags: TagList;
1521    }
1522    export interface TagResourceResponse {
1523    }
1524    export type TagStatus = "TAGGED"|"UNTAGGED"|"ANY"|string;
1525    export type TagValue = string;
1526    export interface UntagResourceRequest {
1527      /**
1528       * The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported resource is an Amazon ECR repository.
1529       */
1530      resourceArn: Arn;
1531      /**
1532       * The keys of the tags to be removed.
1533       */
1534      tagKeys: TagKeyList;
1535    }
1536    export interface UntagResourceResponse {
1537    }
1538    export type UploadId = string;
1539    export interface UploadLayerPartRequest {
1540      /**
1541       * The AWS account ID associated with the registry to which you are uploading layer parts. If you do not specify a registry, the default registry is assumed.
1542       */
1543      registryId?: RegistryId;
1544      /**
1545       * The name of the repository to which you are uploading layer parts.
1546       */
1547      repositoryName: RepositoryName;
1548      /**
1549       * The upload ID from a previous InitiateLayerUpload operation to associate with the layer part upload.
1550       */
1551      uploadId: UploadId;
1552      /**
1553       * The position of the first byte of the layer part witin the overall image layer.
1554       */
1555      partFirstByte: PartSize;
1556      /**
1557       * The position of the last byte of the layer part within the overall image layer.
1558       */
1559      partLastByte: PartSize;
1560      /**
1561       * The base64-encoded layer part payload.
1562       */
1563      layerPartBlob: LayerPartBlob;
1564    }
1565    export interface UploadLayerPartResponse {
1566      /**
1567       * The registry ID associated with the request.
1568       */
1569      registryId?: RegistryId;
1570      /**
1571       * The repository name associated with the request.
1572       */
1573      repositoryName?: RepositoryName;
1574      /**
1575       * The upload ID associated with the request.
1576       */
1577      uploadId?: UploadId;
1578      /**
1579       * The integer value of the last byte received in the request.
1580       */
1581      lastByteReceived?: PartSize;
1582    }
1583    export type Url = string;
1584    export type VulnerabilitySourceUpdateTimestamp = Date;
1585    /**
1586     * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1587     */
1588    export type apiVersion = "2015-09-21"|"latest"|string;
1589    export interface ClientApiVersions {
1590      /**
1591       * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1592       */
1593      apiVersion?: apiVersion;
1594    }
1595    export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1596    /**
1597     * Contains interfaces for use with the ECR client.
1598     */
1599    export import Types = ECR;
1600  }
1601  export = ECR;