'2.0', 'metadata' => ['apiVersion' => '2015-09-21', 'endpointPrefix' => 'ecr', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon ECR', 'serviceFullName' => 'Amazon EC2 Container Registry', 'serviceId' => 'ECR', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonEC2ContainerRegistry_V20150921', 'uid' => 'ecr-2015-09-21'], 'operations' => ['BatchCheckLayerAvailability' => ['name' => 'BatchCheckLayerAvailability', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'BatchCheckLayerAvailabilityRequest'], 'output' => ['shape' => 'BatchCheckLayerAvailabilityResponse'], 'errors' => [['shape' => 'RepositoryNotFoundException'], ['shape' => 'InvalidParameterException'], ['shape' => 'ServerException']]], 'BatchDeleteImage' => ['name' => 'BatchDeleteImage', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'BatchDeleteImageRequest'], 'output' => ['shape' => 'BatchDeleteImageResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'BatchGetImage' => ['name' => 'BatchGetImage', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'BatchGetImageRequest'], 'output' => ['shape' => 'BatchGetImageResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'CompleteLayerUpload' => ['name' => 'CompleteLayerUpload', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'CompleteLayerUploadRequest'], 'output' => ['shape' => 'CompleteLayerUploadResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'UploadNotFoundException'], ['shape' => 'InvalidLayerException'], ['shape' => 'LayerPartTooSmallException'], ['shape' => 'LayerAlreadyExistsException'], ['shape' => 'EmptyUploadException']]], 'CreateRepository' => ['name' => 'CreateRepository', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'CreateRepositoryRequest'], 'output' => ['shape' => 'CreateRepositoryResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'InvalidTagParameterException'], ['shape' => 'TooManyTagsException'], ['shape' => 'RepositoryAlreadyExistsException'], ['shape' => 'LimitExceededException']]], 'DeleteLifecyclePolicy' => ['name' => 'DeleteLifecyclePolicy', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'DeleteLifecyclePolicyRequest'], 'output' => ['shape' => 'DeleteLifecyclePolicyResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'LifecyclePolicyNotFoundException']]], 'DeleteRepository' => ['name' => 'DeleteRepository', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'DeleteRepositoryRequest'], 'output' => ['shape' => 'DeleteRepositoryResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'RepositoryNotEmptyException']]], 'DeleteRepositoryPolicy' => ['name' => 'DeleteRepositoryPolicy', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'DeleteRepositoryPolicyRequest'], 'output' => ['shape' => 'DeleteRepositoryPolicyResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'RepositoryPolicyNotFoundException']]], 'DescribeImages' => ['name' => 'DescribeImages', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'DescribeImagesRequest'], 'output' => ['shape' => 'DescribeImagesResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'ImageNotFoundException']]], 'DescribeRepositories' => ['name' => 'DescribeRepositories', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'DescribeRepositoriesRequest'], 'output' => ['shape' => 'DescribeRepositoriesResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'GetAuthorizationToken' => ['name' => 'GetAuthorizationToken', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'GetAuthorizationTokenRequest'], 'output' => ['shape' => 'GetAuthorizationTokenResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException']]], 'GetDownloadUrlForLayer' => ['name' => 'GetDownloadUrlForLayer', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'GetDownloadUrlForLayerRequest'], 'output' => ['shape' => 'GetDownloadUrlForLayerResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'LayersNotFoundException'], ['shape' => 'LayerInaccessibleException'], ['shape' => 'RepositoryNotFoundException']]], 'GetLifecyclePolicy' => ['name' => 'GetLifecyclePolicy', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'GetLifecyclePolicyRequest'], 'output' => ['shape' => 'GetLifecyclePolicyResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'LifecyclePolicyNotFoundException']]], 'GetLifecyclePolicyPreview' => ['name' => 'GetLifecyclePolicyPreview', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'GetLifecyclePolicyPreviewRequest'], 'output' => ['shape' => 'GetLifecyclePolicyPreviewResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'LifecyclePolicyPreviewNotFoundException']]], 'GetRepositoryPolicy' => ['name' => 'GetRepositoryPolicy', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'GetRepositoryPolicyRequest'], 'output' => ['shape' => 'GetRepositoryPolicyResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'RepositoryPolicyNotFoundException']]], 'InitiateLayerUpload' => ['name' => 'InitiateLayerUpload', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'InitiateLayerUploadRequest'], 'output' => ['shape' => 'InitiateLayerUploadResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'ListImages' => ['name' => 'ListImages', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'ListImagesRequest'], 'output' => ['shape' => 'ListImagesResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'ListTagsForResource' => ['name' => 'ListTagsForResource', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'ListTagsForResourceRequest'], 'output' => ['shape' => 'ListTagsForResourceResponse'], 'errors' => [['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'ServerException']]], 'PutImage' => ['name' => 'PutImage', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'PutImageRequest'], 'output' => ['shape' => 'PutImageResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'ImageAlreadyExistsException'], ['shape' => 'LayersNotFoundException'], ['shape' => 'LimitExceededException']]], 'PutLifecyclePolicy' => ['name' => 'PutLifecyclePolicy', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'PutLifecyclePolicyRequest'], 'output' => ['shape' => 'PutLifecyclePolicyResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'SetRepositoryPolicy' => ['name' => 'SetRepositoryPolicy', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'SetRepositoryPolicyRequest'], 'output' => ['shape' => 'SetRepositoryPolicyResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException']]], 'StartLifecyclePolicyPreview' => ['name' => 'StartLifecyclePolicyPreview', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'StartLifecyclePolicyPreviewRequest'], 'output' => ['shape' => 'StartLifecyclePolicyPreviewResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'LifecyclePolicyNotFoundException'], ['shape' => 'LifecyclePolicyPreviewInProgressException']]], 'TagResource' => ['name' => 'TagResource', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'TagResourceRequest'], 'output' => ['shape' => 'TagResourceResponse'], 'errors' => [['shape' => 'InvalidParameterException'], ['shape' => 'InvalidTagParameterException'], ['shape' => 'TooManyTagsException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'ServerException']]], 'UntagResource' => ['name' => 'UntagResource', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'UntagResourceRequest'], 'output' => ['shape' => 'UntagResourceResponse'], 'errors' => [['shape' => 'InvalidParameterException'], ['shape' => 'InvalidTagParameterException'], ['shape' => 'TooManyTagsException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'ServerException']]], 'UploadLayerPart' => ['name' => 'UploadLayerPart', 'http' => ['method' => 'POST', 'requestUri' => '/'], 'input' => ['shape' => 'UploadLayerPartRequest'], 'output' => ['shape' => 'UploadLayerPartResponse'], 'errors' => [['shape' => 'ServerException'], ['shape' => 'InvalidParameterException'], ['shape' => 'InvalidLayerPartException'], ['shape' => 'RepositoryNotFoundException'], ['shape' => 'UploadNotFoundException'], ['shape' => 'LimitExceededException']]]], 'shapes' => ['Arn' => ['type' => 'string'], 'AuthorizationData' => ['type' => 'structure', 'members' => ['authorizationToken' => ['shape' => 'Base64'], 'expiresAt' => ['shape' => 'ExpirationTimestamp'], 'proxyEndpoint' => ['shape' => 'ProxyEndpoint']]], 'AuthorizationDataList' => ['type' => 'list', 'member' => ['shape' => 'AuthorizationData']], 'Base64' => ['type' => 'string', 'pattern' => '^\\S+$'], 'BatchCheckLayerAvailabilityRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'layerDigests'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'layerDigests' => ['shape' => 'BatchedOperationLayerDigestList']]], 'BatchCheckLayerAvailabilityResponse' => ['type' => 'structure', 'members' => ['layers' => ['shape' => 'LayerList'], 'failures' => ['shape' => 'LayerFailureList']]], 'BatchDeleteImageRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'imageIds'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageIds' => ['shape' => 'ImageIdentifierList']]], 'BatchDeleteImageResponse' => ['type' => 'structure', 'members' => ['imageIds' => ['shape' => 'ImageIdentifierList'], 'failures' => ['shape' => 'ImageFailureList']]], 'BatchGetImageRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'imageIds'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageIds' => ['shape' => 'ImageIdentifierList'], 'acceptedMediaTypes' => ['shape' => 'MediaTypeList']]], 'BatchGetImageResponse' => ['type' => 'structure', 'members' => ['images' => ['shape' => 'ImageList'], 'failures' => ['shape' => 'ImageFailureList']]], 'BatchedOperationLayerDigest' => ['type' => 'string', 'max' => 1000, 'min' => 0], 'BatchedOperationLayerDigestList' => ['type' => 'list', 'member' => ['shape' => 'BatchedOperationLayerDigest'], 'max' => 100, 'min' => 1], 'CompleteLayerUploadRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'uploadId', 'layerDigests'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'uploadId' => ['shape' => 'UploadId'], 'layerDigests' => ['shape' => 'LayerDigestList']]], 'CompleteLayerUploadResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'uploadId' => ['shape' => 'UploadId'], 'layerDigest' => ['shape' => 'LayerDigest']]], 'CreateRepositoryRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['repositoryName' => ['shape' => 'RepositoryName'], 'tags' => ['shape' => 'TagList']]], 'CreateRepositoryResponse' => ['type' => 'structure', 'members' => ['repository' => ['shape' => 'Repository']]], 'CreationTimestamp' => ['type' => 'timestamp'], 'DeleteLifecyclePolicyRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName']]], 'DeleteLifecyclePolicyResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText'], 'lastEvaluatedAt' => ['shape' => 'EvaluationTimestamp']]], 'DeleteRepositoryPolicyRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName']]], 'DeleteRepositoryPolicyResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'policyText' => ['shape' => 'RepositoryPolicyText']]], 'DeleteRepositoryRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'force' => ['shape' => 'ForceFlag']]], 'DeleteRepositoryResponse' => ['type' => 'structure', 'members' => ['repository' => ['shape' => 'Repository']]], 'DescribeImagesFilter' => ['type' => 'structure', 'members' => ['tagStatus' => ['shape' => 'TagStatus']]], 'DescribeImagesRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageIds' => ['shape' => 'ImageIdentifierList'], 'nextToken' => ['shape' => 'NextToken'], 'maxResults' => ['shape' => 'MaxResults'], 'filter' => ['shape' => 'DescribeImagesFilter']]], 'DescribeImagesResponse' => ['type' => 'structure', 'members' => ['imageDetails' => ['shape' => 'ImageDetailList'], 'nextToken' => ['shape' => 'NextToken']]], 'DescribeRepositoriesRequest' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryNames' => ['shape' => 'RepositoryNameList'], 'nextToken' => ['shape' => 'NextToken'], 'maxResults' => ['shape' => 'MaxResults']]], 'DescribeRepositoriesResponse' => ['type' => 'structure', 'members' => ['repositories' => ['shape' => 'RepositoryList'], 'nextToken' => ['shape' => 'NextToken']]], 'EmptyUploadException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'EvaluationTimestamp' => ['type' => 'timestamp'], 'ExceptionMessage' => ['type' => 'string'], 'ExpirationTimestamp' => ['type' => 'timestamp'], 'ForceFlag' => ['type' => 'boolean'], 'GetAuthorizationTokenRegistryIdList' => ['type' => 'list', 'member' => ['shape' => 'RegistryId'], 'max' => 10, 'min' => 1], 'GetAuthorizationTokenRequest' => ['type' => 'structure', 'members' => ['registryIds' => ['shape' => 'GetAuthorizationTokenRegistryIdList']]], 'GetAuthorizationTokenResponse' => ['type' => 'structure', 'members' => ['authorizationData' => ['shape' => 'AuthorizationDataList']]], 'GetDownloadUrlForLayerRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'layerDigest'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'layerDigest' => ['shape' => 'LayerDigest']]], 'GetDownloadUrlForLayerResponse' => ['type' => 'structure', 'members' => ['downloadUrl' => ['shape' => 'Url'], 'layerDigest' => ['shape' => 'LayerDigest']]], 'GetLifecyclePolicyPreviewRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageIds' => ['shape' => 'ImageIdentifierList'], 'nextToken' => ['shape' => 'NextToken'], 'maxResults' => ['shape' => 'LifecyclePreviewMaxResults'], 'filter' => ['shape' => 'LifecyclePolicyPreviewFilter']]], 'GetLifecyclePolicyPreviewResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText'], 'status' => ['shape' => 'LifecyclePolicyPreviewStatus'], 'nextToken' => ['shape' => 'NextToken'], 'previewResults' => ['shape' => 'LifecyclePolicyPreviewResultList'], 'summary' => ['shape' => 'LifecyclePolicyPreviewSummary']]], 'GetLifecyclePolicyRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName']]], 'GetLifecyclePolicyResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText'], 'lastEvaluatedAt' => ['shape' => 'EvaluationTimestamp']]], 'GetRepositoryPolicyRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName']]], 'GetRepositoryPolicyResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'policyText' => ['shape' => 'RepositoryPolicyText']]], 'Image' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageId' => ['shape' => 'ImageIdentifier'], 'imageManifest' => ['shape' => 'ImageManifest']]], 'ImageActionType' => ['type' => 'string', 'enum' => ['EXPIRE']], 'ImageAlreadyExistsException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'ImageCount' => ['type' => 'integer', 'min' => 0], 'ImageDetail' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageDigest' => ['shape' => 'ImageDigest'], 'imageTags' => ['shape' => 'ImageTagList'], 'imageSizeInBytes' => ['shape' => 'ImageSizeInBytes'], 'imagePushedAt' => ['shape' => 'PushTimestamp']]], 'ImageDetailList' => ['type' => 'list', 'member' => ['shape' => 'ImageDetail']], 'ImageDigest' => ['type' => 'string'], 'ImageFailure' => ['type' => 'structure', 'members' => ['imageId' => ['shape' => 'ImageIdentifier'], 'failureCode' => ['shape' => 'ImageFailureCode'], 'failureReason' => ['shape' => 'ImageFailureReason']]], 'ImageFailureCode' => ['type' => 'string', 'enum' => ['InvalidImageDigest', 'InvalidImageTag', 'ImageTagDoesNotMatchDigest', 'ImageNotFound', 'MissingDigestAndTag']], 'ImageFailureList' => ['type' => 'list', 'member' => ['shape' => 'ImageFailure']], 'ImageFailureReason' => ['type' => 'string'], 'ImageIdentifier' => ['type' => 'structure', 'members' => ['imageDigest' => ['shape' => 'ImageDigest'], 'imageTag' => ['shape' => 'ImageTag']]], 'ImageIdentifierList' => ['type' => 'list', 'member' => ['shape' => 'ImageIdentifier'], 'max' => 100, 'min' => 1], 'ImageList' => ['type' => 'list', 'member' => ['shape' => 'Image']], 'ImageManifest' => ['type' => 'string'], 'ImageNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'ImageSizeInBytes' => ['type' => 'long'], 'ImageTag' => ['type' => 'string'], 'ImageTagList' => ['type' => 'list', 'member' => ['shape' => 'ImageTag']], 'InitiateLayerUploadRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName']]], 'InitiateLayerUploadResponse' => ['type' => 'structure', 'members' => ['uploadId' => ['shape' => 'UploadId'], 'partSize' => ['shape' => 'PartSize']]], 'InvalidLayerException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'InvalidLayerPartException' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'uploadId' => ['shape' => 'UploadId'], 'lastValidByteReceived' => ['shape' => 'PartSize'], 'message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'InvalidParameterException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'InvalidTagParameterException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'Layer' => ['type' => 'structure', 'members' => ['layerDigest' => ['shape' => 'LayerDigest'], 'layerAvailability' => ['shape' => 'LayerAvailability'], 'layerSize' => ['shape' => 'LayerSizeInBytes'], 'mediaType' => ['shape' => 'MediaType']]], 'LayerAlreadyExistsException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LayerAvailability' => ['type' => 'string', 'enum' => ['AVAILABLE', 'UNAVAILABLE']], 'LayerDigest' => ['type' => 'string', 'pattern' => '[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+'], 'LayerDigestList' => ['type' => 'list', 'member' => ['shape' => 'LayerDigest'], 'max' => 100, 'min' => 1], 'LayerFailure' => ['type' => 'structure', 'members' => ['layerDigest' => ['shape' => 'BatchedOperationLayerDigest'], 'failureCode' => ['shape' => 'LayerFailureCode'], 'failureReason' => ['shape' => 'LayerFailureReason']]], 'LayerFailureCode' => ['type' => 'string', 'enum' => ['InvalidLayerDigest', 'MissingLayerDigest']], 'LayerFailureList' => ['type' => 'list', 'member' => ['shape' => 'LayerFailure']], 'LayerFailureReason' => ['type' => 'string'], 'LayerInaccessibleException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LayerList' => ['type' => 'list', 'member' => ['shape' => 'Layer']], 'LayerPartBlob' => ['type' => 'blob'], 'LayerPartTooSmallException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LayerSizeInBytes' => ['type' => 'long'], 'LayersNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LifecyclePolicyNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LifecyclePolicyPreviewFilter' => ['type' => 'structure', 'members' => ['tagStatus' => ['shape' => 'TagStatus']]], 'LifecyclePolicyPreviewInProgressException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LifecyclePolicyPreviewNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'LifecyclePolicyPreviewResult' => ['type' => 'structure', 'members' => ['imageTags' => ['shape' => 'ImageTagList'], 'imageDigest' => ['shape' => 'ImageDigest'], 'imagePushedAt' => ['shape' => 'PushTimestamp'], 'action' => ['shape' => 'LifecyclePolicyRuleAction'], 'appliedRulePriority' => ['shape' => 'LifecyclePolicyRulePriority']]], 'LifecyclePolicyPreviewResultList' => ['type' => 'list', 'member' => ['shape' => 'LifecyclePolicyPreviewResult']], 'LifecyclePolicyPreviewStatus' => ['type' => 'string', 'enum' => ['IN_PROGRESS', 'COMPLETE', 'EXPIRED', 'FAILED']], 'LifecyclePolicyPreviewSummary' => ['type' => 'structure', 'members' => ['expiringImageTotalCount' => ['shape' => 'ImageCount']]], 'LifecyclePolicyRuleAction' => ['type' => 'structure', 'members' => ['type' => ['shape' => 'ImageActionType']]], 'LifecyclePolicyRulePriority' => ['type' => 'integer', 'min' => 1], 'LifecyclePolicyText' => ['type' => 'string', 'max' => 30720, 'min' => 100], 'LifecyclePreviewMaxResults' => ['type' => 'integer', 'max' => 100, 'min' => 1], 'LimitExceededException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'ListImagesFilter' => ['type' => 'structure', 'members' => ['tagStatus' => ['shape' => 'TagStatus']]], 'ListImagesRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'nextToken' => ['shape' => 'NextToken'], 'maxResults' => ['shape' => 'MaxResults'], 'filter' => ['shape' => 'ListImagesFilter']]], 'ListImagesResponse' => ['type' => 'structure', 'members' => ['imageIds' => ['shape' => 'ImageIdentifierList'], 'nextToken' => ['shape' => 'NextToken']]], 'ListTagsForResourceRequest' => ['type' => 'structure', 'required' => ['resourceArn'], 'members' => ['resourceArn' => ['shape' => 'Arn']]], 'ListTagsForResourceResponse' => ['type' => 'structure', 'members' => ['tags' => ['shape' => 'TagList']]], 'MaxResults' => ['type' => 'integer', 'max' => 1000, 'min' => 1], 'MediaType' => ['type' => 'string'], 'MediaTypeList' => ['type' => 'list', 'member' => ['shape' => 'MediaType'], 'max' => 100, 'min' => 1], 'NextToken' => ['type' => 'string'], 'PartSize' => ['type' => 'long', 'min' => 0], 'ProxyEndpoint' => ['type' => 'string'], 'PushTimestamp' => ['type' => 'timestamp'], 'PutImageRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'imageManifest'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'imageManifest' => ['shape' => 'ImageManifest'], 'imageTag' => ['shape' => 'ImageTag']]], 'PutImageResponse' => ['type' => 'structure', 'members' => ['image' => ['shape' => 'Image']]], 'PutLifecyclePolicyRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'lifecyclePolicyText'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText']]], 'PutLifecyclePolicyResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText']]], 'RegistryId' => ['type' => 'string', 'pattern' => '[0-9]{12}'], 'Repository' => ['type' => 'structure', 'members' => ['repositoryArn' => ['shape' => 'Arn'], 'registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'repositoryUri' => ['shape' => 'Url'], 'createdAt' => ['shape' => 'CreationTimestamp']]], 'RepositoryAlreadyExistsException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'RepositoryList' => ['type' => 'list', 'member' => ['shape' => 'Repository']], 'RepositoryName' => ['type' => 'string', 'max' => 256, 'min' => 2, 'pattern' => '(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*'], 'RepositoryNameList' => ['type' => 'list', 'member' => ['shape' => 'RepositoryName'], 'max' => 100, 'min' => 1], 'RepositoryNotEmptyException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'RepositoryNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'RepositoryPolicyNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'RepositoryPolicyText' => ['type' => 'string', 'max' => 10240, 'min' => 0], 'ServerException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true, 'fault' => \true], 'SetRepositoryPolicyRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'policyText'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'policyText' => ['shape' => 'RepositoryPolicyText'], 'force' => ['shape' => 'ForceFlag']]], 'SetRepositoryPolicyResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'policyText' => ['shape' => 'RepositoryPolicyText']]], 'StartLifecyclePolicyPreviewRequest' => ['type' => 'structure', 'required' => ['repositoryName'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText']]], 'StartLifecyclePolicyPreviewResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'lifecyclePolicyText' => ['shape' => 'LifecyclePolicyText'], 'status' => ['shape' => 'LifecyclePolicyPreviewStatus']]], 'Tag' => ['type' => 'structure', 'members' => ['Key' => ['shape' => 'TagKey'], 'Value' => ['shape' => 'TagValue']]], 'TagKey' => ['type' => 'string'], 'TagKeyList' => ['type' => 'list', 'member' => ['shape' => 'TagKey']], 'TagList' => ['type' => 'list', 'member' => ['shape' => 'Tag']], 'TagResourceRequest' => ['type' => 'structure', 'required' => ['resourceArn', 'tags'], 'members' => ['resourceArn' => ['shape' => 'Arn'], 'tags' => ['shape' => 'TagList']]], 'TagResourceResponse' => ['type' => 'structure', 'members' => []], 'TagStatus' => ['type' => 'string', 'enum' => ['TAGGED', 'UNTAGGED', 'ANY']], 'TagValue' => ['type' => 'string'], 'TooManyTagsException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'UntagResourceRequest' => ['type' => 'structure', 'required' => ['resourceArn', 'tagKeys'], 'members' => ['resourceArn' => ['shape' => 'Arn'], 'tagKeys' => ['shape' => 'TagKeyList']]], 'UntagResourceResponse' => ['type' => 'structure', 'members' => []], 'UploadId' => ['type' => 'string', 'pattern' => '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'], 'UploadLayerPartRequest' => ['type' => 'structure', 'required' => ['repositoryName', 'uploadId', 'partFirstByte', 'partLastByte', 'layerPartBlob'], 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'uploadId' => ['shape' => 'UploadId'], 'partFirstByte' => ['shape' => 'PartSize'], 'partLastByte' => ['shape' => 'PartSize'], 'layerPartBlob' => ['shape' => 'LayerPartBlob']]], 'UploadLayerPartResponse' => ['type' => 'structure', 'members' => ['registryId' => ['shape' => 'RegistryId'], 'repositoryName' => ['shape' => 'RepositoryName'], 'uploadId' => ['shape' => 'UploadId'], 'lastByteReceived' => ['shape' => 'PartSize']]], 'UploadNotFoundException' => ['type' => 'structure', 'members' => ['message' => ['shape' => 'ExceptionMessage']], 'exception' => \true], 'Url' => ['type' => 'string']]];