/**
* 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 ECRPublic
{
/**
* Amazon Elastic Container Registry Public Amazon Elastic
* Container Registry Public (Amazon ECR Public) is a managed container image
* registry service. Amazon ECR provides both public and private registries to host
* your container images. You can use the Docker CLI or your 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 public repositories with this API. For information about the
* Amazon ECR API for private repositories, see Amazon
* Elastic Container Registry API Reference.
*/
class AWS_ECRPUBLIC_API ECRPublicClient : 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 ECRPublicClientConfiguration ClientConfigurationType;
typedef ECRPublicEndpointProvider 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.
*/
ECRPublicClient(const Aws::ECRPublic::ECRPublicClientConfiguration& clientConfiguration = Aws::ECRPublic::ECRPublicClientConfiguration(),
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.
*/
ECRPublicClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ECRPublic::ECRPublicClientConfiguration& clientConfiguration = Aws::ECRPublic::ECRPublicClientConfiguration());
/**
* 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
*/
ECRPublicClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ECRPublic::ECRPublicClientConfiguration& clientConfiguration = Aws::ECRPublic::ECRPublicClientConfiguration());
/* 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.
*/
ECRPublicClient(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.
*/
ECRPublicClient(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
*/
ECRPublicClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~ECRPublicClient();
/**
* Checks the availability of one or more image layers that are within a
* repository in a public registry. 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(&ECRPublicClient::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(&ECRPublicClient::BatchCheckLayerAvailability, request, handler, context);
}
/**
* Deletes a list of specified images that are within a repository in a public
* registry. 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 digest of the image 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(&ECRPublicClient::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(&ECRPublicClient::BatchDeleteImage, request, handler, context);
}
/**
* Informs Amazon ECR that the image layer upload is complete for a specified
* public 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 for each
* new image layer to verify that the upload is complete.
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(&ECRPublicClient::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(&ECRPublicClient::CompleteLayerUpload, request, handler, context);
}
/**
* Creates a repository in a public registry. 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(&ECRPublicClient::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(&ECRPublicClient::CreateRepository, request, handler, context);
}
/**
* Deletes a repository in a public registry. If the repository contains images,
* you must either manually delete all images in the repository or use the
* force
option. This option deletes all images on your behalf before
* deleting 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(&ECRPublicClient::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(&ECRPublicClient::DeleteRepository, request, handler, context);
}
/**
* Deletes the repository policy that's 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(&ECRPublicClient::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(&ECRPublicClient::DeleteRepositoryPolicy, request, handler, context);
}
/**
* Returns the image tag details for a repository in a public
* registry.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeImageTagsOutcome DescribeImageTags(const Model::DescribeImageTagsRequest& request) const;
/**
* A Callable wrapper for DescribeImageTags that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeImageTagsOutcomeCallable DescribeImageTagsCallable(const DescribeImageTagsRequestT& request) const
{
return SubmitCallable(&ECRPublicClient::DescribeImageTags, request);
}
/**
* An Async wrapper for DescribeImageTags that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeImageTagsAsync(const DescribeImageTagsRequestT& request, const DescribeImageTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRPublicClient::DescribeImageTags, request, handler, context);
}
/**
* Returns metadata that's related to the images in a repository in a public
* registry.
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.
* Therefore, it might return a larger image size than the image sizes that are
* 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(&ECRPublicClient::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(&ECRPublicClient::DescribeImages, request, handler, context);
}
/**
* Returns details for a public registry.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeRegistriesOutcome DescribeRegistries(const Model::DescribeRegistriesRequest& request) const;
/**
* A Callable wrapper for DescribeRegistries that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRegistriesOutcomeCallable DescribeRegistriesCallable(const DescribeRegistriesRequestT& request) const
{
return SubmitCallable(&ECRPublicClient::DescribeRegistries, request);
}
/**
* An Async wrapper for DescribeRegistries that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRegistriesAsync(const DescribeRegistriesRequestT& request, const DescribeRegistriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRPublicClient::DescribeRegistries, request, handler, context);
}
/**
* Describes repositories that are in a public 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(&ECRPublicClient::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(&ECRPublicClient::DescribeRepositories, request, handler, context);
}
/**
* Retrieves an authorization token. An authorization token represents your IAM
* authentication credentials. You can use it to access any Amazon ECR registry
* that your IAM principal has access to. The authorization token is valid for 12
* hours. This API requires the ecr-public:GetAuthorizationToken
and
* sts:GetServiceBearerToken
permissions.
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(&ECRPublicClient::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(&ECRPublicClient::GetAuthorizationToken, request, handler, context);
}
/**
* Retrieves catalog metadata for a public registry.
See Also:
* AWS
* API Reference
*/
virtual Model::GetRegistryCatalogDataOutcome GetRegistryCatalogData(const Model::GetRegistryCatalogDataRequest& request) const;
/**
* A Callable wrapper for GetRegistryCatalogData that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRegistryCatalogDataOutcomeCallable GetRegistryCatalogDataCallable(const GetRegistryCatalogDataRequestT& request) const
{
return SubmitCallable(&ECRPublicClient::GetRegistryCatalogData, request);
}
/**
* An Async wrapper for GetRegistryCatalogData that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRegistryCatalogDataAsync(const GetRegistryCatalogDataRequestT& request, const GetRegistryCatalogDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRPublicClient::GetRegistryCatalogData, request, handler, context);
}
/**
* Retrieve catalog metadata for a repository in a public registry. This
* metadata is displayed publicly in the Amazon ECR Public Gallery.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetRepositoryCatalogDataOutcome GetRepositoryCatalogData(const Model::GetRepositoryCatalogDataRequest& request) const;
/**
* A Callable wrapper for GetRepositoryCatalogData that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRepositoryCatalogDataOutcomeCallable GetRepositoryCatalogDataCallable(const GetRepositoryCatalogDataRequestT& request) const
{
return SubmitCallable(&ECRPublicClient::GetRepositoryCatalogData, request);
}
/**
* An Async wrapper for GetRepositoryCatalogData that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRepositoryCatalogDataAsync(const GetRepositoryCatalogDataRequestT& request, const GetRepositoryCatalogDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRPublicClient::GetRepositoryCatalogData, 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(&ECRPublicClient::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(&ECRPublicClient::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 for each image layer
* that hasn't already been uploaded. Whether an image layer uploads 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(&ECRPublicClient::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(&ECRPublicClient::InitiateLayerUpload, request, handler, context);
}
/**
* List the tags for an Amazon ECR Public 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(&ECRPublicClient::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(&ECRPublicClient::ListTagsForResource, request, handler, context);
}
/**
* Creates or updates the image manifest and tags that are 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 that are 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(&ECRPublicClient::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(&ECRPublicClient::PutImage, request, handler, context);
}
/**
* Create or update the catalog data for a public registry.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutRegistryCatalogDataOutcome PutRegistryCatalogData(const Model::PutRegistryCatalogDataRequest& request) const;
/**
* A Callable wrapper for PutRegistryCatalogData that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutRegistryCatalogDataOutcomeCallable PutRegistryCatalogDataCallable(const PutRegistryCatalogDataRequestT& request) const
{
return SubmitCallable(&ECRPublicClient::PutRegistryCatalogData, request);
}
/**
* An Async wrapper for PutRegistryCatalogData that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutRegistryCatalogDataAsync(const PutRegistryCatalogDataRequestT& request, const PutRegistryCatalogDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRPublicClient::PutRegistryCatalogData, request, handler, context);
}
/**
* Creates or updates the catalog data for a repository in a public
* registry.
See Also:
AWS
* API Reference
*/
virtual Model::PutRepositoryCatalogDataOutcome PutRepositoryCatalogData(const Model::PutRepositoryCatalogDataRequest& request) const;
/**
* A Callable wrapper for PutRepositoryCatalogData that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutRepositoryCatalogDataOutcomeCallable PutRepositoryCatalogDataCallable(const PutRepositoryCatalogDataRequestT& request) const
{
return SubmitCallable(&ECRPublicClient::PutRepositoryCatalogData, request);
}
/**
* An Async wrapper for PutRepositoryCatalogData that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutRepositoryCatalogDataAsync(const PutRepositoryCatalogDataRequestT& request, const PutRepositoryCatalogDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ECRPublicClient::PutRepositoryCatalogData, request, handler, context);
}
/**
* Applies a repository policy to the specified public 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(&ECRPublicClient::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(&ECRPublicClient::SetRepositoryPolicy, request, handler, context);
}
/**
* Associates the specified tags to a resource with the specified
* resourceArn
. If existing tags on a resource aren't specified in the
* request parameters, they aren't changed. When a resource is deleted, the tags
* associated with that resource are also deleted.
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(&ECRPublicClient::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(&ECRPublicClient::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(&ECRPublicClient::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(&ECRPublicClient::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 (about 20MB). The UploadLayerPart API is called once
* for 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(&ECRPublicClient::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(&ECRPublicClient::UploadLayerPart, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const ECRPublicClientConfiguration& clientConfiguration);
ECRPublicClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace ECRPublic
} // namespace Aws