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 Details

    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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 Details

    • 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.
    • batchCheckLayerAvailabilityAsync

      public Future<BatchCheckLayerAvailabilityResult> batchCheckLayerAvailabilityAsync(BatchCheckLayerAvailabilityRequest request)
      Description copied from interface: AmazonECRAsync

      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.

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

      Description copied from interface: AmazonECRAsync

      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.

      Specified by:
      batchCheckLayerAvailabilityAsync 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 BatchCheckLayerAvailability operation returned by the service.
    • 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

      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

      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

      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.
    • createRepositoryAsync

      public Future<CreateRepositoryResult> createRepositoryAsync(CreateRepositoryRequest request)
      Description copied from interface: AmazonECRAsync

      Creates an image repository.

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

      Description copied from interface: AmazonECRAsync

      Creates an image repository.

      Specified by:
      createRepositoryAsync 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 CreateRepository operation returned by the service.
    • deleteRepositoryAsync

      public Future<DeleteRepositoryResult> deleteRepositoryAsync(DeleteRepositoryRequest request)
      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
      Returns:
      A Java Future containing the result of the DeleteRepository operation returned by the service.
    • deleteRepositoryAsync

      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.
    • deleteRepositoryPolicyAsync

      public Future<DeleteRepositoryPolicyResult> deleteRepositoryPolicyAsync(DeleteRepositoryPolicyRequest request)
      Description copied from interface: AmazonECRAsync

      Deletes the repository policy from a specified repository.

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

      Description copied from interface: AmazonECRAsync

      Deletes the repository policy from a specified repository.

      Specified by:
      deleteRepositoryPolicyAsync 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 DeleteRepositoryPolicy operation returned by the service.
    • describeRepositoriesAsync

      public Future<DescribeRepositoriesResult> describeRepositoriesAsync(DescribeRepositoriesRequest request)
      Description copied from interface: AmazonECRAsync

      Describes image repositories in a registry.

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

      Description copied from interface: AmazonECRAsync

      Describes image repositories in a registry.

      Specified by:
      describeRepositoriesAsync 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 DescribeRepositories 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

      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

      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.
    • getRepositoryPolicyAsync

      public Future<GetRepositoryPolicyResult> getRepositoryPolicyAsync(GetRepositoryPolicyRequest request)
      Description copied from interface: AmazonECRAsync

      Retrieves the repository policy for a specified repository.

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

      Description copied from interface: AmazonECRAsync

      Retrieves the repository policy for a specified repository.

      Specified by:
      getRepositoryPolicyAsync 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 GetRepositoryPolicy 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

      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)
      Description copied from interface: AmazonECRAsync

      Lists all the image IDs for a given repository.

      Specified by:
      listImagesAsync in interface AmazonECRAsync
      Returns:
      A Java Future containing the result of the ListImages 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.
    • setRepositoryPolicyAsync

      public Future<SetRepositoryPolicyResult> setRepositoryPolicyAsync(SetRepositoryPolicyRequest request)
      Description copied from interface: AmazonECRAsync

      Applies a repository policy on a specified repository to control access permissions.

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

      Description copied from interface: AmazonECRAsync

      Applies a repository policy on a specified repository to control access permissions.

      Specified by:
      setRepositoryPolicyAsync 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 SetRepositoryPolicy 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

      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