/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace ECR
{
/**
* 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.
* Amazon ECR has service endpoints in each supported Region. For more
* information, see Amazon ECR
* endpoints in the Amazon Web Services General Reference.
*/
class AWS_ECR_API ECRClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef ECRClientConfiguration ClientConfigurationType;
typedef ECREndpointProvider EndpointProviderType;
/**
* 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::ECR::ECRClientConfiguration& clientConfiguration = Aws::ECR::ECRClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* 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,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ECR::ECRClientConfiguration& clientConfiguration = Aws::ECR::ECRClientConfiguration());
/**
* 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,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ECR::ECRClientConfiguration& clientConfiguration = Aws::ECR::ECRClientConfiguration());
/* Legacy constructors due deprecation */
/**
* 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);
/**
* 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);
/**
* 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);
/* End of legacy constructors due deprecation */
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;
/**
* A Callable wrapper for BatchCheckLayerAvailability that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchCheckLayerAvailabilityOutcomeCallable BatchCheckLayerAvailabilityCallable(const BatchCheckLayerAvailabilityRequestT& request) const
{
return SubmitCallable(&ECRClient::BatchCheckLayerAvailability, request);
}
/**
* An Async wrapper for BatchCheckLayerAvailability that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchCheckLayerAvailabilityAsync(const BatchCheckLayerAvailabilityRequestT& request, const BatchCheckLayerAvailabilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::BatchCheckLayerAvailability, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for BatchDeleteImage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchDeleteImageOutcomeCallable BatchDeleteImageCallable(const BatchDeleteImageRequestT& request) const
{
return SubmitCallable(&ECRClient::BatchDeleteImage, request);
}
/**
* An Async wrapper for BatchDeleteImage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchDeleteImageAsync(const BatchDeleteImageRequestT& request, const BatchDeleteImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::BatchDeleteImage, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for BatchGetImage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchGetImageOutcomeCallable BatchGetImageCallable(const BatchGetImageRequestT& request) const
{
return SubmitCallable(&ECRClient::BatchGetImage, request);
}
/**
* An Async wrapper for BatchGetImage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchGetImageAsync(const BatchGetImageRequestT& request, const BatchGetImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::BatchGetImage, request, handler, context);
}
/**
* Gets the scanning configuration for one or more repositories.
See
* Also:
AWS
* API Reference
*/
virtual Model::BatchGetRepositoryScanningConfigurationOutcome BatchGetRepositoryScanningConfiguration(const Model::BatchGetRepositoryScanningConfigurationRequest& request) const;
/**
* A Callable wrapper for BatchGetRepositoryScanningConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchGetRepositoryScanningConfigurationOutcomeCallable BatchGetRepositoryScanningConfigurationCallable(const BatchGetRepositoryScanningConfigurationRequestT& request) const
{
return SubmitCallable(&ECRClient::BatchGetRepositoryScanningConfiguration, request);
}
/**
* An Async wrapper for BatchGetRepositoryScanningConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchGetRepositoryScanningConfigurationAsync(const BatchGetRepositoryScanningConfigurationRequestT& request, const BatchGetRepositoryScanningConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::BatchGetRepositoryScanningConfiguration, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for CompleteLayerUpload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CompleteLayerUploadOutcomeCallable CompleteLayerUploadCallable(const CompleteLayerUploadRequestT& request) const
{
return SubmitCallable(&ECRClient::CompleteLayerUpload, request);
}
/**
* An Async wrapper for CompleteLayerUpload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CompleteLayerUploadAsync(const CompleteLayerUploadRequestT& request, const CompleteLayerUploadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::CompleteLayerUpload, request, handler, context);
}
/**
* Creates a pull through cache rule. A pull through cache rule provides a way
* to cache images from an external public registry in your Amazon ECR private
* registry.
See Also:
AWS
* API Reference
*/
virtual Model::CreatePullThroughCacheRuleOutcome CreatePullThroughCacheRule(const Model::CreatePullThroughCacheRuleRequest& request) const;
/**
* A Callable wrapper for CreatePullThroughCacheRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreatePullThroughCacheRuleOutcomeCallable CreatePullThroughCacheRuleCallable(const CreatePullThroughCacheRuleRequestT& request) const
{
return SubmitCallable(&ECRClient::CreatePullThroughCacheRule, request);
}
/**
* An Async wrapper for CreatePullThroughCacheRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreatePullThroughCacheRuleAsync(const CreatePullThroughCacheRuleRequestT& request, const CreatePullThroughCacheRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::CreatePullThroughCacheRule, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for CreateRepository that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateRepositoryOutcomeCallable CreateRepositoryCallable(const CreateRepositoryRequestT& request) const
{
return SubmitCallable(&ECRClient::CreateRepository, request);
}
/**
* An Async wrapper for CreateRepository that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateRepositoryAsync(const CreateRepositoryRequestT& request, const CreateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::CreateRepository, request, handler, context);
}
/**
* Deletes the lifecycle policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteLifecyclePolicyOutcome DeleteLifecyclePolicy(const Model::DeleteLifecyclePolicyRequest& request) const;
/**
* A Callable wrapper for DeleteLifecyclePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteLifecyclePolicyOutcomeCallable DeleteLifecyclePolicyCallable(const DeleteLifecyclePolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::DeleteLifecyclePolicy, request);
}
/**
* An Async wrapper for DeleteLifecyclePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteLifecyclePolicyAsync(const DeleteLifecyclePolicyRequestT& request, const DeleteLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DeleteLifecyclePolicy, request, handler, context);
}
/**
* Deletes a pull through cache rule.
See Also:
AWS
* API Reference
*/
virtual Model::DeletePullThroughCacheRuleOutcome DeletePullThroughCacheRule(const Model::DeletePullThroughCacheRuleRequest& request) const;
/**
* A Callable wrapper for DeletePullThroughCacheRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeletePullThroughCacheRuleOutcomeCallable DeletePullThroughCacheRuleCallable(const DeletePullThroughCacheRuleRequestT& request) const
{
return SubmitCallable(&ECRClient::DeletePullThroughCacheRule, request);
}
/**
* An Async wrapper for DeletePullThroughCacheRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeletePullThroughCacheRuleAsync(const DeletePullThroughCacheRuleRequestT& request, const DeletePullThroughCacheRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DeletePullThroughCacheRule, request, handler, context);
}
/**
* Deletes the registry permissions policy.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRegistryPolicyOutcome DeleteRegistryPolicy(const Model::DeleteRegistryPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteRegistryPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRegistryPolicyOutcomeCallable DeleteRegistryPolicyCallable(const DeleteRegistryPolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::DeleteRegistryPolicy, request);
}
/**
* An Async wrapper for DeleteRegistryPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRegistryPolicyAsync(const DeleteRegistryPolicyRequestT& request, const DeleteRegistryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DeleteRegistryPolicy, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for DeleteRepository that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRepositoryOutcomeCallable DeleteRepositoryCallable(const DeleteRepositoryRequestT& request) const
{
return SubmitCallable(&ECRClient::DeleteRepository, request);
}
/**
* An Async wrapper for DeleteRepository that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRepositoryAsync(const DeleteRepositoryRequestT& request, const DeleteRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DeleteRepository, request, handler, context);
}
/**
* Deletes the repository policy associated with the specified
* repository.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRepositoryPolicyOutcome DeleteRepositoryPolicy(const Model::DeleteRepositoryPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteRepositoryPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRepositoryPolicyOutcomeCallable DeleteRepositoryPolicyCallable(const DeleteRepositoryPolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::DeleteRepositoryPolicy, request);
}
/**
* An Async wrapper for DeleteRepositoryPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRepositoryPolicyAsync(const DeleteRepositoryPolicyRequestT& request, const DeleteRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DeleteRepositoryPolicy, request, handler, context);
}
/**
* Returns the replication status for a specified image.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeImageReplicationStatusOutcome DescribeImageReplicationStatus(const Model::DescribeImageReplicationStatusRequest& request) const;
/**
* A Callable wrapper for DescribeImageReplicationStatus that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeImageReplicationStatusOutcomeCallable DescribeImageReplicationStatusCallable(const DescribeImageReplicationStatusRequestT& request) const
{
return SubmitCallable(&ECRClient::DescribeImageReplicationStatus, request);
}
/**
* An Async wrapper for DescribeImageReplicationStatus that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeImageReplicationStatusAsync(const DescribeImageReplicationStatusRequestT& request, const DescribeImageReplicationStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DescribeImageReplicationStatus, request, handler, context);
}
/**
* Returns the scan findings for the specified image.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeImageScanFindingsOutcome DescribeImageScanFindings(const Model::DescribeImageScanFindingsRequest& request) const;
/**
* A Callable wrapper for DescribeImageScanFindings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeImageScanFindingsOutcomeCallable DescribeImageScanFindingsCallable(const DescribeImageScanFindingsRequestT& request) const
{
return SubmitCallable(&ECRClient::DescribeImageScanFindings, request);
}
/**
* An Async wrapper for DescribeImageScanFindings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeImageScanFindingsAsync(const DescribeImageScanFindingsRequestT& request, const DescribeImageScanFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DescribeImageScanFindings, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for DescribeImages that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeImagesOutcomeCallable DescribeImagesCallable(const DescribeImagesRequestT& request) const
{
return SubmitCallable(&ECRClient::DescribeImages, request);
}
/**
* An Async wrapper for DescribeImages that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeImagesAsync(const DescribeImagesRequestT& request, const DescribeImagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DescribeImages, request, handler, context);
}
/**
* Returns the pull through cache rules for a registry.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribePullThroughCacheRulesOutcome DescribePullThroughCacheRules(const Model::DescribePullThroughCacheRulesRequest& request) const;
/**
* A Callable wrapper for DescribePullThroughCacheRules that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribePullThroughCacheRulesOutcomeCallable DescribePullThroughCacheRulesCallable(const DescribePullThroughCacheRulesRequestT& request) const
{
return SubmitCallable(&ECRClient::DescribePullThroughCacheRules, request);
}
/**
* An Async wrapper for DescribePullThroughCacheRules that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribePullThroughCacheRulesAsync(const DescribePullThroughCacheRulesRequestT& request, const DescribePullThroughCacheRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DescribePullThroughCacheRules, request, handler, context);
}
/**
* Describes the settings for a registry. The replication configuration for a
* repository can be created or updated with the PutReplicationConfiguration
* API action.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeRegistryOutcome DescribeRegistry(const Model::DescribeRegistryRequest& request) const;
/**
* A Callable wrapper for DescribeRegistry that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRegistryOutcomeCallable DescribeRegistryCallable(const DescribeRegistryRequestT& request) const
{
return SubmitCallable(&ECRClient::DescribeRegistry, request);
}
/**
* An Async wrapper for DescribeRegistry that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRegistryAsync(const DescribeRegistryRequestT& request, const DescribeRegistryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DescribeRegistry, request, handler, context);
}
/**
* Describes image repositories in a registry.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeRepositoriesOutcome DescribeRepositories(const Model::DescribeRepositoriesRequest& request) const;
/**
* A Callable wrapper for DescribeRepositories that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRepositoriesOutcomeCallable DescribeRepositoriesCallable(const DescribeRepositoriesRequestT& request) const
{
return SubmitCallable(&ECRClient::DescribeRepositories, request);
}
/**
* An Async wrapper for DescribeRepositories that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRepositoriesAsync(const DescribeRepositoriesRequestT& request, const DescribeRepositoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::DescribeRepositories, request, handler, context);
}
/**
* 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 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;
/**
* A Callable wrapper for GetAuthorizationToken that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAuthorizationTokenOutcomeCallable GetAuthorizationTokenCallable(const GetAuthorizationTokenRequestT& request) const
{
return SubmitCallable(&ECRClient::GetAuthorizationToken, request);
}
/**
* An Async wrapper for GetAuthorizationToken that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAuthorizationTokenAsync(const GetAuthorizationTokenRequestT& request, const GetAuthorizationTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetAuthorizationToken, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for GetDownloadUrlForLayer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDownloadUrlForLayerOutcomeCallable GetDownloadUrlForLayerCallable(const GetDownloadUrlForLayerRequestT& request) const
{
return SubmitCallable(&ECRClient::GetDownloadUrlForLayer, request);
}
/**
* An Async wrapper for GetDownloadUrlForLayer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDownloadUrlForLayerAsync(const GetDownloadUrlForLayerRequestT& request, const GetDownloadUrlForLayerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetDownloadUrlForLayer, request, handler, context);
}
/**
* Retrieves the lifecycle policy for the specified repository.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetLifecyclePolicyOutcome GetLifecyclePolicy(const Model::GetLifecyclePolicyRequest& request) const;
/**
* A Callable wrapper for GetLifecyclePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLifecyclePolicyOutcomeCallable GetLifecyclePolicyCallable(const GetLifecyclePolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::GetLifecyclePolicy, request);
}
/**
* An Async wrapper for GetLifecyclePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLifecyclePolicyAsync(const GetLifecyclePolicyRequestT& request, const GetLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetLifecyclePolicy, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for GetLifecyclePolicyPreview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLifecyclePolicyPreviewOutcomeCallable GetLifecyclePolicyPreviewCallable(const GetLifecyclePolicyPreviewRequestT& request) const
{
return SubmitCallable(&ECRClient::GetLifecyclePolicyPreview, request);
}
/**
* An Async wrapper for GetLifecyclePolicyPreview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLifecyclePolicyPreviewAsync(const GetLifecyclePolicyPreviewRequestT& request, const GetLifecyclePolicyPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetLifecyclePolicyPreview, request, handler, context);
}
/**
* Retrieves the permissions policy for a registry.
See Also:
* AWS
* API Reference
*/
virtual Model::GetRegistryPolicyOutcome GetRegistryPolicy(const Model::GetRegistryPolicyRequest& request) const;
/**
* A Callable wrapper for GetRegistryPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRegistryPolicyOutcomeCallable GetRegistryPolicyCallable(const GetRegistryPolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::GetRegistryPolicy, request);
}
/**
* An Async wrapper for GetRegistryPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRegistryPolicyAsync(const GetRegistryPolicyRequestT& request, const GetRegistryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetRegistryPolicy, request, handler, context);
}
/**
* Retrieves the scanning configuration for a registry.
See Also:
* AWS
* API Reference
*/
virtual Model::GetRegistryScanningConfigurationOutcome GetRegistryScanningConfiguration(const Model::GetRegistryScanningConfigurationRequest& request) const;
/**
* A Callable wrapper for GetRegistryScanningConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRegistryScanningConfigurationOutcomeCallable GetRegistryScanningConfigurationCallable(const GetRegistryScanningConfigurationRequestT& request) const
{
return SubmitCallable(&ECRClient::GetRegistryScanningConfiguration, request);
}
/**
* An Async wrapper for GetRegistryScanningConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRegistryScanningConfigurationAsync(const GetRegistryScanningConfigurationRequestT& request, const GetRegistryScanningConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetRegistryScanningConfiguration, request, handler, context);
}
/**
* Retrieves the repository policy for the specified repository.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetRepositoryPolicyOutcome GetRepositoryPolicy(const Model::GetRepositoryPolicyRequest& request) const;
/**
* A Callable wrapper for GetRepositoryPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRepositoryPolicyOutcomeCallable GetRepositoryPolicyCallable(const GetRepositoryPolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::GetRepositoryPolicy, request);
}
/**
* An Async wrapper for GetRepositoryPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRepositoryPolicyAsync(const GetRepositoryPolicyRequestT& request, const GetRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::GetRepositoryPolicy, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for InitiateLayerUpload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::InitiateLayerUploadOutcomeCallable InitiateLayerUploadCallable(const InitiateLayerUploadRequestT& request) const
{
return SubmitCallable(&ECRClient::InitiateLayerUpload, request);
}
/**
* An Async wrapper for InitiateLayerUpload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void InitiateLayerUploadAsync(const InitiateLayerUploadRequestT& request, const InitiateLayerUploadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::InitiateLayerUpload, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for ListImages that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListImagesOutcomeCallable ListImagesCallable(const ListImagesRequestT& request) const
{
return SubmitCallable(&ECRClient::ListImages, request);
}
/**
* An Async wrapper for ListImages that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListImagesAsync(const ListImagesRequestT& request, const ListImagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::ListImages, request, handler, context);
}
/**
* List the tags for an Amazon ECR resource.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&ECRClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::ListTagsForResource, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for PutImage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutImageOutcomeCallable PutImageCallable(const PutImageRequestT& request) const
{
return SubmitCallable(&ECRClient::PutImage, request);
}
/**
* An Async wrapper for PutImage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutImageAsync(const PutImageRequestT& request, const PutImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutImage, request, handler, context);
}
/**
* The PutImageScanningConfiguration
API is being
* deprecated, in favor of specifying the image scanning configuration at the
* registry level. For more information, see
* PutRegistryScanningConfiguration.
Updates the image
* scanning configuration for the specified repository.
See Also:
* AWS
* API Reference
*/
virtual Model::PutImageScanningConfigurationOutcome PutImageScanningConfiguration(const Model::PutImageScanningConfigurationRequest& request) const;
/**
* A Callable wrapper for PutImageScanningConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutImageScanningConfigurationOutcomeCallable PutImageScanningConfigurationCallable(const PutImageScanningConfigurationRequestT& request) const
{
return SubmitCallable(&ECRClient::PutImageScanningConfiguration, request);
}
/**
* An Async wrapper for PutImageScanningConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutImageScanningConfigurationAsync(const PutImageScanningConfigurationRequestT& request, const PutImageScanningConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutImageScanningConfiguration, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for PutImageTagMutability that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutImageTagMutabilityOutcomeCallable PutImageTagMutabilityCallable(const PutImageTagMutabilityRequestT& request) const
{
return SubmitCallable(&ECRClient::PutImageTagMutability, request);
}
/**
* An Async wrapper for PutImageTagMutability that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutImageTagMutabilityAsync(const PutImageTagMutabilityRequestT& request, const PutImageTagMutabilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutImageTagMutability, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for PutLifecyclePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutLifecyclePolicyOutcomeCallable PutLifecyclePolicyCallable(const PutLifecyclePolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::PutLifecyclePolicy, request);
}
/**
* An Async wrapper for PutLifecyclePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutLifecyclePolicyAsync(const PutLifecyclePolicyRequestT& request, const PutLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutLifecyclePolicy, request, handler, context);
}
/**
* Creates or updates the permissions policy for your registry.
A
* registry policy is used to specify permissions for another Amazon Web Services
* account and is used when configuring cross-account replication. For more
* information, see Registry
* permissions in the Amazon Elastic Container Registry User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::PutRegistryPolicyOutcome PutRegistryPolicy(const Model::PutRegistryPolicyRequest& request) const;
/**
* A Callable wrapper for PutRegistryPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutRegistryPolicyOutcomeCallable PutRegistryPolicyCallable(const PutRegistryPolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::PutRegistryPolicy, request);
}
/**
* An Async wrapper for PutRegistryPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutRegistryPolicyAsync(const PutRegistryPolicyRequestT& request, const PutRegistryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutRegistryPolicy, request, handler, context);
}
/**
* Creates or updates the scanning configuration for your private
* registry.
See Also:
AWS
* API Reference
*/
virtual Model::PutRegistryScanningConfigurationOutcome PutRegistryScanningConfiguration(const Model::PutRegistryScanningConfigurationRequest& request) const;
/**
* A Callable wrapper for PutRegistryScanningConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutRegistryScanningConfigurationOutcomeCallable PutRegistryScanningConfigurationCallable(const PutRegistryScanningConfigurationRequestT& request) const
{
return SubmitCallable(&ECRClient::PutRegistryScanningConfiguration, request);
}
/**
* An Async wrapper for PutRegistryScanningConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutRegistryScanningConfigurationAsync(const PutRegistryScanningConfigurationRequestT& request, const PutRegistryScanningConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutRegistryScanningConfiguration, request, handler, context);
}
/**
* Creates or updates the replication configuration for a registry. The existing
* replication configuration for a repository can be retrieved with the
* DescribeRegistry API action. The first time the
* PutReplicationConfiguration API is called, a service-linked IAM role is created
* in your account for the replication process. For more information, see Using
* service-linked roles for Amazon ECR in the Amazon Elastic Container
* Registry User Guide.
When configuring cross-account
* replication, the destination account must grant the source account permission to
* replicate. This permission is controlled using a registry permissions policy.
* For more information, see PutRegistryPolicy.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutReplicationConfigurationOutcome PutReplicationConfiguration(const Model::PutReplicationConfigurationRequest& request) const;
/**
* A Callable wrapper for PutReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutReplicationConfigurationOutcomeCallable PutReplicationConfigurationCallable(const PutReplicationConfigurationRequestT& request) const
{
return SubmitCallable(&ECRClient::PutReplicationConfiguration, request);
}
/**
* An Async wrapper for PutReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutReplicationConfigurationAsync(const PutReplicationConfigurationRequestT& request, const PutReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::PutReplicationConfiguration, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for SetRepositoryPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SetRepositoryPolicyOutcomeCallable SetRepositoryPolicyCallable(const SetRepositoryPolicyRequestT& request) const
{
return SubmitCallable(&ECRClient::SetRepositoryPolicy, request);
}
/**
* An Async wrapper for SetRepositoryPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SetRepositoryPolicyAsync(const SetRepositoryPolicyRequestT& request, const SetRepositoryPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::SetRepositoryPolicy, request, handler, context);
}
/**
* Starts an image vulnerability scan. An image scan can only be started once
* per 24 hours 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;
/**
* A Callable wrapper for StartImageScan that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartImageScanOutcomeCallable StartImageScanCallable(const StartImageScanRequestT& request) const
{
return SubmitCallable(&ECRClient::StartImageScan, request);
}
/**
* An Async wrapper for StartImageScan that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartImageScanAsync(const StartImageScanRequestT& request, const StartImageScanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::StartImageScan, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for StartLifecyclePolicyPreview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartLifecyclePolicyPreviewOutcomeCallable StartLifecyclePolicyPreviewCallable(const StartLifecyclePolicyPreviewRequestT& request) const
{
return SubmitCallable(&ECRClient::StartLifecyclePolicyPreview, request);
}
/**
* An Async wrapper for StartLifecyclePolicyPreview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartLifecyclePolicyPreviewAsync(const StartLifecyclePolicyPreviewRequestT& request, const StartLifecyclePolicyPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::StartLifecyclePolicyPreview, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&ECRClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::TagResource, request, handler, context);
}
/**
* Deletes specified tags from a resource.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&ECRClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::UntagResource, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for UploadLayerPart that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UploadLayerPartOutcomeCallable UploadLayerPartCallable(const UploadLayerPartRequestT& request) const
{
return SubmitCallable(&ECRClient::UploadLayerPart, request);
}
/**
* An Async wrapper for UploadLayerPart that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UploadLayerPartAsync(const UploadLayerPartRequestT& request, const UploadLayerPartResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRClient::UploadLayerPart, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const ECRClientConfiguration& clientConfiguration);
ECRClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace ECR
} // namespace Aws