Interface AmazonECR
- All Known Subinterfaces:
AmazonECRAsync
- All Known Implementing Classes:
AbstractAmazonECR
,AbstractAmazonECRAsync
,AmazonECRAsyncClient
,AmazonECRClient
Amazon EC2 Container Registry (Amazon ECR) is a managed AWS Docker registry service. Customers can use the familiar Docker CLI to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon ECR supports private Docker repositories with resource-based permissions using AWS IAM so that specific users or Amazon EC2 instances can access repositories and images. Developers can use the Docker CLI to author and manage images.
-
Method Summary
Modifier and TypeMethodDescriptionbatchCheckLayerAvailability
(BatchCheckLayerAvailabilityRequest batchCheckLayerAvailabilityRequest) Check the availability of multiple image layers in a specified registry and repository.batchDeleteImage
(BatchDeleteImageRequest batchDeleteImageRequest) Deletes a list of specified images within a specified repository.batchGetImage
(BatchGetImageRequest batchGetImageRequest) Gets detailed information for specified images within a specified repository.completeLayerUpload
(CompleteLayerUploadRequest completeLayerUploadRequest) Inform Amazon ECR that the image layer upload for a specified registry, repository name, and upload ID, has completed.createRepository
(CreateRepositoryRequest createRepositoryRequest) Creates an image repository.deleteRepository
(DeleteRepositoryRequest deleteRepositoryRequest) Deletes an existing image repository.deleteRepositoryPolicy
(DeleteRepositoryPolicyRequest deleteRepositoryPolicyRequest) Deletes the repository policy from a specified repository.describeRepositories
(DescribeRepositoriesRequest describeRepositoriesRequest) Describes image repositories in a registry.getAuthorizationToken
(GetAuthorizationTokenRequest getAuthorizationTokenRequest) Retrieves a token that is valid for a specified registry for 12 hours.Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected.getDownloadUrlForLayer
(GetDownloadUrlForLayerRequest getDownloadUrlForLayerRequest) Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer.getRepositoryPolicy
(GetRepositoryPolicyRequest getRepositoryPolicyRequest) Retrieves the repository policy for a specified repository.initiateLayerUpload
(InitiateLayerUploadRequest initiateLayerUploadRequest) Notify Amazon ECR that you intend to upload an image layer.listImages
(ListImagesRequest listImagesRequest) Lists all the image IDs for a given repository.putImage
(PutImageRequest putImageRequest) Creates or updates the image manifest associated with an image.void
setEndpoint
(String endpoint) Overrides the default endpoint for this client ("ecr.us-east-1.amazonaws.com").void
An alternative tosetEndpoint(String)
, sets the regional endpoint for this client's service calls.setRepositoryPolicy
(SetRepositoryPolicyRequest setRepositoryPolicyRequest) Applies a repository policy on a specified repository to control access permissions.void
shutdown()
Shuts down this client object, releasing any resources that might be held open.uploadLayerPart
(UploadLayerPartRequest uploadLayerPartRequest) Uploads an image layer part to Amazon ECR.
-
Method Details
-
setEndpoint
Overrides the default endpoint for this client ("ecr.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.Callers can pass in just the endpoint (ex: "ecr.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "ecr.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's
ClientConfiguration
will be used, which by default is HTTPS.For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912
This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
- Parameters:
endpoint
- The endpoint (ex: "ecr.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "ecr.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.
-
setRegion
An alternative tosetEndpoint(String)
, sets the regional endpoint for this client's service calls. Callers can use this method to control which AWS region they want to work with.By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
ClientConfiguration
supplied at construction.This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
- Parameters:
region
- The region this client will communicate with. SeeRegion.getRegion(com.amazonaws.regions.Regions)
for accessing a given region. Must not be null and must be a region where the service is available.- See Also:
-
batchCheckLayerAvailability
BatchCheckLayerAvailabilityResult batchCheckLayerAvailability(BatchCheckLayerAvailabilityRequest batchCheckLayerAvailabilityRequest) Check the availability of multiple image layers in a specified registry and repository.
This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the
docker
CLI to pull, tag, and push images.- Parameters:
batchCheckLayerAvailabilityRequest
-- Returns:
- Result of the BatchCheckLayerAvailability operation returned by the service.
- Throws:
RepositoryNotFoundException
- The specified repository could not be found. Check the spelling of the specified repository and ensure that you are 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.
-
batchDeleteImage
Deletes a list of specified images within a specified repository. Images are specified with either
imageTag
orimageDigest
.- Parameters:
batchDeleteImageRequest
- Deletes specified images within a specified repository. Images are specified with either theimageTag
orimageDigest
.- Returns:
- Result of the BatchDeleteImage operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
batchGetImage
Gets detailed information for specified images within a specified repository. Images are specified with either
imageTag
orimageDigest
.- Parameters:
batchGetImageRequest
-- Returns:
- Result of the BatchGetImage operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
completeLayerUpload
CompleteLayerUploadResult completeLayerUpload(CompleteLayerUploadRequest completeLayerUploadRequest) Inform Amazon ECR that the image layer upload for a specified registry, repository name, and upload ID, has completed. You can optionally provide a
sha256
digest of the image layer for data validation purposes.This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the
docker
CLI to pull, tag, and push images.- Parameters:
completeLayerUploadRequest
-- Returns:
- Result of the CompleteLayerUpload operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.UploadNotFoundException
- The upload could not be found, or the specified upload id is not valid for this repository.InvalidLayerException
- The layer digest calculation performed by Amazon ECR upon receipt of the image layer does not 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 does not contain any layer parts.
-
createRepository
Creates an image repository.
- Parameters:
createRepositoryRequest
-- Returns:
- Result of the CreateRepository operation returned by the service.
- Throws:
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.RepositoryAlreadyExistsException
- The specified repository already exists in the specified registry.LimitExceededException
- The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Default Service Limits in the Amazon EC2 Container Registry User Guide.
-
deleteRepository
Deletes an existing image repository. If a repository contains images, you must use the
force
option to delete it.- Parameters:
deleteRepositoryRequest
-- Returns:
- Result of the DeleteRepository operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are 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 theforce
parameter.
-
deleteRepositoryPolicy
DeleteRepositoryPolicyResult deleteRepositoryPolicy(DeleteRepositoryPolicyRequest deleteRepositoryPolicyRequest) Deletes the repository policy from a specified repository.
- Parameters:
deleteRepositoryPolicyRequest
-- Returns:
- Result of the DeleteRepositoryPolicy operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.RepositoryPolicyNotFoundException
- The specified repository and registry combination does not have an associated repository policy.
-
describeRepositories
DescribeRepositoriesResult describeRepositories(DescribeRepositoriesRequest describeRepositoriesRequest) Describes image repositories in a registry.
- Parameters:
describeRepositoriesRequest
-- Returns:
- Result of the DescribeRepositories operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
getAuthorizationToken
GetAuthorizationTokenResult getAuthorizationToken(GetAuthorizationTokenRequest getAuthorizationTokenRequest) Retrieves a token that is valid for a specified registry for 12 hours. This command allows you to use the
docker
CLI to push and pull images with Amazon ECR. If you do not specify a registry, the default registry is assumed.The
authorizationToken
returned for each registry specified is a base64 encoded string that can be decoded and used in adocker login
command to authenticate to a registry. The AWS CLI offers anaws ecr get-login
command that simplifies the login process.- Parameters:
getAuthorizationTokenRequest
-- Returns:
- Result of the GetAuthorizationToken operation returned by the service.
- Throws:
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.
-
getDownloadUrlForLayer
GetDownloadUrlForLayerResult getDownloadUrlForLayer(GetDownloadUrlForLayerRequest getDownloadUrlForLayerRequest) Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image.
This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the
docker
CLI to pull, tag, and push images.- Parameters:
getDownloadUrlForLayerRequest
-- Returns:
- Result of the GetDownloadUrlForLayer operation returned by the service.
- Throws:
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.LayersNotFoundException
- The specified layers could not be found, or the specified layer is not valid for this repository.LayerInaccessibleException
- The specified layer is not available because it is not associated with an image. Unassociated image layers may be cleaned up at any time.RepositoryNotFoundException
- The specified repository could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
getRepositoryPolicy
GetRepositoryPolicyResult getRepositoryPolicy(GetRepositoryPolicyRequest getRepositoryPolicyRequest) Retrieves the repository policy for a specified repository.
- Parameters:
getRepositoryPolicyRequest
-- Returns:
- Result of the GetRepositoryPolicy operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.RepositoryPolicyNotFoundException
- The specified repository and registry combination does not have an associated repository policy.
-
initiateLayerUpload
InitiateLayerUploadResult initiateLayerUpload(InitiateLayerUploadRequest initiateLayerUploadRequest) Notify Amazon ECR that you intend to upload an image layer.
This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the
docker
CLI to pull, tag, and push images.- Parameters:
initiateLayerUploadRequest
-- Returns:
- Result of the InitiateLayerUpload operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
listImages
Lists all the image IDs for a given repository.
- Parameters:
listImagesRequest
-- Returns:
- Result of the ListImages operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
putImage
Creates or updates the image manifest associated with an image.
This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the
docker
CLI to pull, tag, and push images.- Parameters:
putImageRequest
-- Returns:
- Result of the PutImage operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.ImageAlreadyExistsException
- The specified image has already been pushed, and there are no changes to the manifest or image tag since the last push.LayersNotFoundException
- The specified layers could not be found, or the specified layer is not valid for this repository.LimitExceededException
- The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Default Service Limits in the Amazon EC2 Container Registry User Guide.
-
setRepositoryPolicy
SetRepositoryPolicyResult setRepositoryPolicy(SetRepositoryPolicyRequest setRepositoryPolicyRequest) Applies a repository policy on a specified repository to control access permissions.
- Parameters:
setRepositoryPolicyRequest
-- Returns:
- Result of the SetRepositoryPolicy operation returned by the service.
- Throws:
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 could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.
-
uploadLayerPart
Uploads an image layer part to Amazon ECR.
This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the
docker
CLI to pull, tag, and push images.- Parameters:
uploadLayerPartRequest
-- Returns:
- Result of the UploadLayerPart operation returned by the service.
- Throws:
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 is not valid, or the first byte specified is not consecutive to the last byte of a previous layer part upload.RepositoryNotFoundException
- The specified repository could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.UploadNotFoundException
- The upload could not be found, or the specified upload id is not valid for this repository.LimitExceededException
- The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Default Service Limits in the Amazon EC2 Container Registry User Guide.
-
shutdown
void shutdown()Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests. -
getCachedResponseMetadata
Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.
- Parameters:
request
- The originally executed request.- Returns:
- The response metadata for the specified request, or null if none is available.
-