SDK for PHP 3.x

Client: Aws\ECRPublic\ECRPublicClient
Service ID: ecr-public
Version: 2020-10-30

This page describes the parameters and results for the operations of the Amazon Elastic Container Registry Public (2020-10-30), and shows how to use the Aws\ECRPublic\ECRPublicClient object to call the described operations. This documentation is specific to the 2020-10-30 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

BatchCheckLayerAvailability ( array $params = [] )
Checks the availability of one or more image layers that are within a repository in a public registry.
BatchDeleteImage ( array $params = [] )
Deletes a list of specified images that are within a repository in a public registry.
CompleteLayerUpload ( array $params = [] )
Informs Amazon ECR that the image layer upload is complete for a specified public registry, repository name, and upload ID.
CreateRepository ( array $params = [] )
Creates a repository in a public registry.
DeleteRepository ( array $params = [] )
Deletes a repository in a public registry.
DeleteRepositoryPolicy ( array $params = [] )
Deletes the repository policy that's associated with the specified repository.
DescribeImageTags ( array $params = [] )
Returns the image tag details for a repository in a public registry.
DescribeImages ( array $params = [] )
Returns metadata that's related to the images in a repository in a public registry.
DescribeRegistries ( array $params = [] )
Returns details for a public registry.
DescribeRepositories ( array $params = [] )
Describes repositories that are in a public registry.
GetAuthorizationToken ( array $params = [] )
Retrieves an authorization token.
GetRegistryCatalogData ( array $params = [] )
Retrieves catalog metadata for a public registry.
GetRepositoryCatalogData ( array $params = [] )
Retrieve catalog metadata for a repository in a public registry.
GetRepositoryPolicy ( array $params = [] )
Retrieves the repository policy for the specified repository.
InitiateLayerUpload ( array $params = [] )
Notifies Amazon ECR that you intend to upload an image layer.
ListTagsForResource ( array $params = [] )
List the tags for an Amazon ECR Public resource.
PutImage ( array $params = [] )
Creates or updates the image manifest and tags that are associated with an image.
PutRegistryCatalogData ( array $params = [] )
Create or update the catalog data for a public registry.
PutRepositoryCatalogData ( array $params = [] )
Creates or updates the catalog data for a repository in a public registry.
SetRepositoryPolicy ( array $params = [] )
Applies a repository policy to the specified public repository to control access permissions.
TagResource ( array $params = [] )
Associates the specified tags to a resource with the specified resourceArn.
UntagResource ( array $params = [] )
Deletes specified tags from a resource.
UploadLayerPart ( array $params = [] )
Uploads an image layer part to Amazon ECR.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeImageTags
DescribeImages
DescribeRegistries
DescribeRepositories

Operations

BatchCheckLayerAvailability

$result = $client->batchCheckLayerAvailability([/* ... */]);
$promise = $client->batchCheckLayerAvailabilityAsync([/* ... */]);

Checks the availability of one or more image layers that are within a repository in a public registry. 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.

Parameter Syntax

