/** * 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