Class AmazonECRAsyncClient

  • All Implemented Interfaces:
    AmazonECR, AmazonECRAsync

    @ThreadSafe
    public class AmazonECRAsyncClient
    extends AmazonECRClient
    implements AmazonECRAsync
    Interface for accessing Amazon ECR asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an AsyncHandler can be used to receive notification when an asynchronous operation completes.

    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.

    • Constructor Detail

      • AmazonECRAsyncClient

        public AmazonECRAsyncClient()
        Constructs a new asynchronous client to invoke service methods on Amazon ECR. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(ClientConfiguration clientConfiguration)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

        Parameters:
        clientConfiguration - The client configuration options controlling how this client connects to Amazon ECR (ex: proxy settings, retry counts, etc).
        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentials awsCredentials)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the specified AWS account credentials.

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        See Also:
        Executors.newFixedThreadPool(int)
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentials awsCredentials,
                                    ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the specified AWS account credentials and executor service. Default client settings will be used.
        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        executorService - The executor service by which all asynchronous requests will be executed.
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentials awsCredentials,
                                    ClientConfiguration clientConfiguration,
                                    ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the specified AWS account credentials, executor service, and client configuration options.
        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        executorService - The executor service by which all asynchronous requests will be executed.
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentialsProvider awsCredentialsProvider)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the specified AWS account credentials provider. Default client settings will be used.

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        See Also:
        Executors.newFixedThreadPool(int)
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                    ClientConfiguration clientConfiguration)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the provided AWS account credentials provider and client configuration options.

        Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                    ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the specified AWS account credentials provider and executor service. Default client settings will be used.
        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        executorService - The executor service by which all asynchronous requests will be executed.
      • AmazonECRAsyncClient

        public AmazonECRAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                    ClientConfiguration clientConfiguration,
                                    ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon ECR using the specified AWS account credentials provider, executor service, and client configuration options.
        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        executorService - The executor service by which all asynchronous requests will be executed.
    • Method Detail

      • getExecutorService

        public ExecutorService getExecutorService()
        Returns the executor service used by this client to execute async requests.
        Returns:
        The executor service used by this client to execute async requests.
      • batchDeleteImageAsync

        public Future<BatchDeleteImageResult> batchDeleteImageAsync​(BatchDeleteImageRequest request)
        Description copied from interface: AmazonECRAsync

        Deletes a list of specified images within a specified repository. Images are specified with either imageTag or imageDigest.

        Specified by:
        batchDeleteImageAsync in interface AmazonECRAsync
        Parameters:
        request - Deletes specified images within a specified repository. Images are specified with either the imageTag or imageDigest.
        Returns:
        A Java Future containing the result of the BatchDeleteImage operation returned by the service.
      • batchDeleteImageAsync

        public Future<BatchDeleteImageResult> batchDeleteImageAsync​(BatchDeleteImageRequest request,
                                                                    AsyncHandler<BatchDeleteImageRequest,​BatchDeleteImageResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        Deletes a list of specified images within a specified repository. Images are specified with either imageTag or imageDigest.

        Specified by:
        batchDeleteImageAsync in interface AmazonECRAsync
        Parameters:
        request - Deletes specified images within a specified repository. Images are specified with either the imageTag or imageDigest.
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the BatchDeleteImage operation returned by the service.
      • batchGetImageAsync

        public Future<BatchGetImageResult> batchGetImageAsync​(BatchGetImageRequest request)
        Description copied from interface: AmazonECRAsync

        Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.

        Specified by:
        batchGetImageAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the BatchGetImage operation returned by the service.
      • batchGetImageAsync

        public Future<BatchGetImageResult> batchGetImageAsync​(BatchGetImageRequest request,
                                                              AsyncHandler<BatchGetImageRequest,​BatchGetImageResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.

        Specified by:
        batchGetImageAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the BatchGetImage operation returned by the service.
      • completeLayerUploadAsync

        public Future<CompleteLayerUploadResult> completeLayerUploadAsync​(CompleteLayerUploadRequest request)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        completeLayerUploadAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the CompleteLayerUpload operation returned by the service.
      • completeLayerUploadAsync

        public Future<CompleteLayerUploadResult> completeLayerUploadAsync​(CompleteLayerUploadRequest request,
                                                                          AsyncHandler<CompleteLayerUploadRequest,​CompleteLayerUploadResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        completeLayerUploadAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the CompleteLayerUpload operation returned by the service.
      • deleteRepositoryAsync

        public Future<DeleteRepositoryResult> deleteRepositoryAsync​(DeleteRepositoryRequest request,
                                                                    AsyncHandler<DeleteRepositoryRequest,​DeleteRepositoryResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        Deletes an existing image repository. If a repository contains images, you must use the force option to delete it.

        Specified by:
        deleteRepositoryAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the DeleteRepository operation returned by the service.
      • getAuthorizationTokenAsync

        public Future<GetAuthorizationTokenResult> getAuthorizationTokenAsync​(GetAuthorizationTokenRequest request)
        Description copied from interface: AmazonECRAsync

        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 a docker login command to authenticate to a registry. The AWS CLI offers an aws ecr get-login command that simplifies the login process.

        Specified by:
        getAuthorizationTokenAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the GetAuthorizationToken operation returned by the service.
      • getAuthorizationTokenAsync

        public Future<GetAuthorizationTokenResult> getAuthorizationTokenAsync​(GetAuthorizationTokenRequest request,
                                                                              AsyncHandler<GetAuthorizationTokenRequest,​GetAuthorizationTokenResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        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 a docker login command to authenticate to a registry. The AWS CLI offers an aws ecr get-login command that simplifies the login process.

        Specified by:
        getAuthorizationTokenAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the GetAuthorizationToken operation returned by the service.
      • getDownloadUrlForLayerAsync

        public Future<GetDownloadUrlForLayerResult> getDownloadUrlForLayerAsync​(GetDownloadUrlForLayerRequest request)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        getDownloadUrlForLayerAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the GetDownloadUrlForLayer operation returned by the service.
      • getDownloadUrlForLayerAsync

        public Future<GetDownloadUrlForLayerResult> getDownloadUrlForLayerAsync​(GetDownloadUrlForLayerRequest request,
                                                                                AsyncHandler<GetDownloadUrlForLayerRequest,​GetDownloadUrlForLayerResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        getDownloadUrlForLayerAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the GetDownloadUrlForLayer operation returned by the service.
      • initiateLayerUploadAsync

        public Future<InitiateLayerUploadResult> initiateLayerUploadAsync​(InitiateLayerUploadRequest request)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        initiateLayerUploadAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the InitiateLayerUpload operation returned by the service.
      • initiateLayerUploadAsync

        public Future<InitiateLayerUploadResult> initiateLayerUploadAsync​(InitiateLayerUploadRequest request,
                                                                          AsyncHandler<InitiateLayerUploadRequest,​InitiateLayerUploadResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        initiateLayerUploadAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the InitiateLayerUpload operation returned by the service.
      • listImagesAsync

        public Future<ListImagesResult> listImagesAsync​(ListImagesRequest request,
                                                        AsyncHandler<ListImagesRequest,​ListImagesResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        Lists all the image IDs for a given repository.

        Specified by:
        listImagesAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the ListImages operation returned by the service.
      • putImageAsync

        public Future<PutImageResult> putImageAsync​(PutImageRequest request)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        putImageAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the PutImage operation returned by the service.
      • putImageAsync

        public Future<PutImageResult> putImageAsync​(PutImageRequest request,
                                                    AsyncHandler<PutImageRequest,​PutImageResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        putImageAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the PutImage operation returned by the service.
      • uploadLayerPartAsync

        public Future<UploadLayerPartResult> uploadLayerPartAsync​(UploadLayerPartRequest request)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        uploadLayerPartAsync in interface AmazonECRAsync
        Returns:
        A Java Future containing the result of the UploadLayerPart operation returned by the service.
      • uploadLayerPartAsync

        public Future<UploadLayerPartResult> uploadLayerPartAsync​(UploadLayerPartRequest request,
                                                                  AsyncHandler<UploadLayerPartRequest,​UploadLayerPartResult> asyncHandler)
        Description copied from interface: AmazonECRAsync

        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.

        Specified by:
        uploadLayerPartAsync in interface AmazonECRAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the UploadLayerPart operation returned by the service.
      • shutdown

        public void shutdown()
        Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call getExecutorService().shutdown() followed by getExecutorService().awaitTermination() prior to calling this method.
        Specified by:
        shutdown in interface AmazonECR
        Overrides:
        shutdown in class AmazonWebServiceClient