/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace ECR
{
namespace Model
{
class BatchCheckLayerAvailabilityRequest;
class BatchDeleteImageRequest;
class BatchGetImageRequest;
class CompleteLayerUploadRequest;
class CreateRepositoryRequest;
class DeleteLifecyclePolicyRequest;
class DeleteRepositoryRequest;
class DeleteRepositoryPolicyRequest;
class DescribeImageScanFindingsRequest;
class DescribeImagesRequest;
class DescribeRepositoriesRequest;
class GetAuthorizationTokenRequest;
class GetDownloadUrlForLayerRequest;
class GetLifecyclePolicyRequest;
class GetLifecyclePolicyPreviewRequest;
class GetRepositoryPolicyRequest;
class InitiateLayerUploadRequest;
class ListImagesRequest;
class ListTagsForResourceRequest;
class PutImageRequest;
class PutImageScanningConfigurationRequest;
class PutImageTagMutabilityRequest;
class PutLifecyclePolicyRequest;
class SetRepositoryPolicyRequest;
class StartImageScanRequest;
class StartLifecyclePolicyPreviewRequest;
class TagResourceRequest;
class UntagResourceRequest;
class UploadLayerPartRequest;
typedef Aws::Utils::Outcome BatchCheckLayerAvailabilityOutcome;
typedef Aws::Utils::Outcome BatchDeleteImageOutcome;
typedef Aws::Utils::Outcome BatchGetImageOutcome;
typedef Aws::Utils::Outcome CompleteLayerUploadOutcome;
typedef Aws::Utils::Outcome CreateRepositoryOutcome;
typedef Aws::Utils::Outcome DeleteLifecyclePolicyOutcome;
typedef Aws::Utils::Outcome DeleteRepositoryOutcome;
typedef Aws::Utils::Outcome DeleteRepositoryPolicyOutcome;
typedef Aws::Utils::Outcome DescribeImageScanFindingsOutcome;
typedef Aws::Utils::Outcome DescribeImagesOutcome;
typedef Aws::Utils::Outcome DescribeRepositoriesOutcome;
typedef Aws::Utils::Outcome GetAuthorizationTokenOutcome;
typedef Aws::Utils::Outcome GetDownloadUrlForLayerOutcome;
typedef Aws::Utils::Outcome GetLifecyclePolicyOutcome;
typedef Aws::Utils::Outcome GetLifecyclePolicyPreviewOutcome;
typedef Aws::Utils::Outcome GetRepositoryPolicyOutcome;
typedef Aws::Utils::Outcome InitiateLayerUploadOutcome;
typedef Aws::Utils::Outcome ListImagesOutcome;
typedef Aws::Utils::Outcome ListTagsForResourceOutcome;
typedef Aws::Utils::Outcome PutImageOutcome;
typedef Aws::Utils::Outcome PutImageScanningConfigurationOutcome;
typedef Aws::Utils::Outcome PutImageTagMutabilityOutcome;
typedef Aws::Utils::Outcome PutLifecyclePolicyOutcome;
typedef Aws::Utils::Outcome SetRepositoryPolicyOutcome;
typedef Aws::Utils::Outcome StartImageScanOutcome;
typedef Aws::Utils::Outcome StartLifecyclePolicyPreviewOutcome;
typedef Aws::Utils::Outcome TagResourceOutcome;
typedef Aws::Utils::Outcome UntagResourceOutcome;
typedef Aws::Utils::Outcome UploadLayerPartOutcome;
typedef std::future BatchCheckLayerAvailabilityOutcomeCallable;
typedef std::future BatchDeleteImageOutcomeCallable;
typedef std::future BatchGetImageOutcomeCallable;
typedef std::future CompleteLayerUploadOutcomeCallable;
typedef std::future CreateRepositoryOutcomeCallable;
typedef std::future DeleteLifecyclePolicyOutcomeCallable;
typedef std::future DeleteRepositoryOutcomeCallable;
typedef std::future DeleteRepositoryPolicyOutcomeCallable;
typedef std::future DescribeImageScanFindingsOutcomeCallable;
typedef std::future DescribeImagesOutcomeCallable;
typedef std::future DescribeRepositoriesOutcomeCallable;
typedef std::future GetAuthorizationTokenOutcomeCallable;
typedef std::future GetDownloadUrlForLayerOutcomeCallable;
typedef std::future GetLifecyclePolicyOutcomeCallable;
typedef std::future GetLifecyclePolicyPreviewOutcomeCallable;
typedef std::future GetRepositoryPolicyOutcomeCallable;
typedef std::future InitiateLayerUploadOutcomeCallable;
typedef std::future ListImagesOutcomeCallable;
typedef std::future ListTagsForResourceOutcomeCallable;
typedef std::future PutImageOutcomeCallable;
typedef std::future PutImageScanningConfigurationOutcomeCallable;
typedef std::future PutImageTagMutabilityOutcomeCallable;
typedef std::future PutLifecyclePolicyOutcomeCallable;
typedef std::future SetRepositoryPolicyOutcomeCallable;
typedef std::future StartImageScanOutcomeCallable;
typedef std::future StartLifecyclePolicyPreviewOutcomeCallable;
typedef std::future TagResourceOutcomeCallable;
typedef std::future UntagResourceOutcomeCallable;
typedef std::future UploadLayerPartOutcomeCallable;
} // namespace Model
class ECRClient;
typedef std::function&) > BatchCheckLayerAvailabilityResponseReceivedHandler;
typedef std::function&) > BatchDeleteImageResponseReceivedHandler;
typedef std::function&) > BatchGetImageResponseReceivedHandler;
typedef std::function&) > CompleteLayerUploadResponseReceivedHandler;
typedef std::function&) > CreateRepositoryResponseReceivedHandler;
typedef std::function&) > DeleteLifecyclePolicyResponseReceivedHandler;
typedef std::function&) > DeleteRepositoryResponseReceivedHandler;
typedef std::function&) > DeleteRepositoryPolicyResponseReceivedHandler;
typedef std::function&) > DescribeImageScanFindingsResponseReceivedHandler;
typedef std::function&) > DescribeImagesResponseReceivedHandler;
typedef std::function&) > DescribeRepositoriesResponseReceivedHandler;
typedef std::function&) > GetAuthorizationTokenResponseReceivedHandler;
typedef std::function&) > GetDownloadUrlForLayerResponseReceivedHandler;
typedef std::function&) > GetLifecyclePolicyResponseReceivedHandler;
typedef std::function&) > GetLifecyclePolicyPreviewResponseReceivedHandler;
typedef std::function&) > GetRepositoryPolicyResponseReceivedHandler;
typedef std::function&) > InitiateLayerUploadResponseReceivedHandler;
typedef std::function&) > ListImagesResponseReceivedHandler;
typedef std::function&) > ListTagsForResourceResponseReceivedHandler;
typedef std::function&) > PutImageResponseReceivedHandler;
typedef std::function&) > PutImageScanningConfigurationResponseReceivedHandler;
typedef std::function&) > PutImageTagMutabilityResponseReceivedHandler;
typedef std::function&) > PutLifecyclePolicyResponseReceivedHandler;
typedef std::function&) > SetRepositoryPolicyResponseReceivedHandler;
typedef std::function&) > StartImageScanResponseReceivedHandler;
typedef std::function&) > StartLifecyclePolicyPreviewResponseReceivedHandler;
typedef std::function&) > TagResourceResponseReceivedHandler;
typedef std::function&) > UntagResourceResponseReceivedHandler;
typedef std::function&) > UploadLayerPartResponseReceivedHandler;
/**
* Amazon Elastic Container Registry Amazon Elastic
* Container Registry (Amazon ECR) is a managed container image registry service.
* Customers can use the familiar Docker CLI, or their preferred client, to push,
* pull, and manage images. Amazon ECR provides a secure, scalable, and reliable
* registry for your Docker or Open Container Initiative (OCI) images. Amazon ECR
* supports private repositories with resource-based permissions using IAM so that
* specific users or Amazon EC2 instances can access repositories and images.
*/
class AWS_ECR_API ECRClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
ECRClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
ECRClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
ECRClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~ECRClient();
/**
* Checks the availability of one or more image layers in a repository.
* When an image is pushed to a repository, each image layer is checked to
* verify if it has been uploaded before. If it has been uploaded, then the image
* layer is skipped.
This operation is used by the Amazon ECR proxy
* and is not generally used by customers for pulling and pushing images. In most
* cases, you should use the docker CLI to pull, tag, and push
* images.
See Also:
AWS
* API Reference
*/
virtual Model::BatchCheckLayerAvailabilityOutcome BatchCheckLayerAvailability(const Model::BatchCheckLayerAvailabilityRequest& request) const;
/**
* Checks the availability of one or more image layers in a repository.
* When an image is pushed to a repository, each image layer is checked to
* verify if it has been uploaded before. If it has been uploaded, then the image
* layer is skipped.
This operation is used by the Amazon ECR proxy
* and is not generally used by customers for pulling and pushing images. In most
* cases, you should use the docker CLI to pull, tag, and push
* images.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::BatchCheckLayerAvailabilityOutcomeCallable BatchCheckLayerAvailabilityCallable(const Model::BatchCheckLayerAvailabilityRequest& request) const;
/**
* Checks the availability of one or more image layers in a repository.
* When an image is pushed to a repository, each image layer is checked to
* verify if it has been uploaded before. If it has been uploaded, then the image
* layer is skipped.
This operation is used by the Amazon ECR proxy
* and is not generally used by customers for pulling and pushing images. In most
* cases, you should use the docker CLI to pull, tag, and push
* images.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void BatchCheckLayerAvailabilityAsync(const Model::BatchCheckLayerAvailabilityRequest& request, const BatchCheckLayerAvailabilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes a list of specified images within a repository. Images are specified
* with either an imageTag or imageDigest.
You can
* remove a tag from an image by specifying the image's tag in your request. When
* you remove the last tag from an image, the image is deleted from your
* repository.
You can completely delete an image (and all of its tags) by
* specifying the image's digest in your request.
See Also:
AWS
* API Reference
*/
virtual Model::BatchDeleteImageOutcome BatchDeleteImage(const Model::BatchDeleteImageRequest& request) const;
/**
* Deletes a list of specified images within a repository. Images are specified
* with either an imageTag or imageDigest.
You can
* remove a tag from an image by specifying the image's tag in your request. When
* you remove the last tag from an image, the image is deleted from your
* repository.
You can completely delete an image (and all of its tags) by
* specifying the image's digest in your request.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::BatchDeleteImageOutcomeCallable BatchDeleteImageCallable(const Model::BatchDeleteImageRequest& request) const;
/**
* Deletes a list of specified images within a repository. Images are specified
* with either an imageTag or imageDigest.
You can
* remove a tag from an image by specifying the image's tag in your request. When
* you remove the last tag from an image, the image is deleted from your
* repository.
You can completely delete an image (and all of its tags) by
* specifying the image's digest in your request.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void BatchDeleteImageAsync(const Model::BatchDeleteImageRequest& request, const BatchDeleteImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets detailed information for an image. Images are specified with either an
* imageTag or imageDigest.
When an image is
* pulled, the BatchGetImage API is called once to retrieve the image
* manifest.
See Also:
AWS
* API Reference
*/
virtual Model::BatchGetImageOutcome BatchGetImage(const Model::BatchGetImageRequest& request) const;
/**
* Gets detailed information for an image. Images are specified with either an
* imageTag or imageDigest.
When an image is
* pulled, the BatchGetImage API is called once to retrieve the image
* manifest.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::BatchGetImageOutcomeCallable BatchGetImageCallable(const Model::BatchGetImageRequest& request) const;
/**
* Gets detailed information for an image. Images are specified with either an
* imageTag or imageDigest.
When an image is
* pulled, the BatchGetImage API is called once to retrieve the image
* manifest.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void BatchGetImageAsync(const Model::BatchGetImageRequest& request, const BatchGetImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Informs Amazon ECR that the image layer upload has completed for a specified
* registry, repository name, and upload ID. You can optionally provide a
* sha256 digest of the image layer for data validation purposes.
* When an image is pushed, the CompleteLayerUpload API is called once per each
* new image layer to verify that the upload has completed.
This
* operation is used by the Amazon ECR proxy and is not generally used by customers
* for pulling and pushing images. In most cases, you should use the
* docker CLI to pull, tag, and push images.
See
* Also:
AWS
* API Reference
*/
virtual Model::CompleteLayerUploadOutcome CompleteLayerUpload(const Model::CompleteLayerUploadRequest& request) const;
/**
* Informs Amazon ECR that the image layer upload has completed for a specified
* registry, repository name, and upload ID. You can optionally provide a
* sha256 digest of the image layer for data validation purposes.
* When an image is pushed, the CompleteLayerUpload API is called once per each
* new image layer to verify that the upload has completed.
This
* operation is used by the Amazon ECR proxy and is not generally used by customers
* for pulling and pushing images. In most cases, you should use the
* docker CLI to pull, tag, and push images.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CompleteLayerUploadOutcomeCallable CompleteLayerUploadCallable(const Model::CompleteLayerUploadRequest& request) const;
/**
* Informs Amazon ECR that the image layer upload has completed for a specified
* registry, repository name, and upload ID. You can optionally provide a
* sha256 digest of the image layer for data validation purposes.
* When an image is pushed, the CompleteLayerUpload API is called once per each
* new image layer to verify that the upload has completed.
This
* operation is used by the Amazon ECR proxy and is not generally used by customers
* for pulling and pushing images. In most cases, you should use the
* docker CLI to pull, tag, and push images.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CompleteLayerUploadAsync(const Model::CompleteLayerUploadRequest& request, const CompleteLayerUploadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates a repository. For more information, see Amazon
* ECR Repositories in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::CreateRepositoryOutcome CreateRepository(const Model::CreateRepositoryRequest& request) const;
/**
* Creates a repository. For more information, see Amazon
* ECR Repositories in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateRepositoryOutcomeCallable CreateRepositoryCallable(const Model::CreateRepositoryRequest& request) const;
/**
* Creates a repository. For more information, see Amazon
* ECR Repositories in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateRepositoryAsync(const Model::CreateRepositoryRequest& request, const CreateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes the lifecycle policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteLifecyclePolicyOutcome DeleteLifecyclePolicy(const Model::DeleteLifecyclePolicyRequest& request) const;
/**
* Deletes the lifecycle policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteLifecyclePolicyOutcomeCallable DeleteLifecyclePolicyCallable(const Model::DeleteLifecyclePolicyRequest& request) const;
/**
* Deletes the lifecycle policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteLifecyclePolicyAsync(const Model::DeleteLifecyclePolicyRequest& request, const DeleteLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes a repository. If the repository contains images, you must either
* delete all images in the repository or use the force option to
* delete the repository.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRepositoryOutcome DeleteRepository(const Model::DeleteRepositoryRequest& request) const;
/**
* Deletes a repository. If the repository contains images, you must either
* delete all images in the repository or use the force option to
* delete the repository.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteRepositoryOutcomeCallable DeleteRepositoryCallable(const Model::DeleteRepositoryRequest& request) const;
/**
* Deletes a repository. If the repository contains images, you must either
* delete all images in the repository or use the force option to
* delete the repository.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteRepositoryAsync(const Model::DeleteRepositoryRequest& request, const DeleteRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes the repository policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRepositoryPolicyOutcome DeleteRepositoryPolicy(const Model::DeleteRepositoryPolicyRequest& request) const;
/**
* Deletes the repository policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteRepositoryPolicyOutcomeCallable DeleteRepositoryPolicyCallable(const Model::DeleteRepositoryPolicyRequest& request) const;
/**
* Deletes the repository policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteRepositoryPolicyAsync(const Model::DeleteRepositoryPolicyRequest& request, const DeleteRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Returns the scan findings for the specified image.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeImageScanFindingsOutcome DescribeImageScanFindings(const Model::DescribeImageScanFindingsRequest& request) const;
/**
* Returns the scan findings for the specified image.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeImageScanFindingsOutcomeCallable DescribeImageScanFindingsCallable(const Model::DescribeImageScanFindingsRequest& request) const;
/**
* Returns the scan findings for the specified image.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeImageScanFindingsAsync(const Model::DescribeImageScanFindingsRequest& request, const DescribeImageScanFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Returns metadata about the images in a repository.
Beginning
* with Docker version 1.9, the Docker client compresses image layers before
* pushing them to a V2 Docker registry. The output of the docker
* images command shows the uncompressed image size, so it may return a
* larger image size than the image sizes returned by DescribeImages.
* See Also:
AWS
* API Reference
*/
virtual Model::DescribeImagesOutcome DescribeImages(const Model::DescribeImagesRequest& request) const;
/**
* Returns metadata about the images in a repository.
Beginning
* with Docker version 1.9, the Docker client compresses image layers before
* pushing them to a V2 Docker registry. The output of the docker
* images command shows the uncompressed image size, so it may return a
* larger image size than the image sizes returned by DescribeImages.
* See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeImagesOutcomeCallable DescribeImagesCallable(const Model::DescribeImagesRequest& request) const;
/**
* Returns metadata about the images in a repository.
Beginning
* with Docker version 1.9, the Docker client compresses image layers before
* pushing them to a V2 Docker registry. The output of the docker
* images command shows the uncompressed image size, so it may return a
* larger image size than the image sizes returned by DescribeImages.
* See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeImagesAsync(const Model::DescribeImagesRequest& request, const DescribeImagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Describes image repositories in a registry.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeRepositoriesOutcome DescribeRepositories(const Model::DescribeRepositoriesRequest& request) const;
/**
* Describes image repositories in a registry.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeRepositoriesOutcomeCallable DescribeRepositoriesCallable(const Model::DescribeRepositoriesRequest& request) const;
/**
* Describes image repositories in a registry.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeRepositoriesAsync(const Model::DescribeRepositoriesRequest& request, const DescribeRepositoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieves an authorization token. An authorization token represents your IAM
* authentication credentials and can be used to access any Amazon ECR registry
* that your IAM principal has access to. The authorization token is valid for 12
* hours.
The authorizationToken returned 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
* get-login-password command that simplifies the login process. For
* more information, see Registry
* Authentication in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::GetAuthorizationTokenOutcome GetAuthorizationToken(const Model::GetAuthorizationTokenRequest& request) const;
/**
* Retrieves an authorization token. An authorization token represents your IAM
* authentication credentials and can be used to access any Amazon ECR registry
* that your IAM principal has access to. The authorization token is valid for 12
* hours.
The authorizationToken returned 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
* get-login-password command that simplifies the login process. For
* more information, see Registry
* Authentication in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetAuthorizationTokenOutcomeCallable GetAuthorizationTokenCallable(const Model::GetAuthorizationTokenRequest& request) const;
/**
* Retrieves an authorization token. An authorization token represents your IAM
* authentication credentials and can be used to access any Amazon ECR registry
* that your IAM principal has access to. The authorization token is valid for 12
* hours.
The authorizationToken returned 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
* get-login-password command that simplifies the login process. For
* more information, see Registry
* Authentication in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetAuthorizationTokenAsync(const Model::GetAuthorizationTokenRequest& request, const GetAuthorizationTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
When an image is pulled, the GetDownloadUrlForLayer API is called
* once per image layer that is not already cached.
This operation is
* used by the Amazon ECR proxy and is not generally used by customers for pulling
* and pushing images. In most cases, you should use the docker CLI to
* pull, tag, and push images.
See Also:
AWS
* API Reference
*/
virtual Model::GetDownloadUrlForLayerOutcome GetDownloadUrlForLayer(const Model::GetDownloadUrlForLayerRequest& request) const;
/**
* 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.
When an image is pulled, the GetDownloadUrlForLayer API is called
* once per image layer that is not already cached.
This operation is
* used by the Amazon ECR proxy and is not generally used by customers for pulling
* and pushing images. In most cases, you should use the docker CLI to
* pull, tag, and push images.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetDownloadUrlForLayerOutcomeCallable GetDownloadUrlForLayerCallable(const Model::GetDownloadUrlForLayerRequest& request) const;
/**
* 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.
When an image is pulled, the GetDownloadUrlForLayer API is called
* once per image layer that is not already cached.
This operation is
* used by the Amazon ECR proxy and is not generally used by customers for pulling
* and pushing images. In most cases, you should use the docker CLI to
* pull, tag, and push images.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetDownloadUrlForLayerAsync(const Model::GetDownloadUrlForLayerRequest& request, const GetDownloadUrlForLayerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieves the lifecycle policy for the specified repository.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetLifecyclePolicyOutcome GetLifecyclePolicy(const Model::GetLifecyclePolicyRequest& request) const;
/**
* Retrieves the lifecycle policy for the specified repository.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetLifecyclePolicyOutcomeCallable GetLifecyclePolicyCallable(const Model::GetLifecyclePolicyRequest& request) const;
/**
* Retrieves the lifecycle policy for the specified repository.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetLifecyclePolicyAsync(const Model::GetLifecyclePolicyRequest& request, const GetLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieves the results of the lifecycle policy preview request for the
* specified repository.
See Also:
AWS
* API Reference
*/
virtual Model::GetLifecyclePolicyPreviewOutcome GetLifecyclePolicyPreview(const Model::GetLifecyclePolicyPreviewRequest& request) const;
/**
* Retrieves the results of the lifecycle policy preview request for the
* specified repository.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetLifecyclePolicyPreviewOutcomeCallable GetLifecyclePolicyPreviewCallable(const Model::GetLifecyclePolicyPreviewRequest& request) const;
/**
* Retrieves the results of the lifecycle policy preview request for the
* specified repository.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetLifecyclePolicyPreviewAsync(const Model::GetLifecyclePolicyPreviewRequest& request, const GetLifecyclePolicyPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieves the repository policy for the specified repository.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetRepositoryPolicyOutcome GetRepositoryPolicy(const Model::GetRepositoryPolicyRequest& request) const;
/**
* Retrieves the repository policy for the specified repository.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetRepositoryPolicyOutcomeCallable GetRepositoryPolicyCallable(const Model::GetRepositoryPolicyRequest& request) const;
/**
* Retrieves the repository policy for the specified repository.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetRepositoryPolicyAsync(const Model::GetRepositoryPolicyRequest& request, const GetRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Notifies Amazon ECR that you intend to upload an image layer.
When an
* image is pushed, the InitiateLayerUpload API is called once per image layer that
* has not already been uploaded. Whether or not an image layer has been uploaded
* is determined by the BatchCheckLayerAvailability API action.
This
* operation is used by the Amazon ECR proxy and is not generally used by customers
* for pulling and pushing images. In most cases, you should use the
* docker CLI to pull, tag, and push images.
See
* Also:
AWS
* API Reference
*/
virtual Model::InitiateLayerUploadOutcome InitiateLayerUpload(const Model::InitiateLayerUploadRequest& request) const;
/**
* Notifies Amazon ECR that you intend to upload an image layer.
When an
* image is pushed, the InitiateLayerUpload API is called once per image layer that
* has not already been uploaded. Whether or not an image layer has been uploaded
* is determined by the BatchCheckLayerAvailability API action.
This
* operation is used by the Amazon ECR proxy and is not generally used by customers
* for pulling and pushing images. In most cases, you should use the
* docker CLI to pull, tag, and push images.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::InitiateLayerUploadOutcomeCallable InitiateLayerUploadCallable(const Model::InitiateLayerUploadRequest& request) const;
/**
* Notifies Amazon ECR that you intend to upload an image layer.
When an
* image is pushed, the InitiateLayerUpload API is called once per image layer that
* has not already been uploaded. Whether or not an image layer has been uploaded
* is determined by the BatchCheckLayerAvailability API action.
This
* operation is used by the Amazon ECR proxy and is not generally used by customers
* for pulling and pushing images. In most cases, you should use the
* docker CLI to pull, tag, and push images.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void InitiateLayerUploadAsync(const Model::InitiateLayerUploadRequest& request, const InitiateLayerUploadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists all the image IDs for the specified repository.
You can filter
* images based on whether or not they are tagged by using the
* tagStatus filter and specifying either TAGGED,
* UNTAGGED or ANY. For example, you can filter your
* results to return only UNTAGGED images and then pipe that result to
* a BatchDeleteImage operation to delete them. Or, you can filter your
* results to return only TAGGED images to list all of the tags in
* your repository.
See Also:
AWS API
* Reference
*/
virtual Model::ListImagesOutcome ListImages(const Model::ListImagesRequest& request) const;
/**
* Lists all the image IDs for the specified repository.
You can filter
* images based on whether or not they are tagged by using the
* tagStatus filter and specifying either TAGGED,
* UNTAGGED or ANY. For example, you can filter your
* results to return only UNTAGGED images and then pipe that result to
* a BatchDeleteImage operation to delete them. Or, you can filter your
* results to return only TAGGED images to list all of the tags in
* your repository.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListImagesOutcomeCallable ListImagesCallable(const Model::ListImagesRequest& request) const;
/**
* Lists all the image IDs for the specified repository.
You can filter
* images based on whether or not they are tagged by using the
* tagStatus filter and specifying either TAGGED,
* UNTAGGED or ANY. For example, you can filter your
* results to return only UNTAGGED images and then pipe that result to
* a BatchDeleteImage operation to delete them. Or, you can filter your
* results to return only TAGGED images to list all of the tags in
* your repository.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListImagesAsync(const Model::ListImagesRequest& request, const ListImagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* List the tags for an Amazon ECR resource.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* List the tags for an Amazon ECR resource.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
/**
* List the tags for an Amazon ECR resource.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates or updates the image manifest and tags associated with an image.
* When an image is pushed and all new image layers have been uploaded, the
* PutImage API is called once to create or update the image manifest and the tags
* associated with the image.
This operation is used by the Amazon
* ECR proxy and is not generally used by customers for pulling and pushing images.
* In most cases, you should use the docker CLI to pull, tag, and push
* images.
See Also:
AWS API
* Reference
*/
virtual Model::PutImageOutcome PutImage(const Model::PutImageRequest& request) const;
/**
* Creates or updates the image manifest and tags associated with an image.
* When an image is pushed and all new image layers have been uploaded, the
* PutImage API is called once to create or update the image manifest and the tags
* associated with the image.
This operation is used by the Amazon
* ECR proxy and is not generally used by customers for pulling and pushing images.
* In most cases, you should use the docker CLI to pull, tag, and push
* images.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutImageOutcomeCallable PutImageCallable(const Model::PutImageRequest& request) const;
/**
* Creates or updates the image manifest and tags associated with an image.
* When an image is pushed and all new image layers have been uploaded, the
* PutImage API is called once to create or update the image manifest and the tags
* associated with the image.
This operation is used by the Amazon
* ECR proxy and is not generally used by customers for pulling and pushing images.
* In most cases, you should use the docker CLI to pull, tag, and push
* images.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutImageAsync(const Model::PutImageRequest& request, const PutImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates the image scanning configuration for the specified
* repository.
See Also:
AWS
* API Reference
*/
virtual Model::PutImageScanningConfigurationOutcome PutImageScanningConfiguration(const Model::PutImageScanningConfigurationRequest& request) const;
/**
* Updates the image scanning configuration for the specified
* repository.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutImageScanningConfigurationOutcomeCallable PutImageScanningConfigurationCallable(const Model::PutImageScanningConfigurationRequest& request) const;
/**
* Updates the image scanning configuration for the specified
* repository.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutImageScanningConfigurationAsync(const Model::PutImageScanningConfigurationRequest& request, const PutImageScanningConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates the image tag mutability settings for the specified repository. For
* more information, see Image
* Tag Mutability in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::PutImageTagMutabilityOutcome PutImageTagMutability(const Model::PutImageTagMutabilityRequest& request) const;
/**
* Updates the image tag mutability settings for the specified repository. For
* more information, see Image
* Tag Mutability in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutImageTagMutabilityOutcomeCallable PutImageTagMutabilityCallable(const Model::PutImageTagMutabilityRequest& request) const;
/**
* Updates the image tag mutability settings for the specified repository. For
* more information, see Image
* Tag Mutability in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutImageTagMutabilityAsync(const Model::PutImageTagMutabilityRequest& request, const PutImageTagMutabilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates or updates the lifecycle policy for the specified repository. For
* more information, see Lifecycle
* Policy Template.
See Also:
AWS
* API Reference
*/
virtual Model::PutLifecyclePolicyOutcome PutLifecyclePolicy(const Model::PutLifecyclePolicyRequest& request) const;
/**
* Creates or updates the lifecycle policy for the specified repository. For
* more information, see Lifecycle
* Policy Template.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutLifecyclePolicyOutcomeCallable PutLifecyclePolicyCallable(const Model::PutLifecyclePolicyRequest& request) const;
/**
* Creates or updates the lifecycle policy for the specified repository. For
* more information, see Lifecycle
* Policy Template.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutLifecyclePolicyAsync(const Model::PutLifecyclePolicyRequest& request, const PutLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Applies a repository policy to the specified repository to control access
* permissions. For more information, see Amazon
* ECR Repository Policies in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::SetRepositoryPolicyOutcome SetRepositoryPolicy(const Model::SetRepositoryPolicyRequest& request) const;
/**
* Applies a repository policy to the specified repository to control access
* permissions. For more information, see Amazon
* ECR Repository Policies in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SetRepositoryPolicyOutcomeCallable SetRepositoryPolicyCallable(const Model::SetRepositoryPolicyRequest& request) const;
/**
* Applies a repository policy to the specified repository to control access
* permissions. For more information, see Amazon
* ECR Repository Policies in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SetRepositoryPolicyAsync(const Model::SetRepositoryPolicyRequest& request, const SetRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Starts an image vulnerability scan. An image scan can only be started once
* per day on an individual image. This limit includes if an image was scanned on
* initial push. For more information, see Image
* Scanning in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::StartImageScanOutcome StartImageScan(const Model::StartImageScanRequest& request) const;
/**
* Starts an image vulnerability scan. An image scan can only be started once
* per day on an individual image. This limit includes if an image was scanned on
* initial push. For more information, see Image
* Scanning in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartImageScanOutcomeCallable StartImageScanCallable(const Model::StartImageScanRequest& request) const;
/**
* Starts an image vulnerability scan. An image scan can only be started once
* per day on an individual image. This limit includes if an image was scanned on
* initial push. For more information, see Image
* Scanning in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartImageScanAsync(const Model::StartImageScanRequest& request, const StartImageScanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Starts a preview of a lifecycle policy for the specified repository. This
* allows you to see the results before associating the lifecycle policy with the
* repository.
See Also:
AWS
* API Reference
*/
virtual Model::StartLifecyclePolicyPreviewOutcome StartLifecyclePolicyPreview(const Model::StartLifecyclePolicyPreviewRequest& request) const;
/**
* Starts a preview of a lifecycle policy for the specified repository. This
* allows you to see the results before associating the lifecycle policy with the
* repository.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartLifecyclePolicyPreviewOutcomeCallable StartLifecyclePolicyPreviewCallable(const Model::StartLifecyclePolicyPreviewRequest& request) const;
/**
* Starts a preview of a lifecycle policy for the specified repository. This
* allows you to see the results before associating the lifecycle policy with the
* repository.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartLifecyclePolicyPreviewAsync(const Model::StartLifecyclePolicyPreviewRequest& request, const StartLifecyclePolicyPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Adds specified tags to a resource with the specified ARN. Existing tags on a
* resource are not changed if they are not specified in the request
* parameters.
See Also:
AWS API
* Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* Adds specified tags to a resource with the specified ARN. Existing tags on a
* resource are not changed if they are not specified in the request
* parameters.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
/**
* Adds specified tags to a resource with the specified ARN. Existing tags on a
* resource are not changed if they are not specified in the request
* parameters.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes specified tags from a resource.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* Deletes specified tags from a resource.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
/**
* Deletes specified tags from a resource.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Uploads an image layer part to Amazon ECR.
When an image is pushed,
* each new image layer is uploaded in parts. The maximum size of each image layer
* part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called
* once per each new image layer part.
This operation is used by the
* Amazon ECR proxy and is not generally used by customers for pulling and pushing
* images. In most cases, you should use the docker CLI to pull, tag,
* and push images.
See Also:
AWS
* API Reference
*/
virtual Model::UploadLayerPartOutcome UploadLayerPart(const Model::UploadLayerPartRequest& request) const;
/**
* Uploads an image layer part to Amazon ECR.
When an image is pushed,
* each new image layer is uploaded in parts. The maximum size of each image layer
* part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called
* once per each new image layer part.
This operation is used by the
* Amazon ECR proxy and is not generally used by customers for pulling and pushing
* images. In most cases, you should use the docker CLI to pull, tag,
* and push images.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UploadLayerPartOutcomeCallable UploadLayerPartCallable(const Model::UploadLayerPartRequest& request) const;
/**
* Uploads an image layer part to Amazon ECR.
When an image is pushed,
* each new image layer is uploaded in parts. The maximum size of each image layer
* part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called
* once per each new image layer part.
This operation is used by the
* Amazon ECR proxy and is not generally used by customers for pulling and pushing
* images. In most cases, you should use the docker CLI to pull, tag,
* and push images.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UploadLayerPartAsync(const Model::UploadLayerPartRequest& request, const UploadLayerPartResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void BatchCheckLayerAvailabilityAsyncHelper(const Model::BatchCheckLayerAvailabilityRequest& request, const BatchCheckLayerAvailabilityResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void BatchDeleteImageAsyncHelper(const Model::BatchDeleteImageRequest& request, const BatchDeleteImageResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void BatchGetImageAsyncHelper(const Model::BatchGetImageRequest& request, const BatchGetImageResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CompleteLayerUploadAsyncHelper(const Model::CompleteLayerUploadRequest& request, const CompleteLayerUploadResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateRepositoryAsyncHelper(const Model::CreateRepositoryRequest& request, const CreateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteLifecyclePolicyAsyncHelper(const Model::DeleteLifecyclePolicyRequest& request, const DeleteLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteRepositoryAsyncHelper(const Model::DeleteRepositoryRequest& request, const DeleteRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteRepositoryPolicyAsyncHelper(const Model::DeleteRepositoryPolicyRequest& request, const DeleteRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeImageScanFindingsAsyncHelper(const Model::DescribeImageScanFindingsRequest& request, const DescribeImageScanFindingsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeImagesAsyncHelper(const Model::DescribeImagesRequest& request, const DescribeImagesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeRepositoriesAsyncHelper(const Model::DescribeRepositoriesRequest& request, const DescribeRepositoriesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetAuthorizationTokenAsyncHelper(const Model::GetAuthorizationTokenRequest& request, const GetAuthorizationTokenResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetDownloadUrlForLayerAsyncHelper(const Model::GetDownloadUrlForLayerRequest& request, const GetDownloadUrlForLayerResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetLifecyclePolicyAsyncHelper(const Model::GetLifecyclePolicyRequest& request, const GetLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetLifecyclePolicyPreviewAsyncHelper(const Model::GetLifecyclePolicyPreviewRequest& request, const GetLifecyclePolicyPreviewResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetRepositoryPolicyAsyncHelper(const Model::GetRepositoryPolicyRequest& request, const GetRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void InitiateLayerUploadAsyncHelper(const Model::InitiateLayerUploadRequest& request, const InitiateLayerUploadResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListImagesAsyncHelper(const Model::ListImagesRequest& request, const ListImagesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PutImageAsyncHelper(const Model::PutImageRequest& request, const PutImageResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PutImageScanningConfigurationAsyncHelper(const Model::PutImageScanningConfigurationRequest& request, const PutImageScanningConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PutImageTagMutabilityAsyncHelper(const Model::PutImageTagMutabilityRequest& request, const PutImageTagMutabilityResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PutLifecyclePolicyAsyncHelper(const Model::PutLifecyclePolicyRequest& request, const PutLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void SetRepositoryPolicyAsyncHelper(const Model::SetRepositoryPolicyRequest& request, const SetRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StartImageScanAsyncHelper(const Model::StartImageScanRequest& request, const StartImageScanResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StartLifecyclePolicyPreviewAsyncHelper(const Model::StartLifecyclePolicyPreviewRequest& request, const StartLifecyclePolicyPreviewResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UploadLayerPartAsyncHelper(const Model::UploadLayerPartRequest& request, const UploadLayerPartResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace ECR
} // namespace Aws