$result = $client->batchCheckLayerAvailability([
    'layerDigests' => ['<string>', ...], // REQUIRED
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
layerDigests
Required: Yes
Type: Array of strings

The digests of the image layers to check.

registryId
Type: string

The Amazon Web Services account ID, or registry alias, associated with the public registry that contains the image layers to check. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository that's associated with the image layers to check.

Result Syntax

[
    'failures' => [
        [
            'failureCode' => 'InvalidLayerDigest|MissingLayerDigest',
            'failureReason' => '<string>',
            'layerDigest' => '<string>',
        ],
        // ...
    ],
    'layers' => [
        [
            'layerAvailability' => 'AVAILABLE|UNAVAILABLE',
            'layerDigest' => '<string>',
            'layerSize' => <integer>,
            'mediaType' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failures
Type: Array of LayerFailure structures

Any failures associated with the call.

layers
Type: Array of Layer structures

A list of image layer objects that correspond to the image layer references in the request.

Errors

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

ServerException:

These errors are usually caused by a server-side issue.

RegistryNotFoundException:

The registry doesn't exist.

UnsupportedCommandException:

The action isn't supported in this Region.

BatchDeleteImage

$result = $client->batchDeleteImage([/* ... */]);
$promise = $client->batchDeleteImageAsync([/* ... */]);

Deletes a list of specified images that are within a repository in a public registry. 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 digest of the image in your request.

Parameter Syntax

$result = $client->batchDeleteImage([
    'imageIds' => [ // REQUIRED
        [
            'imageDigest' => '<string>',
            'imageTag' => '<string>',
        ],
        // ...
    ],
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
imageIds
Required: Yes
Type: Array of ImageIdentifier structures

A list of image ID references that correspond to images to delete. The format of the imageIds reference is imageTag=tag or imageDigest=digest.

registryId
Type: string

The Amazon Web Services account ID, or registry alias, that's associated with the registry that contains the image to delete. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The repository in a public registry that contains the image to delete.

Result Syntax

[
    'failures' => [
        [
            'failureCode' => 'InvalidImageDigest|InvalidImageTag|ImageTagDoesNotMatchDigest|ImageNotFound|MissingDigestAndTag|ImageReferencedByManifestList|KmsError',
            'failureReason' => '<string>',
            'imageId' => [
                'imageDigest' => '<string>',
                'imageTag' => '<string>',
            ],
        ],
        // ...
    ],
    'imageIds' => [
        [
            'imageDigest' => '<string>',
            'imageTag' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failures
Type: Array of ImageFailure structures

Any failures associated with the call.

imageIds
Type: Array of ImageIdentifier structures

The image IDs of the deleted images.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

CompleteLayerUpload

$result = $client->completeLayerUpload([/* ... */]);
$promise = $client->completeLayerUploadAsync([/* ... */]);

Informs Amazon ECR that the image layer upload is complete for a specified public 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 for each new image layer to verify that the upload is complete.

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.

Parameter Syntax

$result = $client->completeLayerUpload([
    'layerDigests' => ['<string>', ...], // REQUIRED
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
    'uploadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
layerDigests
Required: Yes
Type: Array of strings

The sha256 digest of the image layer.

registryId
Type: string

The Amazon Web Services account ID, or registry alias, associated with the registry where layers are uploaded. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository in a public registry to associate with the image layer.

uploadId
Required: Yes
Type: string

The upload ID from a previous InitiateLayerUpload operation to associate with the image layer.

Result Syntax

[
    'layerDigest' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>',
    'uploadId' => '<string>',
]

Result Details

Members
layerDigest
Type: string

The sha256 digest of the image layer.

registryId
Type: string

The public registry ID that's associated with the request.

repositoryName
Type: string

The repository name that's associated with the request.

uploadId
Type: string

The upload ID that's associated with the layer.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UploadNotFoundException:

The upload can't be found, or the specified upload ID isn't valid for this repository.

InvalidLayerException:

The layer digest calculation performed by Amazon ECR when the image layer doesn't match the digest specified.

LayerPartTooSmallException:

Layer parts must be at least 5 MiB in size.

LayerAlreadyExistsException:

The image layer already exists in the associated repository.

EmptyUploadException:

The specified layer upload doesn't contain any layer parts.

RegistryNotFoundException:

The registry doesn't exist.

UnsupportedCommandException:

The action isn't supported in this Region.

CreateRepository

$result = $client->createRepository([/* ... */]);
$promise = $client->createRepositoryAsync([/* ... */]);

Creates a repository in a public registry. For more information, see Amazon ECR repositories in the Amazon Elastic Container Registry User Guide.

Parameter Syntax

$result = $client->createRepository([
    'catalogData' => [
        'aboutText' => '<string>',
        'architectures' => ['<string>', ...],
        'description' => '<string>',
        'logoImageBlob' => <string || resource || Psr\Http\Message\StreamInterface>,
        'operatingSystems' => ['<string>', ...],
        'usageText' => '<string>',
    ],
    'repositoryName' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
catalogData
Type: RepositoryCatalogDataInput structure

The details about the repository that are publicly visible in the Amazon ECR Public Gallery.

repositoryName
Required: Yes
Type: string

The name to use for the repository. This appears publicly in the Amazon ECR Public Gallery. The repository name can be specified on its own (for example nginx-web-app) or prepended with a namespace to group the repository into a category (for example project-a/nginx-web-app).

tags
Type: Array of Tag structures

The metadata that you apply to each repository to help categorize and organize your repositories. Each tag consists of a key and an optional value. You define both of them. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Result Syntax

[
    'catalogData' => [
        'aboutText' => '<string>',
        'architectures' => ['<string>', ...],
        'description' => '<string>',
        'logoUrl' => '<string>',
        'marketplaceCertified' => true || false,
        'operatingSystems' => ['<string>', ...],
        'usageText' => '<string>',
    ],
    'repository' => [
        'createdAt' => <DateTime>,
        'registryId' => '<string>',
        'repositoryArn' => '<string>',
        'repositoryName' => '<string>',
        'repositoryUri' => '<string>',
    ],
]

Result Details

Members
catalogData
Type: RepositoryCatalogData structure

The catalog data for a repository. This data is publicly visible in the Amazon ECR Public Gallery.

repository
Type: Repository structure

The repository that was created.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

InvalidTagParameterException:

An invalid parameter has been specified. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

TooManyTagsException:

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

RepositoryAlreadyExistsException:

The specified repository already exists in the specified registry.

LimitExceededException:

The operation didn't succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Service Quotas in the Amazon Elastic Container Registry User Guide.

UnsupportedCommandException:

The action isn't supported in this Region.

DeleteRepository

$result = $client->deleteRepository([/* ... */]);
$promise = $client->deleteRepositoryAsync([/* ... */]);

Deletes a repository in a public registry. If the repository contains images, you must either manually delete all images in the repository or use the force option. This option deletes all images on your behalf before deleting the repository.

Parameter Syntax

$result = $client->deleteRepository([
    'force' => true || false,
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
force
Type: boolean

The force option can be used to delete a repository that contains images. If the force option is not used, the repository must be empty prior to deletion.

registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry that contains the repository to delete. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository to delete.

Result Syntax

[
    'repository' => [
        'createdAt' => <DateTime>,
        'registryId' => '<string>',
        'repositoryArn' => '<string>',
        'repositoryName' => '<string>',
        'repositoryUri' => '<string>',
    ],
]

Result Details

Members
repository
Type: Repository structure

The repository that was deleted.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

RepositoryNotEmptyException:

The specified repository contains images. To delete a repository that contains images, you must force the deletion with the force parameter.

UnsupportedCommandException:

The action isn't supported in this Region.

DeleteRepositoryPolicy

$result = $client->deleteRepositoryPolicy([/* ... */]);
$promise = $client->deleteRepositoryPolicyAsync([/* ... */]);

Deletes the repository policy that's associated with the specified repository.

Parameter Syntax

$result = $client->deleteRepositoryPolicy([
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry that contains the repository policy to delete. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository that's associated with the repository policy to delete.

Result Syntax

[
    'policyText' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>',
]

Result Details

Members
policyText
Type: string

The JSON repository policy that was deleted from the repository.

registryId
Type: string

The registry ID that's associated with the request.

repositoryName
Type: string

The repository name that's associated with the request.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

RepositoryPolicyNotFoundException:

The specified repository and registry combination doesn't have an associated repository policy.

UnsupportedCommandException:

The action isn't supported in this Region.

DescribeImageTags

$result = $client->describeImageTags([/* ... */]);
$promise = $client->describeImageTagsAsync([/* ... */]);

Returns the image tag details for a repository in a public registry.

Parameter Syntax

$result = $client->describeImageTags([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of repository results that's returned by DescribeImageTags in paginated output. When this parameter is used, DescribeImageTags only returns maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another DescribeImageTags request with the returned nextToken value. This value can be between 1 and 1000. If this parameter isn't used, then DescribeImageTags returns up to 100 results and a nextToken value, if applicable. If you specify images with imageIds, you can't use this option.

nextToken
Type: string

The nextToken value that's returned from a previous paginated DescribeImageTags 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. If there are no more results to return, this value is null. If you specify images with imageIds, you can't use this option.

registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry that contains the repository where images are described. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository that contains the image tag details to describe.

Result Syntax

[
    'imageTagDetails' => [
        [
            'createdAt' => <DateTime>,
            'imageDetail' => [
                'artifactMediaType' => '<string>',
                'imageDigest' => '<string>',
                'imageManifestMediaType' => '<string>',
                'imagePushedAt' => <DateTime>,
                'imageSizeInBytes' => <integer>,
            ],
            'imageTag' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
imageTagDetails
Type: Array of ImageTagDetail structures

The image tag details for the images in the requested repository.

nextToken
Type: string

The nextToken value to include in a future DescribeImageTags request. When the results of a DescribeImageTags request exceed maxResults, you can use this value to retrieve the next page of results. If there are no more results to return, this value is null.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

DescribeImages

$result = $client->describeImages([/* ... */]);
$promise = $client->describeImagesAsync([/* ... */]);

Returns metadata that's related to the images in a repository in a public registry.

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. Therefore, it might return a larger image size than the image sizes that are returned by DescribeImages.

Parameter Syntax

$result = $client->describeImages([
    'imageIds' => [
        [
            'imageDigest' => '<string>',
            'imageTag' => '<string>',
        ],
        // ...
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
imageIds
Type: Array of ImageIdentifier structures

The list of image IDs for the requested repository.

maxResults
Type: int

The maximum number of repository results that's 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. You can see the remaining results of the initial request by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter isn't used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. If you specify images with imageIds, you can't use this option.

nextToken
Type: string

The nextToken value that's 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. If there are no more results to return, this value is null. If you specify images with imageIds, you can't use this option.

registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry that contains the repository where images are described. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The repository that contains the images to describe.

Result Syntax

[
    'imageDetails' => [
        [
            'artifactMediaType' => '<string>',
            'imageDigest' => '<string>',
            'imageManifestMediaType' => '<string>',
            'imagePushedAt' => <DateTime>,
            'imageSizeInBytes' => <integer>,
            'imageTags' => ['<string>', ...],
            'registryId' => '<string>',
            'repositoryName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
imageDetails
Type: Array of ImageDetail structures

A list of ImageDetail objects that contain data about the image.

nextToken
Type: string

The nextToken value to include in a future DescribeImages request. When the results of a DescribeImages request exceed maxResults, you can use this value to retrieve the next page of results. If there are no more results to return, this value is null.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

ImageNotFoundException:

The image requested doesn't exist in the specified repository.

UnsupportedCommandException:

The action isn't supported in this Region.

DescribeRegistries

$result = $client->describeRegistries([/* ... */]);
$promise = $client->describeRegistriesAsync([/* ... */]);

Returns details for a public registry.

Parameter Syntax

$result = $client->describeRegistries([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of repository results that's returned by DescribeRegistries in paginated output. When this parameter is used, DescribeRegistries 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 DescribeRegistries request with the returned nextToken value. This value can be between 1 and 1000. If this parameter isn't used, then DescribeRegistries returns up to 100 results and a nextToken value, if applicable.

nextToken
Type: string

The nextToken value that's returned from a previous paginated DescribeRegistries 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. If there are no more results to return, this value is null.

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.

Result Syntax

[
    'nextToken' => '<string>',
    'registries' => [
        [
            'aliases' => [
                [
                    'defaultRegistryAlias' => true || false,
                    'name' => '<string>',
                    'primaryRegistryAlias' => true || false,
                    'status' => 'ACTIVE|PENDING|REJECTED',
                ],
                // ...
            ],
            'registryArn' => '<string>',
            'registryId' => '<string>',
            'registryUri' => '<string>',
            'verified' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The nextToken value to include in a future DescribeRepositories request. If the results of a DescribeRepositories request exceed maxResults, you can use this value to retrieve the next page of results. If there are no more results, this value is null.

registries
Required: Yes
Type: Array of Registry structures

An object that contains the details for a public registry.

Errors

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

UnsupportedCommandException:

The action isn't supported in this Region.

ServerException:

These errors are usually caused by a server-side issue.

DescribeRepositories

$result = $client->describeRepositories([/* ... */]);
$promise = $client->describeRepositoriesAsync([/* ... */]);

Describes repositories that are in a public registry.

Parameter Syntax

$result = $client->describeRepositories([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'registryId' => '<string>',
    'repositoryNames' => ['<string>', ...],
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of repository results that's 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. You can see the remaining results of the initial request by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 1000. If this parameter isn't used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. If you specify repositories with repositoryNames, you can't use this option.

nextToken
Type: string

The nextToken value that's 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. If there are no more results to return, this value is null. If you specify repositories with repositoryNames, you can't use this option.

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.

registryId
Type: string

The Amazon Web Services account ID that's associated with the registry that contains the repositories to be described. If you do not specify a registry, the default public registry is assumed.

repositoryNames
Type: Array of strings

A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

Result Syntax

[
    'nextToken' => '<string>',
    'repositories' => [
        [
            'createdAt' => <DateTime>,
            'registryId' => '<string>',
            'repositoryArn' => '<string>',
            'repositoryName' => '<string>',
            'repositoryUri' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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. If there are no more results to return, this value is null.

repositories
Type: Array of Repository structures

A list of repository objects corresponding to valid repositories.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

GetAuthorizationToken

$result = $client->getAuthorizationToken([/* ... */]);
$promise = $client->getAuthorizationTokenAsync([/* ... */]);

Retrieves an authorization token. An authorization token represents your IAM authentication credentials. You can use it to access any Amazon ECR registry that your IAM principal has access to. The authorization token is valid for 12 hours. This API requires the ecr-public:GetAuthorizationToken and sts:GetServiceBearerToken permissions.

Parameter Syntax

$result = $client->getAuthorizationToken([
]);

Parameter Details

Members

Result Syntax

[
    'authorizationData' => [
        'authorizationToken' => '<string>',
        'expiresAt' => <DateTime>,
    ],
]

Result Details

Members
authorizationData
Type: AuthorizationData structure

An authorization token data object that corresponds to a public registry.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

UnsupportedCommandException:

The action isn't supported in this Region.

GetRegistryCatalogData

$result = $client->getRegistryCatalogData([/* ... */]);
$promise = $client->getRegistryCatalogDataAsync([/* ... */]);

Retrieves catalog metadata for a public registry.

Parameter Syntax

$result = $client->getRegistryCatalogData([
]);

Parameter Details

Members

Result Syntax

[
    'registryCatalogData' => [
        'displayName' => '<string>',
    ],
]

Result Details

Members
registryCatalogData
Required: Yes
Type: RegistryCatalogData structure

The catalog metadata for the public registry.

Errors

ServerException:

These errors are usually caused by a server-side issue.

UnsupportedCommandException:

The action isn't supported in this Region.

GetRepositoryCatalogData

$result = $client->getRepositoryCatalogData([/* ... */]);
$promise = $client->getRepositoryCatalogDataAsync([/* ... */]);

Retrieve catalog metadata for a repository in a public registry. This metadata is displayed publicly in the Amazon ECR Public Gallery.

Parameter Syntax

$result = $client->getRepositoryCatalogData([
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
registryId
Type: string

The Amazon Web Services account ID that's associated with the registry that contains the repositories to be described. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository to retrieve the catalog metadata for.

Result Syntax

[
    'catalogData' => [
        'aboutText' => '<string>',
        'architectures' => ['<string>', ...],
        'description' => '<string>',
        'logoUrl' => '<string>',
        'marketplaceCertified' => true || false,
        'operatingSystems' => ['<string>', ...],
        'usageText' => '<string>',
    ],
]

Result Details

Members
catalogData
Type: RepositoryCatalogData structure

The catalog metadata for the repository.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryCatalogDataNotFoundException:

The repository catalog data doesn't exist.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

GetRepositoryPolicy

$result = $client->getRepositoryPolicy([/* ... */]);
$promise = $client->getRepositoryPolicyAsync([/* ... */]);

Retrieves the repository policy for the specified repository.

Parameter Syntax

$result = $client->getRepositoryPolicy([
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry that contains the repository. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository with the policy to retrieve.

Result Syntax

[
    'policyText' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>',
]

Result Details

Members
policyText
Type: string

The repository policy text that's associated with the repository. The policy text will be in JSON format.

registryId
Type: string

The registry ID that's associated with the request.

repositoryName
Type: string

The repository name that's associated with the request.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

RepositoryPolicyNotFoundException:

The specified repository and registry combination doesn't have an associated repository policy.

UnsupportedCommandException:

The action isn't supported in this Region.

InitiateLayerUpload

$result = $client->initiateLayerUpload([/* ... */]);
$promise = $client->initiateLayerUploadAsync([/* ... */]);

Notifies Amazon ECR that you intend to upload an image layer.

When an image is pushed, the InitiateLayerUpload API is called once for each image layer that hasn't already been uploaded. Whether an image layer uploads 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.

Parameter Syntax

$result = $client->initiateLayerUpload([
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
registryId
Type: string

The Amazon Web Services account ID, or registry alias, that's associated with the registry to which you intend to upload layers. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository that you want to upload layers to.

Result Syntax

[
    'partSize' => <integer>,
    'uploadId' => '<string>',
]

Result Details

Members
partSize
Type: long (int|float)

The size, in bytes, that Amazon ECR expects future layer part uploads to be.

uploadId
Type: string

The upload ID for the layer upload. This parameter is passed to further UploadLayerPart and CompleteLayerUpload operations.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

RegistryNotFoundException:

The registry doesn't exist.

UnsupportedCommandException:

The action isn't supported in this Region.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

List the tags for an Amazon ECR Public resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the supported resource is an Amazon ECR Public repository.

Result Syntax

[
    'tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
tags
Type: Array of Tag structures

The tags for the resource.

Errors

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

ServerException:

These errors are usually caused by a server-side issue.

PutImage

$result = $client->putImage([/* ... */]);
$promise = $client->putImageAsync([/* ... */]);

Creates or updates the image manifest and tags that are 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 that are 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.

Parameter Syntax

$result = $client->putImage([
    'imageDigest' => '<string>',
    'imageManifest' => '<string>', // REQUIRED
    'imageManifestMediaType' => '<string>',
    'imageTag' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
imageDigest
Type: string

The image digest of the image manifest that corresponds to the image.

imageManifest
Required: Yes
Type: string

The image manifest that corresponds to the image to be uploaded.

imageManifestMediaType
Type: string

The media type of the image manifest. If you push an image manifest that doesn't contain the mediaType field, you must specify the imageManifestMediaType in the request.

imageTag
Type: string

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.

registryId
Type: string

The Amazon Web Services account ID, or registry alias, that's associated with the public registry that contains the repository where the image is put. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository where the image is put.

Result Syntax

[
    'image' => [
        'imageId' => [
            'imageDigest' => '<string>',
            'imageTag' => '<string>',
        ],
        'imageManifest' => '<string>',
        'imageManifestMediaType' => '<string>',
        'registryId' => '<string>',
        'repositoryName' => '<string>',
    ],
]

Result Details

Members
image
Type: Image structure

Details of the image uploaded.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

ImageAlreadyExistsException:

The specified image has already been pushed, and there were no changes to the manifest or image tag after the last push.

LayersNotFoundException:

The specified layers can't be found, or the specified layer isn't valid for this repository.

ReferencedImagesNotFoundException:

The manifest list is referencing an image that doesn't exist.

LimitExceededException:

The operation didn't succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Service Quotas in the Amazon Elastic Container Registry User Guide.

ImageTagAlreadyExistsException:

The specified image is tagged with a tag that already exists. The repository is configured for tag immutability.

ImageDigestDoesNotMatchException:

The specified image digest doesn't match the digest that Amazon ECR calculated for the image.

RegistryNotFoundException:

The registry doesn't exist.

UnsupportedCommandException:

The action isn't supported in this Region.

PutRegistryCatalogData

$result = $client->putRegistryCatalogData([/* ... */]);
$promise = $client->putRegistryCatalogDataAsync([/* ... */]);

Create or update the catalog data for a public registry.

Parameter Syntax

$result = $client->putRegistryCatalogData([
    'displayName' => '<string>',
]);

Parameter Details

Members
displayName
Type: string

The display name for a public registry. The display name is shown as the repository author in the Amazon ECR Public Gallery.

The registry display name is only publicly visible in the Amazon ECR Public Gallery for verified accounts.

Result Syntax

[
    'registryCatalogData' => [
        'displayName' => '<string>',
    ],
]

Result Details

Members
registryCatalogData
Required: Yes
Type: RegistryCatalogData structure

The catalog data for the public registry.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

UnsupportedCommandException:

The action isn't supported in this Region.

PutRepositoryCatalogData

$result = $client->putRepositoryCatalogData([/* ... */]);
$promise = $client->putRepositoryCatalogDataAsync([/* ... */]);

Creates or updates the catalog data for a repository in a public registry.

Parameter Syntax

$result = $client->putRepositoryCatalogData([
    'catalogData' => [ // REQUIRED
        'aboutText' => '<string>',
        'architectures' => ['<string>', ...],
        'description' => '<string>',
        'logoImageBlob' => <string || resource || Psr\Http\Message\StreamInterface>,
        'operatingSystems' => ['<string>', ...],
        'usageText' => '<string>',
    ],
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalogData
Required: Yes
Type: RepositoryCatalogDataInput structure

An object containing the catalog data for a repository. This data is publicly visible in the Amazon ECR Public Gallery.

registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry the repository is in. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository to create or update the catalog data for.

Result Syntax

[
    'catalogData' => [
        'aboutText' => '<string>',
        'architectures' => ['<string>', ...],
        'description' => '<string>',
        'logoUrl' => '<string>',
        'marketplaceCertified' => true || false,
        'operatingSystems' => ['<string>', ...],
        'usageText' => '<string>',
    ],
]

Result Details

Members
catalogData
Type: RepositoryCatalogData structure

The catalog data for the repository.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

SetRepositoryPolicy

$result = $client->setRepositoryPolicy([/* ... */]);
$promise = $client->setRepositoryPolicyAsync([/* ... */]);

Applies a repository policy to the specified public repository to control access permissions. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.

Parameter Syntax

$result = $client->setRepositoryPolicy([
    'force' => true || false,
    'policyText' => '<string>', // REQUIRED
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
force
Type: boolean

If the policy that you want to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This prevents accidental repository lockouts.

policyText
Required: Yes
Type: string

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.

registryId
Type: string

The Amazon Web Services account ID that's associated with the registry that contains the repository. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository to receive the policy.

Result Syntax

[
    'policyText' => '<string>',
    'registryId' => '<string>',
    'repositoryName' => '<string>',
]

Result Details

Members
policyText
Type: string

The JSON repository policy text that's applied to the repository.

registryId
Type: string

The registry ID that's associated with the request.

repositoryName
Type: string

The repository name that's associated with the request.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource aren't specified in the request parameters, they aren't changed. When a resource is deleted, the tags associated with that resource are also deleted.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resource is an Amazon ECR Public repository.

tags
Required: Yes
Type: Array of Tag structures

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.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

InvalidTagParameterException:

An invalid parameter has been specified. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

TooManyTagsException:

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

ServerException:

These errors are usually caused by a server-side issue.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Deletes specified tags from a resource.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the supported resource is an Amazon ECR Public repository.

tagKeys
Required: Yes
Type: Array of strings

The keys of the tags to be removed.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

InvalidTagParameterException:

An invalid parameter has been specified. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

TooManyTagsException:

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UnsupportedCommandException:

The action isn't supported in this Region.

ServerException:

These errors are usually caused by a server-side issue.

UploadLayerPart

$result = $client->uploadLayerPart([/* ... */]);
$promise = $client->uploadLayerPartAsync([/* ... */]);

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 (about 20MB). The UploadLayerPart API is called once for 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.

Parameter Syntax

$result = $client->uploadLayerPart([
    'layerPartBlob' => <string || resource || Psr\Http\Message\StreamInterface>, // REQUIRED
    'partFirstByte' => <integer>, // REQUIRED
    'partLastByte' => <integer>, // REQUIRED
    'registryId' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
    'uploadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
layerPartBlob
Required: Yes
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The base64-encoded layer part payload.

partFirstByte
Required: Yes
Type: long (int|float)

The position of the first byte of the layer part witin the overall image layer.

partLastByte
Required: Yes
Type: long (int|float)

The position of the last byte of the layer part within the overall image layer.

registryId
Type: string

The Amazon Web Services account ID, or registry alias, that's associated with the registry that you're uploading layer parts to. If you do not specify a registry, the default public registry is assumed.

repositoryName
Required: Yes
Type: string

The name of the repository that you're uploading layer parts to.

uploadId
Required: Yes
Type: string

The upload ID from a previous InitiateLayerUpload operation to associate with the layer part upload.

Result Syntax

[
    'lastByteReceived' => <integer>,
    'registryId' => '<string>',
    'repositoryName' => '<string>',
    'uploadId' => '<string>',
]

Result Details

Members
lastByteReceived
Type: long (int|float)

The integer value of the last byte that's received in the request.

registryId
Type: string

The registry ID that's associated with the request.

repositoryName
Type: string

The repository name that's associated with the request.

uploadId
Type: string

The upload ID that's associated with the request.

Errors

ServerException:

These errors are usually caused by a server-side issue.

InvalidParameterException:

The specified parameter is invalid. Review the available parameters for the API request.

InvalidLayerPartException:

The layer part size isn't valid, or the first byte specified isn't consecutive to the last byte of a previous layer part upload.

RepositoryNotFoundException:

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

UploadNotFoundException:

The upload can't be found, or the specified upload ID isn't valid for this repository.

LimitExceededException:

The operation didn't succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Service Quotas in the Amazon Elastic Container Registry User Guide.

RegistryNotFoundException:

The registry doesn't exist.

UnsupportedCommandException:

The action isn't supported in this Region.

Shapes

AuthorizationData

Description

An authorization token data object that corresponds to a public registry.

Members
authorizationToken
Type: string

A base64-encoded string that contains authorization data for a public Amazon ECR registry. When the string is decoded, it's presented in the format user:password for public registry authentication using docker login.

expiresAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The Unix time in seconds and milliseconds when the authorization token expires. Authorization tokens are valid for 12 hours.

EmptyUploadException

Description

The specified layer upload doesn't contain any layer parts.

Members
message
Type: string

Image

Description

An object that represents an Amazon ECR image.

Members
imageId
Type: ImageIdentifier structure

An object that contains the image tag and image digest associated with an image.

imageManifest
Type: string

The image manifest that's associated with the image.

imageManifestMediaType
Type: string

The manifest media type of the image.

registryId
Type: string

The Amazon Web Services account ID that's associated with the registry containing the image.

repositoryName
Type: string

The name of the repository that's associated with the image.

ImageAlreadyExistsException

Description

The specified image has already been pushed, and there were no changes to the manifest or image tag after the last push.

Members
message
Type: string

ImageDetail

Description

An object that describes an image that's returned by a DescribeImages operation.

Members
artifactMediaType
Type: string

The artifact media type of the image.

imageDigest
Type: string

The sha256 digest of the image manifest.

imageManifestMediaType
Type: string

The media type of the image manifest.

imagePushedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time, expressed in standard JavaScript date format, that the current image was pushed to the repository at.

imageSizeInBytes
Type: long (int|float)

The size, in bytes, of the image in the repository.

If the image is a manifest list, this is 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 might return a larger image size than the image sizes that are returned by DescribeImages.

imageTags
Type: Array of strings

The list of tags that's associated with this image.

registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry where this image belongs.

repositoryName
Type: string

The name of the repository where this image belongs.

ImageDigestDoesNotMatchException

Description

The specified image digest doesn't match the digest that Amazon ECR calculated for the image.

Members
message
Type: string

ImageFailure

Description

An object that represents an Amazon ECR image failure.

Members
failureCode
Type: string

The code that's associated with the failure.

failureReason
Type: string

The reason for the failure.

imageId
Type: ImageIdentifier structure

The image ID that's associated with the failure.

ImageIdentifier

Description

An object with identifying information for an Amazon ECR image.

Members
imageDigest
Type: string

The sha256 digest of the image manifest.

imageTag
Type: string

The tag that's used for the image.

ImageNotFoundException

Description

The image requested doesn't exist in the specified repository.

Members
message
Type: string

ImageTagAlreadyExistsException

Description

The specified image is tagged with a tag that already exists. The repository is configured for tag immutability.

Members
message
Type: string

ImageTagDetail

Description

An object that represents the image tag details for an image.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time stamp that indicates when the image tag was created.

imageDetail
Type: ReferencedImageDetail structure

An object that describes the details of an image.

imageTag
Type: string

The tag that's associated with the image.

InvalidLayerException

Description

The layer digest calculation performed by Amazon ECR when the image layer doesn't match the digest specified.

Members
message
Type: string

InvalidLayerPartException

Description

The layer part size isn't valid, or the first byte specified isn't consecutive to the last byte of a previous layer part upload.

Members
lastValidByteReceived
Type: long (int|float)

The position of the last byte of the layer part.

message
Type: string
registryId
Type: string

The Amazon Web Services account ID that's associated with the layer part.

repositoryName
Type: string

The name of the repository.

uploadId
Type: string

The upload ID that's associated with the layer part.

InvalidParameterException

Description

The specified parameter is invalid. Review the available parameters for the API request.

Members
message
Type: string

InvalidTagParameterException

Description

An invalid parameter has been specified. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Members
message
Type: string

Layer

Description

An object that represents an Amazon ECR image layer.

Members
layerAvailability
Type: string

The availability status of the image layer.

layerDigest
Type: string

The sha256 digest of the image layer.

layerSize
Type: long (int|float)

The size, in bytes, of the image layer.

mediaType
Type: string

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.

LayerAlreadyExistsException

Description

The image layer already exists in the associated repository.

Members
message
Type: string

LayerFailure

Description

An object that represents an Amazon ECR image layer failure.

Members
failureCode
Type: string

The failure code that's associated with the failure.

failureReason
Type: string

The reason for the failure.

layerDigest
Type: string

The layer digest that's associated with the failure.

LayerPartTooSmallException

Description

Layer parts must be at least 5 MiB in size.

Members
message
Type: string

LayersNotFoundException

Description

The specified layers can't be found, or the specified layer isn't valid for this repository.

Members
message
Type: string

LimitExceededException

Description

The operation didn't succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Service Quotas in the Amazon Elastic Container Registry User Guide.

Members
message
Type: string

ReferencedImageDetail

Description

An object that describes the image tag details that are returned by a DescribeImageTags action.

Members
artifactMediaType
Type: string

The artifact media type of the image.

imageDigest
Type: string

The sha256 digest of the image manifest.

imageManifestMediaType
Type: string

The media type of the image manifest.

imagePushedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time, expressed in standard JavaScript date format, which the current image tag was pushed to the repository at.

imageSizeInBytes
Type: long (int|float)

The size, in bytes, of the image in the repository.

If the image is a manifest list, this is 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 might return a larger image size than the image sizes that are returned by DescribeImages.

ReferencedImagesNotFoundException

Description

The manifest list is referencing an image that doesn't exist.

Members
message
Type: string

Registry

Description

The details of a public registry.

Members
aliases
Required: Yes
Type: Array of RegistryAlias structures

An array of objects that represents the aliases for a public registry.

registryArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the public registry.

registryId
Required: Yes
Type: string

The Amazon Web Services account ID that's associated with the registry. If you do not specify a registry, the default public registry is assumed.

registryUri
Required: Yes
Type: string

The URI of a public registry. The URI contains a universal prefix and the registry alias.

verified
Required: Yes
Type: boolean

Indicates whether the account is a verified Amazon Web Services Marketplace vendor. If an account is verified, each public repository receives a verified account badge on the Amazon ECR Public Gallery.

RegistryAlias

Description

An object representing the aliases for a public registry. A public registry is given an alias when it's created. However, a custom alias can be set using the Amazon ECR console. For more information, see Registries in the Amazon Elastic Container Registry User Guide.

Members
defaultRegistryAlias
Required: Yes
Type: boolean

Indicates whether the registry alias is the default alias for the registry. When the first public repository is created, your public registry is assigned a default registry alias.

name
Required: Yes
Type: string

The name of the registry alias.

primaryRegistryAlias
Required: Yes
Type: boolean

Indicates whether the registry alias is the primary alias for the registry. If true, the alias is the primary registry alias and is displayed in both the repository URL and the image URI used in the docker pull commands on the Amazon ECR Public Gallery.

A registry alias that isn't the primary registry alias can be used in the repository URI in a docker pull command.

status
Required: Yes
Type: string

The status of the registry alias.

RegistryCatalogData

Description

The metadata for a public registry.

Members
displayName
Type: string

The display name for a public registry. This appears on the Amazon ECR Public Gallery.

Only accounts that have the verified account badge can have a registry display name.

RegistryNotFoundException

Description

The registry doesn't exist.

Members
message
Type: string

Repository

Description

An object representing a repository.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time, in JavaScript date format, when the repository was created.

registryId
Type: string

The Amazon Web Services account ID that's associated with the public registry that contains the repository.

repositoryArn
Type: string

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.

repositoryName
Type: string

The name of the repository.

repositoryUri
Type: string

The URI for the repository. You can use this URI for container image push and pull operations.

RepositoryAlreadyExistsException

Description

The specified repository already exists in the specified registry.

Members
message
Type: string

RepositoryCatalogData

Description

The catalog data for a repository. This data is publicly visible in the Amazon ECR Public Gallery.

Members
aboutText
Type: string

The longform description of the contents of the repository. This text appears in the repository details on the Amazon ECR Public Gallery.

architectures
Type: Array of strings

The architecture tags that are associated with the repository.

Only supported operating system tags appear publicly in the Amazon ECR Public Gallery. For more information, see RepositoryCatalogDataInput.

description
Type: string

The short description of the repository.

logoUrl
Type: string

The URL that contains the logo that's associated with the repository.

marketplaceCertified
Type: boolean

Indicates whether the repository is certified by Amazon Web Services Marketplace.

operatingSystems
Type: Array of strings

The operating system tags that are associated with the repository.

Only supported operating system tags appear publicly in the Amazon ECR Public Gallery. For more information, see RepositoryCatalogDataInput.

usageText
Type: string

The longform usage details of the contents of the repository. The usage text provides context for users of the repository.

RepositoryCatalogDataInput

Description

An object that contains the catalog data for a repository. This data is publicly visible in the Amazon ECR Public Gallery.

Members
aboutText
Type: string

A detailed description of the contents of the repository. It's publicly visible in the Amazon ECR Public Gallery. The text must be in markdown format.

architectures
Type: Array of strings

The system architecture that the images in the repository are compatible with. On the Amazon ECR Public Gallery, the following supported architectures appear as badges on the repository and are used as search filters.

If an unsupported tag is added to your repository catalog data, it's associated with the repository and can be retrieved using the API but isn't discoverable in the Amazon ECR Public Gallery.

  • ARM

  • ARM 64

  • x86

  • x86-64

description
Type: string

A short description of the contents of the repository. This text appears in both the image details and also when searching for repositories on the Amazon ECR Public Gallery.

logoImageBlob
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The base64-encoded repository logo payload.

The repository logo is only publicly visible in the Amazon ECR Public Gallery for verified accounts.

operatingSystems
Type: Array of strings

The operating systems that the images in the repository are compatible with. On the Amazon ECR Public Gallery, the following supported operating systems appear as badges on the repository and are used as search filters.

If an unsupported tag is added to your repository catalog data, it's associated with the repository and can be retrieved using the API but isn't discoverable in the Amazon ECR Public Gallery.

  • Linux

  • Windows

usageText
Type: string

Detailed information about how to use the contents of the repository. It's publicly visible in the Amazon ECR Public Gallery. The usage text provides context, support information, and additional usage details for users of the repository. The text must be in markdown format.

RepositoryCatalogDataNotFoundException

Description

The repository catalog data doesn't exist.

Members
message
Type: string

RepositoryNotEmptyException

Description

The specified repository contains images. To delete a repository that contains images, you must force the deletion with the force parameter.

Members
message
Type: string

RepositoryNotFoundException

Description

The specified repository can't be found. Check the spelling of the specified repository and ensure that you're performing operations on the correct registry.

Members
message
Type: string

RepositoryPolicyNotFoundException

Description

The specified repository and registry combination doesn't have an associated repository policy.

Members
message
Type: string

ServerException

Description

These errors are usually caused by a server-side issue.

Members
message
Type: string

Tag

Description

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define both. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Members
Key
Type: string

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.

Value
Type: string

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

TooManyTagsException

Description

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

Members
message
Type: string

UnsupportedCommandException

Description

The action isn't supported in this Region.

Members
message
Type: string

UploadNotFoundException

Description

The upload can't be found, or the specified upload ID isn't valid for this repository.

Members
message
Type: string