Interface AmazonECR

All Known Subinterfaces:
AmazonECRAsync
All Known Implementing Classes:
AbstractAmazonECR, AbstractAmazonECRAsync, AmazonECRAsyncClient, AmazonECRClient

public interface AmazonECR
Interface for accessing Amazon ECR.

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 Details

    • setEndpoint

      void setEndpoint(String endpoint)
      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

      void setRegion(Region region)
      An alternative to setEndpoint(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. See Region.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

      BatchDeleteImageResult batchDeleteImage(BatchDeleteImageRequest batchDeleteImageRequest)

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

      Parameters:
      batchDeleteImageRequest - Deletes specified images within a specified repository. Images are specified with either the imageTag or imageDigest.
      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

      BatchGetImageResult batchGetImage(BatchGetImageRequest batchGetImageRequest)

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

      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

      CreateRepositoryResult createRepository(CreateRepositoryRequest createRepositoryRequest)

      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

      DeleteRepositoryResult deleteRepository(DeleteRepositoryRequest deleteRepositoryRequest)

      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 the force 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 a docker login command to authenticate to a registry. The AWS CLI offers an aws 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

      ListImagesResult listImages(ListImagesRequest listImagesRequest)

      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

      PutImageResult putImage(PutImageRequest putImageRequest)

      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

      UploadLayerPartResult uploadLayerPart(UploadLayerPartRequest uploadLayerPartRequest)

      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

      ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
      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.