public class AbstractAmazonECRAsync extends AbstractAmazonECR implements AmazonECRAsync
AmazonECRAsync
. Convenient method forms
pass through to the corresponding overload that takes a request object and an
AsyncHandler
, which throws an UnsupportedOperationException
.Modifier | Constructor and Description |
---|---|
protected |
AbstractAmazonECRAsync() |
Modifier and Type | Method and Description |
---|---|
java.util.concurrent.Future<BatchCheckLayerAvailabilityResult> |
batchCheckLayerAvailabilityAsync(BatchCheckLayerAvailabilityRequest request)
Check the availability of multiple image layers in a specified registry
and repository.
|
java.util.concurrent.Future<BatchCheckLayerAvailabilityResult> |
batchCheckLayerAvailabilityAsync(BatchCheckLayerAvailabilityRequest request,
AsyncHandler<BatchCheckLayerAvailabilityRequest,BatchCheckLayerAvailabilityResult> asyncHandler)
Check the availability of multiple image layers in a specified registry
and repository.
|
java.util.concurrent.Future<BatchDeleteImageResult> |
batchDeleteImageAsync(BatchDeleteImageRequest request)
Deletes a list of specified images within a specified repository.
|
java.util.concurrent.Future<BatchDeleteImageResult> |
batchDeleteImageAsync(BatchDeleteImageRequest request,
AsyncHandler<BatchDeleteImageRequest,BatchDeleteImageResult> asyncHandler)
Deletes a list of specified images within a specified repository.
|
java.util.concurrent.Future<BatchGetImageResult> |
batchGetImageAsync(BatchGetImageRequest request)
Gets detailed information for specified images within a specified
repository.
|
java.util.concurrent.Future<BatchGetImageResult> |
batchGetImageAsync(BatchGetImageRequest request,
AsyncHandler<BatchGetImageRequest,BatchGetImageResult> asyncHandler)
Gets detailed information for specified images within a specified
repository.
|
java.util.concurrent.Future<CompleteLayerUploadResult> |
completeLayerUploadAsync(CompleteLayerUploadRequest request)
Inform Amazon ECR that the image layer upload for a specified registry,
repository name, and upload ID, has completed.
|
java.util.concurrent.Future<CompleteLayerUploadResult> |
completeLayerUploadAsync(CompleteLayerUploadRequest request,
AsyncHandler<CompleteLayerUploadRequest,CompleteLayerUploadResult> asyncHandler)
Inform Amazon ECR that the image layer upload for a specified registry,
repository name, and upload ID, has completed.
|
java.util.concurrent.Future<CreateRepositoryResult> |
createRepositoryAsync(CreateRepositoryRequest request)
Creates an image repository.
|
java.util.concurrent.Future<CreateRepositoryResult> |
createRepositoryAsync(CreateRepositoryRequest request,
AsyncHandler<CreateRepositoryRequest,CreateRepositoryResult> asyncHandler)
Creates an image repository.
|
java.util.concurrent.Future<DeleteRepositoryResult> |
deleteRepositoryAsync(DeleteRepositoryRequest request)
Deletes an existing image repository.
|
java.util.concurrent.Future<DeleteRepositoryResult> |
deleteRepositoryAsync(DeleteRepositoryRequest request,
AsyncHandler<DeleteRepositoryRequest,DeleteRepositoryResult> asyncHandler)
Deletes an existing image repository.
|
java.util.concurrent.Future<DeleteRepositoryPolicyResult> |
deleteRepositoryPolicyAsync(DeleteRepositoryPolicyRequest request)
Deletes the repository policy from a specified repository.
|
java.util.concurrent.Future<DeleteRepositoryPolicyResult> |
deleteRepositoryPolicyAsync(DeleteRepositoryPolicyRequest request,
AsyncHandler<DeleteRepositoryPolicyRequest,DeleteRepositoryPolicyResult> asyncHandler)
Deletes the repository policy from a specified repository.
|
java.util.concurrent.Future<DescribeRepositoriesResult> |
describeRepositoriesAsync(DescribeRepositoriesRequest request)
Describes image repositories in a registry.
|
java.util.concurrent.Future<DescribeRepositoriesResult> |
describeRepositoriesAsync(DescribeRepositoriesRequest request,
AsyncHandler<DescribeRepositoriesRequest,DescribeRepositoriesResult> asyncHandler)
Describes image repositories in a registry.
|
java.util.concurrent.Future<GetAuthorizationTokenResult> |
getAuthorizationTokenAsync(GetAuthorizationTokenRequest request)
Retrieves a token that is valid for a specified registry for 12 hours.
|
java.util.concurrent.Future<GetAuthorizationTokenResult> |
getAuthorizationTokenAsync(GetAuthorizationTokenRequest request,
AsyncHandler<GetAuthorizationTokenRequest,GetAuthorizationTokenResult> asyncHandler)
Retrieves a token that is valid for a specified registry for 12 hours.
|
java.util.concurrent.Future<GetDownloadUrlForLayerResult> |
getDownloadUrlForLayerAsync(GetDownloadUrlForLayerRequest request)
Retrieves the pre-signed Amazon S3 download URL corresponding to an image
layer.
|
java.util.concurrent.Future<GetDownloadUrlForLayerResult> |
getDownloadUrlForLayerAsync(GetDownloadUrlForLayerRequest request,
AsyncHandler<GetDownloadUrlForLayerRequest,GetDownloadUrlForLayerResult> asyncHandler)
Retrieves the pre-signed Amazon S3 download URL corresponding to an image
layer.
|
java.util.concurrent.Future<GetRepositoryPolicyResult> |
getRepositoryPolicyAsync(GetRepositoryPolicyRequest request)
Retrieves the repository policy for a specified repository.
|
java.util.concurrent.Future<GetRepositoryPolicyResult> |
getRepositoryPolicyAsync(GetRepositoryPolicyRequest request,
AsyncHandler<GetRepositoryPolicyRequest,GetRepositoryPolicyResult> asyncHandler)
Retrieves the repository policy for a specified repository.
|
java.util.concurrent.Future<InitiateLayerUploadResult> |
initiateLayerUploadAsync(InitiateLayerUploadRequest request)
Notify Amazon ECR that you intend to upload an image layer.
|
java.util.concurrent.Future<InitiateLayerUploadResult> |
initiateLayerUploadAsync(InitiateLayerUploadRequest request,
AsyncHandler<InitiateLayerUploadRequest,InitiateLayerUploadResult> asyncHandler)
Notify Amazon ECR that you intend to upload an image layer.
|
java.util.concurrent.Future<ListImagesResult> |
listImagesAsync(ListImagesRequest request)
Lists all the image IDs for a given repository.
|
java.util.concurrent.Future<ListImagesResult> |
listImagesAsync(ListImagesRequest request,
AsyncHandler<ListImagesRequest,ListImagesResult> asyncHandler)
Lists all the image IDs for a given repository.
|
java.util.concurrent.Future<PutImageResult> |
putImageAsync(PutImageRequest request)
Creates or updates the image manifest associated with an image.
|
java.util.concurrent.Future<PutImageResult> |
putImageAsync(PutImageRequest request,
AsyncHandler<PutImageRequest,PutImageResult> asyncHandler)
Creates or updates the image manifest associated with an image.
|
java.util.concurrent.Future<SetRepositoryPolicyResult> |
setRepositoryPolicyAsync(SetRepositoryPolicyRequest request)
Applies a repository policy on a specified repository to control access
permissions.
|
java.util.concurrent.Future<SetRepositoryPolicyResult> |
setRepositoryPolicyAsync(SetRepositoryPolicyRequest request,
AsyncHandler<SetRepositoryPolicyRequest,SetRepositoryPolicyResult> asyncHandler)
Applies a repository policy on a specified repository to control access
permissions.
|
java.util.concurrent.Future<UploadLayerPartResult> |
uploadLayerPartAsync(UploadLayerPartRequest request)
Uploads an image layer part to Amazon ECR.
|
java.util.concurrent.Future<UploadLayerPartResult> |
uploadLayerPartAsync(UploadLayerPartRequest request,
AsyncHandler<UploadLayerPartRequest,UploadLayerPartResult> asyncHandler)
Uploads an image layer part to Amazon ECR.
|
batchCheckLayerAvailability, batchDeleteImage, batchGetImage, completeLayerUpload, createRepository, deleteRepository, deleteRepositoryPolicy, describeRepositories, getAuthorizationToken, getCachedResponseMetadata, getDownloadUrlForLayer, getRepositoryPolicy, initiateLayerUpload, listImages, putImage, setEndpoint, setRegion, setRepositoryPolicy, shutdown, uploadLayerPart
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
batchCheckLayerAvailability, batchDeleteImage, batchGetImage, completeLayerUpload, createRepository, deleteRepository, deleteRepositoryPolicy, describeRepositories, getAuthorizationToken, getCachedResponseMetadata, getDownloadUrlForLayer, getRepositoryPolicy, initiateLayerUpload, listImages, putImage, setEndpoint, setRegion, setRepositoryPolicy, shutdown, uploadLayerPart
public java.util.concurrent.Future<BatchCheckLayerAvailabilityResult> batchCheckLayerAvailabilityAsync(BatchCheckLayerAvailabilityRequest request)
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.
batchCheckLayerAvailabilityAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<BatchCheckLayerAvailabilityResult> batchCheckLayerAvailabilityAsync(BatchCheckLayerAvailabilityRequest request, AsyncHandler<BatchCheckLayerAvailabilityRequest,BatchCheckLayerAvailabilityResult> asyncHandler)
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.
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.public java.util.concurrent.Future<BatchDeleteImageResult> batchDeleteImageAsync(BatchDeleteImageRequest request)
AmazonECRAsync
Deletes a list of specified images within a specified repository. Images
are specified with either imageTag
or
imageDigest
.
batchDeleteImageAsync
in interface AmazonECRAsync
request
- Deletes specified images within a specified repository. Images are
specified with either the imageTag
or
imageDigest
.public java.util.concurrent.Future<BatchDeleteImageResult> batchDeleteImageAsync(BatchDeleteImageRequest request, AsyncHandler<BatchDeleteImageRequest,BatchDeleteImageResult> asyncHandler)
AmazonECRAsync
Deletes a list of specified images within a specified repository. Images
are specified with either imageTag
or
imageDigest
.
batchDeleteImageAsync
in interface AmazonECRAsync
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.public java.util.concurrent.Future<BatchGetImageResult> batchGetImageAsync(BatchGetImageRequest request)
AmazonECRAsync
Gets detailed information for specified images within a specified
repository. Images are specified with either imageTag
or
imageDigest
.
batchGetImageAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<BatchGetImageResult> batchGetImageAsync(BatchGetImageRequest request, AsyncHandler<BatchGetImageRequest,BatchGetImageResult> asyncHandler)
AmazonECRAsync
Gets detailed information for specified images within a specified
repository. Images are specified with either imageTag
or
imageDigest
.
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.public java.util.concurrent.Future<CompleteLayerUploadResult> completeLayerUploadAsync(CompleteLayerUploadRequest request)
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.
completeLayerUploadAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<CompleteLayerUploadResult> completeLayerUploadAsync(CompleteLayerUploadRequest request, AsyncHandler<CompleteLayerUploadRequest,CompleteLayerUploadResult> asyncHandler)
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.
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.public java.util.concurrent.Future<CreateRepositoryResult> createRepositoryAsync(CreateRepositoryRequest request)
AmazonECRAsync
Creates an image repository.
createRepositoryAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<CreateRepositoryResult> createRepositoryAsync(CreateRepositoryRequest request, AsyncHandler<CreateRepositoryRequest,CreateRepositoryResult> asyncHandler)
AmazonECRAsync
Creates an image repository.
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.public java.util.concurrent.Future<DeleteRepositoryResult> deleteRepositoryAsync(DeleteRepositoryRequest request)
AmazonECRAsync
Deletes an existing image repository. If a repository contains images,
you must use the force
option to delete it.
deleteRepositoryAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<DeleteRepositoryResult> deleteRepositoryAsync(DeleteRepositoryRequest request, AsyncHandler<DeleteRepositoryRequest,DeleteRepositoryResult> asyncHandler)
AmazonECRAsync
Deletes an existing image repository. If a repository contains images,
you must use the force
option to delete it.
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.public java.util.concurrent.Future<DeleteRepositoryPolicyResult> deleteRepositoryPolicyAsync(DeleteRepositoryPolicyRequest request)
AmazonECRAsync
Deletes the repository policy from a specified repository.
deleteRepositoryPolicyAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<DeleteRepositoryPolicyResult> deleteRepositoryPolicyAsync(DeleteRepositoryPolicyRequest request, AsyncHandler<DeleteRepositoryPolicyRequest,DeleteRepositoryPolicyResult> asyncHandler)
AmazonECRAsync
Deletes the repository policy from a specified repository.
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.public java.util.concurrent.Future<DescribeRepositoriesResult> describeRepositoriesAsync(DescribeRepositoriesRequest request)
AmazonECRAsync
Describes image repositories in a registry.
describeRepositoriesAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<DescribeRepositoriesResult> describeRepositoriesAsync(DescribeRepositoriesRequest request, AsyncHandler<DescribeRepositoriesRequest,DescribeRepositoriesResult> asyncHandler)
AmazonECRAsync
Describes image repositories in a registry.
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.public java.util.concurrent.Future<GetAuthorizationTokenResult> getAuthorizationTokenAsync(GetAuthorizationTokenRequest request)
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.
getAuthorizationTokenAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<GetAuthorizationTokenResult> getAuthorizationTokenAsync(GetAuthorizationTokenRequest request, AsyncHandler<GetAuthorizationTokenRequest,GetAuthorizationTokenResult> asyncHandler)
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.
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.public java.util.concurrent.Future<GetDownloadUrlForLayerResult> getDownloadUrlForLayerAsync(GetDownloadUrlForLayerRequest request)
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.
getDownloadUrlForLayerAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<GetDownloadUrlForLayerResult> getDownloadUrlForLayerAsync(GetDownloadUrlForLayerRequest request, AsyncHandler<GetDownloadUrlForLayerRequest,GetDownloadUrlForLayerResult> asyncHandler)
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.
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.public java.util.concurrent.Future<GetRepositoryPolicyResult> getRepositoryPolicyAsync(GetRepositoryPolicyRequest request)
AmazonECRAsync
Retrieves the repository policy for a specified repository.
getRepositoryPolicyAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<GetRepositoryPolicyResult> getRepositoryPolicyAsync(GetRepositoryPolicyRequest request, AsyncHandler<GetRepositoryPolicyRequest,GetRepositoryPolicyResult> asyncHandler)
AmazonECRAsync
Retrieves the repository policy for a specified repository.
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.public java.util.concurrent.Future<InitiateLayerUploadResult> initiateLayerUploadAsync(InitiateLayerUploadRequest request)
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.
initiateLayerUploadAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<InitiateLayerUploadResult> initiateLayerUploadAsync(InitiateLayerUploadRequest request, AsyncHandler<InitiateLayerUploadRequest,InitiateLayerUploadResult> asyncHandler)
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.
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.public java.util.concurrent.Future<ListImagesResult> listImagesAsync(ListImagesRequest request)
AmazonECRAsync
Lists all the image IDs for a given repository.
listImagesAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<ListImagesResult> listImagesAsync(ListImagesRequest request, AsyncHandler<ListImagesRequest,ListImagesResult> asyncHandler)
AmazonECRAsync
Lists all the image IDs for a given repository.
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.public java.util.concurrent.Future<PutImageResult> putImageAsync(PutImageRequest request)
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.
putImageAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<PutImageResult> putImageAsync(PutImageRequest request, AsyncHandler<PutImageRequest,PutImageResult> asyncHandler)
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.
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.public java.util.concurrent.Future<SetRepositoryPolicyResult> setRepositoryPolicyAsync(SetRepositoryPolicyRequest request)
AmazonECRAsync
Applies a repository policy on a specified repository to control access permissions.
setRepositoryPolicyAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<SetRepositoryPolicyResult> setRepositoryPolicyAsync(SetRepositoryPolicyRequest request, AsyncHandler<SetRepositoryPolicyRequest,SetRepositoryPolicyResult> asyncHandler)
AmazonECRAsync
Applies a repository policy on a specified repository to control access permissions.
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.public java.util.concurrent.Future<UploadLayerPartResult> uploadLayerPartAsync(UploadLayerPartRequest request)
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.
uploadLayerPartAsync
in interface AmazonECRAsync
public java.util.concurrent.Future<UploadLayerPartResult> uploadLayerPartAsync(UploadLayerPartRequest request, AsyncHandler<UploadLayerPartRequest,UploadLayerPartResult> asyncHandler)
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.
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.