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

EC2 Image Builder is a fully managed Amazon Web Services service that makes * it easier to automate the creation, management, and deployment of customized, * secure, and up-to-date "golden" server images that are pre-installed and * pre-configured with software and settings to meet specific IT standards.

*/ class AWS_IMAGEBUILDER_API ImagebuilderClient : 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 ImagebuilderClientConfiguration ClientConfigurationType; typedef ImagebuilderEndpointProvider 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. */ ImagebuilderClient(const Aws::imagebuilder::ImagebuilderClientConfiguration& clientConfiguration = Aws::imagebuilder::ImagebuilderClientConfiguration(), 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. */ ImagebuilderClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::imagebuilder::ImagebuilderClientConfiguration& clientConfiguration = Aws::imagebuilder::ImagebuilderClientConfiguration()); /** * 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 */ ImagebuilderClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::imagebuilder::ImagebuilderClientConfiguration& clientConfiguration = Aws::imagebuilder::ImagebuilderClientConfiguration()); /* 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. */ ImagebuilderClient(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. */ ImagebuilderClient(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 */ ImagebuilderClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~ImagebuilderClient(); /** *

CancelImageCreation cancels the creation of Image. This operation can only be * used on images in a non-terminal state.

See Also:

AWS * API Reference

*/ virtual Model::CancelImageCreationOutcome CancelImageCreation(const Model::CancelImageCreationRequest& request) const; /** * A Callable wrapper for CancelImageCreation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CancelImageCreationOutcomeCallable CancelImageCreationCallable(const CancelImageCreationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CancelImageCreation, request); } /** * An Async wrapper for CancelImageCreation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CancelImageCreationAsync(const CancelImageCreationRequestT& request, const CancelImageCreationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CancelImageCreation, request, handler, context); } /** *

Creates a new component that can be used to build, validate, test, and assess * your image. The component is based on a YAML document that you specify using * exactly one of the following methods:

  • Inline, using the * data property in the request body.

  • A URL that * points to a YAML document file stored in Amazon S3, using the uri * property in the request body.

See Also:

AWS * API Reference

*/ virtual Model::CreateComponentOutcome CreateComponent(const Model::CreateComponentRequest& request) const; /** * A Callable wrapper for CreateComponent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateComponentOutcomeCallable CreateComponentCallable(const CreateComponentRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateComponent, request); } /** * An Async wrapper for CreateComponent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateComponentAsync(const CreateComponentRequestT& request, const CreateComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateComponent, request, handler, context); } /** *

Creates a new container recipe. Container recipes define how images are * configured, tested, and assessed.

See Also:

AWS * API Reference

*/ virtual Model::CreateContainerRecipeOutcome CreateContainerRecipe(const Model::CreateContainerRecipeRequest& request) const; /** * A Callable wrapper for CreateContainerRecipe that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContainerRecipeOutcomeCallable CreateContainerRecipeCallable(const CreateContainerRecipeRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateContainerRecipe, request); } /** * An Async wrapper for CreateContainerRecipe that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContainerRecipeAsync(const CreateContainerRecipeRequestT& request, const CreateContainerRecipeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateContainerRecipe, request, handler, context); } /** *

Creates a new distribution configuration. Distribution configurations define * and configure the outputs of your pipeline.

See Also:

AWS * API Reference

*/ virtual Model::CreateDistributionConfigurationOutcome CreateDistributionConfiguration(const Model::CreateDistributionConfigurationRequest& request) const; /** * A Callable wrapper for CreateDistributionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDistributionConfigurationOutcomeCallable CreateDistributionConfigurationCallable(const CreateDistributionConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateDistributionConfiguration, request); } /** * An Async wrapper for CreateDistributionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDistributionConfigurationAsync(const CreateDistributionConfigurationRequestT& request, const CreateDistributionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateDistributionConfiguration, request, handler, context); } /** *

Creates a new image. This request will create a new image along with all of * the configured output resources defined in the distribution configuration. You * must specify exactly one recipe for your image, using either a * ContainerRecipeArn or an ImageRecipeArn.

See Also:

AWS * API Reference

*/ virtual Model::CreateImageOutcome CreateImage(const Model::CreateImageRequest& request) const; /** * A Callable wrapper for CreateImage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateImageOutcomeCallable CreateImageCallable(const CreateImageRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateImage, request); } /** * An Async wrapper for CreateImage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateImageAsync(const CreateImageRequestT& request, const CreateImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateImage, request, handler, context); } /** *

Creates a new image pipeline. Image pipelines enable you to automate the * creation and distribution of images.

See Also:

AWS * API Reference

*/ virtual Model::CreateImagePipelineOutcome CreateImagePipeline(const Model::CreateImagePipelineRequest& request) const; /** * A Callable wrapper for CreateImagePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateImagePipelineOutcomeCallable CreateImagePipelineCallable(const CreateImagePipelineRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateImagePipeline, request); } /** * An Async wrapper for CreateImagePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateImagePipelineAsync(const CreateImagePipelineRequestT& request, const CreateImagePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateImagePipeline, request, handler, context); } /** *

Creates a new image recipe. Image recipes define how images are configured, * tested, and assessed.

See Also:

AWS * API Reference

*/ virtual Model::CreateImageRecipeOutcome CreateImageRecipe(const Model::CreateImageRecipeRequest& request) const; /** * A Callable wrapper for CreateImageRecipe that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateImageRecipeOutcomeCallable CreateImageRecipeCallable(const CreateImageRecipeRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateImageRecipe, request); } /** * An Async wrapper for CreateImageRecipe that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateImageRecipeAsync(const CreateImageRecipeRequestT& request, const CreateImageRecipeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateImageRecipe, request, handler, context); } /** *

Creates a new infrastructure configuration. An infrastructure configuration * defines the environment in which your image will be built and * tested.

See Also:

AWS * API Reference

*/ virtual Model::CreateInfrastructureConfigurationOutcome CreateInfrastructureConfiguration(const Model::CreateInfrastructureConfigurationRequest& request) const; /** * A Callable wrapper for CreateInfrastructureConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateInfrastructureConfigurationOutcomeCallable CreateInfrastructureConfigurationCallable(const CreateInfrastructureConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::CreateInfrastructureConfiguration, request); } /** * An Async wrapper for CreateInfrastructureConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateInfrastructureConfigurationAsync(const CreateInfrastructureConfigurationRequestT& request, const CreateInfrastructureConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::CreateInfrastructureConfiguration, request, handler, context); } /** *

Deletes a component build version.

See Also:

AWS * API Reference

*/ virtual Model::DeleteComponentOutcome DeleteComponent(const Model::DeleteComponentRequest& request) const; /** * A Callable wrapper for DeleteComponent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteComponentOutcomeCallable DeleteComponentCallable(const DeleteComponentRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteComponent, request); } /** * An Async wrapper for DeleteComponent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteComponentAsync(const DeleteComponentRequestT& request, const DeleteComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteComponent, request, handler, context); } /** *

Deletes a container recipe.

See Also:

AWS * API Reference

*/ virtual Model::DeleteContainerRecipeOutcome DeleteContainerRecipe(const Model::DeleteContainerRecipeRequest& request) const; /** * A Callable wrapper for DeleteContainerRecipe that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContainerRecipeOutcomeCallable DeleteContainerRecipeCallable(const DeleteContainerRecipeRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteContainerRecipe, request); } /** * An Async wrapper for DeleteContainerRecipe that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContainerRecipeAsync(const DeleteContainerRecipeRequestT& request, const DeleteContainerRecipeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteContainerRecipe, request, handler, context); } /** *

Deletes a distribution configuration.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDistributionConfigurationOutcome DeleteDistributionConfiguration(const Model::DeleteDistributionConfigurationRequest& request) const; /** * A Callable wrapper for DeleteDistributionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDistributionConfigurationOutcomeCallable DeleteDistributionConfigurationCallable(const DeleteDistributionConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteDistributionConfiguration, request); } /** * An Async wrapper for DeleteDistributionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDistributionConfigurationAsync(const DeleteDistributionConfigurationRequestT& request, const DeleteDistributionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteDistributionConfiguration, request, handler, context); } /** *

Deletes an Image Builder image resource. This does not delete any EC2 AMIs or * ECR container images that are created during the image build process. You must * clean those up separately, using the appropriate Amazon EC2 or Amazon ECR * console actions, or API or CLI commands.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteImageOutcome DeleteImage(const Model::DeleteImageRequest& request) const; /** * A Callable wrapper for DeleteImage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteImageOutcomeCallable DeleteImageCallable(const DeleteImageRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteImage, request); } /** * An Async wrapper for DeleteImage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteImageAsync(const DeleteImageRequestT& request, const DeleteImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteImage, request, handler, context); } /** *

Deletes an image pipeline.

See Also:

AWS * API Reference

*/ virtual Model::DeleteImagePipelineOutcome DeleteImagePipeline(const Model::DeleteImagePipelineRequest& request) const; /** * A Callable wrapper for DeleteImagePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteImagePipelineOutcomeCallable DeleteImagePipelineCallable(const DeleteImagePipelineRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteImagePipeline, request); } /** * An Async wrapper for DeleteImagePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteImagePipelineAsync(const DeleteImagePipelineRequestT& request, const DeleteImagePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteImagePipeline, request, handler, context); } /** *

Deletes an image recipe.

See Also:

AWS * API Reference

*/ virtual Model::DeleteImageRecipeOutcome DeleteImageRecipe(const Model::DeleteImageRecipeRequest& request) const; /** * A Callable wrapper for DeleteImageRecipe that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteImageRecipeOutcomeCallable DeleteImageRecipeCallable(const DeleteImageRecipeRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteImageRecipe, request); } /** * An Async wrapper for DeleteImageRecipe that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteImageRecipeAsync(const DeleteImageRecipeRequestT& request, const DeleteImageRecipeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteImageRecipe, request, handler, context); } /** *

Deletes an infrastructure configuration.

See Also:

AWS * API Reference

*/ virtual Model::DeleteInfrastructureConfigurationOutcome DeleteInfrastructureConfiguration(const Model::DeleteInfrastructureConfigurationRequest& request) const; /** * A Callable wrapper for DeleteInfrastructureConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteInfrastructureConfigurationOutcomeCallable DeleteInfrastructureConfigurationCallable(const DeleteInfrastructureConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::DeleteInfrastructureConfiguration, request); } /** * An Async wrapper for DeleteInfrastructureConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteInfrastructureConfigurationAsync(const DeleteInfrastructureConfigurationRequestT& request, const DeleteInfrastructureConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::DeleteInfrastructureConfiguration, request, handler, context); } /** *

Gets a component object.

See Also:

AWS * API Reference

*/ virtual Model::GetComponentOutcome GetComponent(const Model::GetComponentRequest& request) const; /** * A Callable wrapper for GetComponent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetComponentOutcomeCallable GetComponentCallable(const GetComponentRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetComponent, request); } /** * An Async wrapper for GetComponent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetComponentAsync(const GetComponentRequestT& request, const GetComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetComponent, request, handler, context); } /** *

Gets a component policy.

See Also:

AWS * API Reference

*/ virtual Model::GetComponentPolicyOutcome GetComponentPolicy(const Model::GetComponentPolicyRequest& request) const; /** * A Callable wrapper for GetComponentPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetComponentPolicyOutcomeCallable GetComponentPolicyCallable(const GetComponentPolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetComponentPolicy, request); } /** * An Async wrapper for GetComponentPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetComponentPolicyAsync(const GetComponentPolicyRequestT& request, const GetComponentPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetComponentPolicy, request, handler, context); } /** *

Retrieves a container recipe.

See Also:

AWS * API Reference

*/ virtual Model::GetContainerRecipeOutcome GetContainerRecipe(const Model::GetContainerRecipeRequest& request) const; /** * A Callable wrapper for GetContainerRecipe that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContainerRecipeOutcomeCallable GetContainerRecipeCallable(const GetContainerRecipeRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetContainerRecipe, request); } /** * An Async wrapper for GetContainerRecipe that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContainerRecipeAsync(const GetContainerRecipeRequestT& request, const GetContainerRecipeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetContainerRecipe, request, handler, context); } /** *

Retrieves the policy for a container recipe.

See Also:

AWS * API Reference

*/ virtual Model::GetContainerRecipePolicyOutcome GetContainerRecipePolicy(const Model::GetContainerRecipePolicyRequest& request) const; /** * A Callable wrapper for GetContainerRecipePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContainerRecipePolicyOutcomeCallable GetContainerRecipePolicyCallable(const GetContainerRecipePolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetContainerRecipePolicy, request); } /** * An Async wrapper for GetContainerRecipePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContainerRecipePolicyAsync(const GetContainerRecipePolicyRequestT& request, const GetContainerRecipePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetContainerRecipePolicy, request, handler, context); } /** *

Gets a distribution configuration.

See Also:

AWS * API Reference

*/ virtual Model::GetDistributionConfigurationOutcome GetDistributionConfiguration(const Model::GetDistributionConfigurationRequest& request) const; /** * A Callable wrapper for GetDistributionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDistributionConfigurationOutcomeCallable GetDistributionConfigurationCallable(const GetDistributionConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetDistributionConfiguration, request); } /** * An Async wrapper for GetDistributionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDistributionConfigurationAsync(const GetDistributionConfigurationRequestT& request, const GetDistributionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetDistributionConfiguration, request, handler, context); } /** *

Gets an image.

See Also:

AWS * API Reference

*/ virtual Model::GetImageOutcome GetImage(const Model::GetImageRequest& request) const; /** * A Callable wrapper for GetImage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImageOutcomeCallable GetImageCallable(const GetImageRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetImage, request); } /** * An Async wrapper for GetImage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImageAsync(const GetImageRequestT& request, const GetImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetImage, request, handler, context); } /** *

Gets an image pipeline.

See Also:

AWS * API Reference

*/ virtual Model::GetImagePipelineOutcome GetImagePipeline(const Model::GetImagePipelineRequest& request) const; /** * A Callable wrapper for GetImagePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImagePipelineOutcomeCallable GetImagePipelineCallable(const GetImagePipelineRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetImagePipeline, request); } /** * An Async wrapper for GetImagePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImagePipelineAsync(const GetImagePipelineRequestT& request, const GetImagePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetImagePipeline, request, handler, context); } /** *

Gets an image policy.

See Also:

AWS * API Reference

*/ virtual Model::GetImagePolicyOutcome GetImagePolicy(const Model::GetImagePolicyRequest& request) const; /** * A Callable wrapper for GetImagePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImagePolicyOutcomeCallable GetImagePolicyCallable(const GetImagePolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetImagePolicy, request); } /** * An Async wrapper for GetImagePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImagePolicyAsync(const GetImagePolicyRequestT& request, const GetImagePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetImagePolicy, request, handler, context); } /** *

Gets an image recipe.

See Also:

AWS * API Reference

*/ virtual Model::GetImageRecipeOutcome GetImageRecipe(const Model::GetImageRecipeRequest& request) const; /** * A Callable wrapper for GetImageRecipe that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImageRecipeOutcomeCallable GetImageRecipeCallable(const GetImageRecipeRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetImageRecipe, request); } /** * An Async wrapper for GetImageRecipe that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImageRecipeAsync(const GetImageRecipeRequestT& request, const GetImageRecipeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetImageRecipe, request, handler, context); } /** *

Gets an image recipe policy.

See Also:

AWS * API Reference

*/ virtual Model::GetImageRecipePolicyOutcome GetImageRecipePolicy(const Model::GetImageRecipePolicyRequest& request) const; /** * A Callable wrapper for GetImageRecipePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImageRecipePolicyOutcomeCallable GetImageRecipePolicyCallable(const GetImageRecipePolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetImageRecipePolicy, request); } /** * An Async wrapper for GetImageRecipePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImageRecipePolicyAsync(const GetImageRecipePolicyRequestT& request, const GetImageRecipePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetImageRecipePolicy, request, handler, context); } /** *

Gets an infrastructure configuration.

See Also:

AWS * API Reference

*/ virtual Model::GetInfrastructureConfigurationOutcome GetInfrastructureConfiguration(const Model::GetInfrastructureConfigurationRequest& request) const; /** * A Callable wrapper for GetInfrastructureConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetInfrastructureConfigurationOutcomeCallable GetInfrastructureConfigurationCallable(const GetInfrastructureConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetInfrastructureConfiguration, request); } /** * An Async wrapper for GetInfrastructureConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetInfrastructureConfigurationAsync(const GetInfrastructureConfigurationRequestT& request, const GetInfrastructureConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetInfrastructureConfiguration, request, handler, context); } /** *

Get the runtime information that was logged for a specific runtime instance * of the workflow.

See Also:

AWS * API Reference

*/ virtual Model::GetWorkflowExecutionOutcome GetWorkflowExecution(const Model::GetWorkflowExecutionRequest& request) const; /** * A Callable wrapper for GetWorkflowExecution that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetWorkflowExecutionOutcomeCallable GetWorkflowExecutionCallable(const GetWorkflowExecutionRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetWorkflowExecution, request); } /** * An Async wrapper for GetWorkflowExecution that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetWorkflowExecutionAsync(const GetWorkflowExecutionRequestT& request, const GetWorkflowExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetWorkflowExecution, request, handler, context); } /** *

Get the runtime information that was logged for a specific runtime instance * of the workflow step.

See Also:

AWS * API Reference

*/ virtual Model::GetWorkflowStepExecutionOutcome GetWorkflowStepExecution(const Model::GetWorkflowStepExecutionRequest& request) const; /** * A Callable wrapper for GetWorkflowStepExecution that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetWorkflowStepExecutionOutcomeCallable GetWorkflowStepExecutionCallable(const GetWorkflowStepExecutionRequestT& request) const { return SubmitCallable(&ImagebuilderClient::GetWorkflowStepExecution, request); } /** * An Async wrapper for GetWorkflowStepExecution that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetWorkflowStepExecutionAsync(const GetWorkflowStepExecutionRequestT& request, const GetWorkflowStepExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::GetWorkflowStepExecution, request, handler, context); } /** *

Imports a component and transforms its data into a component * document.

See Also:

AWS * API Reference

*/ virtual Model::ImportComponentOutcome ImportComponent(const Model::ImportComponentRequest& request) const; /** * A Callable wrapper for ImportComponent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportComponentOutcomeCallable ImportComponentCallable(const ImportComponentRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ImportComponent, request); } /** * An Async wrapper for ImportComponent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportComponentAsync(const ImportComponentRequestT& request, const ImportComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ImportComponent, request, handler, context); } /** *

When you export your virtual machine (VM) from its virtualization * environment, that process creates a set of one or more disk container files that * act as snapshots of your VM’s environment, settings, and data. The Amazon EC2 * API ImportImage * action uses those files to import your VM and create an AMI. To import using the * CLI command, see import-image *

You can reference the task ID from the VM import to pull in the AMI that * the import created as the base image for your Image Builder * recipe.

See Also:

AWS * API Reference

*/ virtual Model::ImportVmImageOutcome ImportVmImage(const Model::ImportVmImageRequest& request) const; /** * A Callable wrapper for ImportVmImage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportVmImageOutcomeCallable ImportVmImageCallable(const ImportVmImageRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ImportVmImage, request); } /** * An Async wrapper for ImportVmImage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportVmImageAsync(const ImportVmImageRequestT& request, const ImportVmImageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ImportVmImage, request, handler, context); } /** *

Returns the list of component build versions for the specified semantic * version.

The semantic version has four nodes: * <major>.<minor>.<patch>/<build>. You can assign values * for the first three, and can filter on all of them.

Filtering: * With semantic versioning, you have the flexibility to use wildcards (x) to * specify the most recent versions or nodes when selecting the base image or * components for your recipe. When you use a wildcard in any node, all nodes to * the right of the first wildcard must also be wildcards.

See * Also:

AWS * API Reference

*/ virtual Model::ListComponentBuildVersionsOutcome ListComponentBuildVersions(const Model::ListComponentBuildVersionsRequest& request) const; /** * A Callable wrapper for ListComponentBuildVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListComponentBuildVersionsOutcomeCallable ListComponentBuildVersionsCallable(const ListComponentBuildVersionsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListComponentBuildVersions, request); } /** * An Async wrapper for ListComponentBuildVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListComponentBuildVersionsAsync(const ListComponentBuildVersionsRequestT& request, const ListComponentBuildVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListComponentBuildVersions, request, handler, context); } /** *

Returns the list of components that can be filtered by name, or by using the * listed filters to streamline results. Newly created components can * take up to two minutes to appear in the ListComponents API Results.

*

The semantic version has four nodes: * <major>.<minor>.<patch>/<build>. You can assign values * for the first three, and can filter on all of them.

Filtering: * With semantic versioning, you have the flexibility to use wildcards (x) to * specify the most recent versions or nodes when selecting the base image or * components for your recipe. When you use a wildcard in any node, all nodes to * the right of the first wildcard must also be wildcards.

See * Also:

AWS * API Reference

*/ virtual Model::ListComponentsOutcome ListComponents(const Model::ListComponentsRequest& request) const; /** * A Callable wrapper for ListComponents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListComponentsOutcomeCallable ListComponentsCallable(const ListComponentsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListComponents, request); } /** * An Async wrapper for ListComponents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListComponentsAsync(const ListComponentsRequestT& request, const ListComponentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListComponents, request, handler, context); } /** *

Returns a list of container recipes.

See Also:

AWS * API Reference

*/ virtual Model::ListContainerRecipesOutcome ListContainerRecipes(const Model::ListContainerRecipesRequest& request) const; /** * A Callable wrapper for ListContainerRecipes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContainerRecipesOutcomeCallable ListContainerRecipesCallable(const ListContainerRecipesRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListContainerRecipes, request); } /** * An Async wrapper for ListContainerRecipes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContainerRecipesAsync(const ListContainerRecipesRequestT& request, const ListContainerRecipesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListContainerRecipes, request, handler, context); } /** *

Returns a list of distribution configurations.

See Also:

AWS * API Reference

*/ virtual Model::ListDistributionConfigurationsOutcome ListDistributionConfigurations(const Model::ListDistributionConfigurationsRequest& request) const; /** * A Callable wrapper for ListDistributionConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDistributionConfigurationsOutcomeCallable ListDistributionConfigurationsCallable(const ListDistributionConfigurationsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListDistributionConfigurations, request); } /** * An Async wrapper for ListDistributionConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDistributionConfigurationsAsync(const ListDistributionConfigurationsRequestT& request, const ListDistributionConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListDistributionConfigurations, request, handler, context); } /** *

Returns a list of image build versions.

See Also:

AWS * API Reference

*/ virtual Model::ListImageBuildVersionsOutcome ListImageBuildVersions(const Model::ListImageBuildVersionsRequest& request) const; /** * A Callable wrapper for ListImageBuildVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImageBuildVersionsOutcomeCallable ListImageBuildVersionsCallable(const ListImageBuildVersionsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImageBuildVersions, request); } /** * An Async wrapper for ListImageBuildVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImageBuildVersionsAsync(const ListImageBuildVersionsRequestT& request, const ListImageBuildVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImageBuildVersions, request, handler, context); } /** *

List the Packages that are associated with an Image Build Version, as * determined by Amazon Web Services Systems Manager Inventory at build * time.

See Also:

AWS * API Reference

*/ virtual Model::ListImagePackagesOutcome ListImagePackages(const Model::ListImagePackagesRequest& request) const; /** * A Callable wrapper for ListImagePackages that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImagePackagesOutcomeCallable ListImagePackagesCallable(const ListImagePackagesRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImagePackages, request); } /** * An Async wrapper for ListImagePackages that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImagePackagesAsync(const ListImagePackagesRequestT& request, const ListImagePackagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImagePackages, request, handler, context); } /** *

Returns a list of images created by the specified pipeline.

See * Also:

AWS * API Reference

*/ virtual Model::ListImagePipelineImagesOutcome ListImagePipelineImages(const Model::ListImagePipelineImagesRequest& request) const; /** * A Callable wrapper for ListImagePipelineImages that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImagePipelineImagesOutcomeCallable ListImagePipelineImagesCallable(const ListImagePipelineImagesRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImagePipelineImages, request); } /** * An Async wrapper for ListImagePipelineImages that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImagePipelineImagesAsync(const ListImagePipelineImagesRequestT& request, const ListImagePipelineImagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImagePipelineImages, request, handler, context); } /** *

Returns a list of image pipelines.

See Also:

AWS * API Reference

*/ virtual Model::ListImagePipelinesOutcome ListImagePipelines(const Model::ListImagePipelinesRequest& request) const; /** * A Callable wrapper for ListImagePipelines that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImagePipelinesOutcomeCallable ListImagePipelinesCallable(const ListImagePipelinesRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImagePipelines, request); } /** * An Async wrapper for ListImagePipelines that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImagePipelinesAsync(const ListImagePipelinesRequestT& request, const ListImagePipelinesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImagePipelines, request, handler, context); } /** *

Returns a list of image recipes.

See Also:

AWS * API Reference

*/ virtual Model::ListImageRecipesOutcome ListImageRecipes(const Model::ListImageRecipesRequest& request) const; /** * A Callable wrapper for ListImageRecipes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImageRecipesOutcomeCallable ListImageRecipesCallable(const ListImageRecipesRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImageRecipes, request); } /** * An Async wrapper for ListImageRecipes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImageRecipesAsync(const ListImageRecipesRequestT& request, const ListImageRecipesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImageRecipes, request, handler, context); } /** *

Returns a list of image scan aggregations for your account. You can filter by * the type of key that Image Builder uses to group results. For example, if you * want to get a list of findings by severity level for one of your pipelines, you * might specify your pipeline with the imagePipelineArn filter. If * you don't specify a filter, Image Builder returns an aggregation for your * account.

To streamline results, you can use the following filters in your * request:

  • accountId

  • * imageBuildVersionArn

  • * imagePipelineArn

  • vulnerabilityId *

See Also:

AWS * API Reference

*/ virtual Model::ListImageScanFindingAggregationsOutcome ListImageScanFindingAggregations(const Model::ListImageScanFindingAggregationsRequest& request) const; /** * A Callable wrapper for ListImageScanFindingAggregations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImageScanFindingAggregationsOutcomeCallable ListImageScanFindingAggregationsCallable(const ListImageScanFindingAggregationsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImageScanFindingAggregations, request); } /** * An Async wrapper for ListImageScanFindingAggregations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImageScanFindingAggregationsAsync(const ListImageScanFindingAggregationsRequestT& request, const ListImageScanFindingAggregationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImageScanFindingAggregations, request, handler, context); } /** *

Returns a list of image scan findings for your account.

See * Also:

AWS * API Reference

*/ virtual Model::ListImageScanFindingsOutcome ListImageScanFindings(const Model::ListImageScanFindingsRequest& request) const; /** * A Callable wrapper for ListImageScanFindings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImageScanFindingsOutcomeCallable ListImageScanFindingsCallable(const ListImageScanFindingsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListImageScanFindings, request); } /** * An Async wrapper for ListImageScanFindings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImageScanFindingsAsync(const ListImageScanFindingsRequestT& request, const ListImageScanFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListImageScanFindings, request, handler, context); } /** *

Returns the list of images that you have access to. Newly created images can * take up to two minutes to appear in the ListImages API Results.

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(&ImagebuilderClient::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(&ImagebuilderClient::ListImages, request, handler, context); } /** *

Returns a list of infrastructure configurations.

See Also:

* AWS * API Reference

*/ virtual Model::ListInfrastructureConfigurationsOutcome ListInfrastructureConfigurations(const Model::ListInfrastructureConfigurationsRequest& request) const; /** * A Callable wrapper for ListInfrastructureConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListInfrastructureConfigurationsOutcomeCallable ListInfrastructureConfigurationsCallable(const ListInfrastructureConfigurationsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListInfrastructureConfigurations, request); } /** * An Async wrapper for ListInfrastructureConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListInfrastructureConfigurationsAsync(const ListInfrastructureConfigurationsRequestT& request, const ListInfrastructureConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListInfrastructureConfigurations, request, handler, context); } /** *

Returns the list of tags for the specified 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(&ImagebuilderClient::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(&ImagebuilderClient::ListTagsForResource, request, handler, context); } /** *

Returns a list of workflow runtime instance metadata objects for a specific * image build version.

See Also:

AWS * API Reference

*/ virtual Model::ListWorkflowExecutionsOutcome ListWorkflowExecutions(const Model::ListWorkflowExecutionsRequest& request) const; /** * A Callable wrapper for ListWorkflowExecutions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListWorkflowExecutionsOutcomeCallable ListWorkflowExecutionsCallable(const ListWorkflowExecutionsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListWorkflowExecutions, request); } /** * An Async wrapper for ListWorkflowExecutions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListWorkflowExecutionsAsync(const ListWorkflowExecutionsRequestT& request, const ListWorkflowExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListWorkflowExecutions, request, handler, context); } /** *

Shows runtime data for each step in a runtime instance of the workflow that * you specify in the request.

See Also:

AWS * API Reference

*/ virtual Model::ListWorkflowStepExecutionsOutcome ListWorkflowStepExecutions(const Model::ListWorkflowStepExecutionsRequest& request) const; /** * A Callable wrapper for ListWorkflowStepExecutions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListWorkflowStepExecutionsOutcomeCallable ListWorkflowStepExecutionsCallable(const ListWorkflowStepExecutionsRequestT& request) const { return SubmitCallable(&ImagebuilderClient::ListWorkflowStepExecutions, request); } /** * An Async wrapper for ListWorkflowStepExecutions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListWorkflowStepExecutionsAsync(const ListWorkflowStepExecutionsRequestT& request, const ListWorkflowStepExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::ListWorkflowStepExecutions, request, handler, context); } /** *

Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare * to share resources. If you call the Image Builder API * PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy * in order for the resource to be visible to all principals with whom the resource * is shared.

See Also:

AWS * API Reference

*/ virtual Model::PutComponentPolicyOutcome PutComponentPolicy(const Model::PutComponentPolicyRequest& request) const; /** * A Callable wrapper for PutComponentPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutComponentPolicyOutcomeCallable PutComponentPolicyCallable(const PutComponentPolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::PutComponentPolicy, request); } /** * An Async wrapper for PutComponentPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutComponentPolicyAsync(const PutComponentPolicyRequestT& request, const PutComponentPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::PutComponentPolicy, request, handler, context); } /** *

Applies a policy to a container image. We recommend that you call the RAM API * CreateResourceShare * (https://docs.aws.amazon.com//ram/latest/APIReference/API_CreateResourceShare.html) * to share resources. If you call the Image Builder API * PutContainerImagePolicy, you must also call the RAM API * PromoteResourceShareCreatedFromPolicy * (https://docs.aws.amazon.com//ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) * in order for the resource to be visible to all principals with whom the resource * is shared.

See Also:

AWS * API Reference

*/ virtual Model::PutContainerRecipePolicyOutcome PutContainerRecipePolicy(const Model::PutContainerRecipePolicyRequest& request) const; /** * A Callable wrapper for PutContainerRecipePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutContainerRecipePolicyOutcomeCallable PutContainerRecipePolicyCallable(const PutContainerRecipePolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::PutContainerRecipePolicy, request); } /** * An Async wrapper for PutContainerRecipePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutContainerRecipePolicyAsync(const PutContainerRecipePolicyRequestT& request, const PutContainerRecipePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::PutContainerRecipePolicy, request, handler, context); } /** *

Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare * to share resources. If you call the Image Builder API * PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy * in order for the resource to be visible to all principals with whom the resource * is shared.

See Also:

AWS * API Reference

*/ virtual Model::PutImagePolicyOutcome PutImagePolicy(const Model::PutImagePolicyRequest& request) const; /** * A Callable wrapper for PutImagePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutImagePolicyOutcomeCallable PutImagePolicyCallable(const PutImagePolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::PutImagePolicy, request); } /** * An Async wrapper for PutImagePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutImagePolicyAsync(const PutImagePolicyRequestT& request, const PutImagePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::PutImagePolicy, request, handler, context); } /** *

Applies a policy to an image recipe. We recommend that you call the RAM API * CreateResourceShare * to share resources. If you call the Image Builder API * PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy * in order for the resource to be visible to all principals with whom the resource * is shared.

See Also:

AWS * API Reference

*/ virtual Model::PutImageRecipePolicyOutcome PutImageRecipePolicy(const Model::PutImageRecipePolicyRequest& request) const; /** * A Callable wrapper for PutImageRecipePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutImageRecipePolicyOutcomeCallable PutImageRecipePolicyCallable(const PutImageRecipePolicyRequestT& request) const { return SubmitCallable(&ImagebuilderClient::PutImageRecipePolicy, request); } /** * An Async wrapper for PutImageRecipePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutImageRecipePolicyAsync(const PutImageRecipePolicyRequestT& request, const PutImageRecipePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::PutImageRecipePolicy, request, handler, context); } /** *

Manually triggers a pipeline to create an image.

See Also:

* AWS * API Reference

*/ virtual Model::StartImagePipelineExecutionOutcome StartImagePipelineExecution(const Model::StartImagePipelineExecutionRequest& request) const; /** * A Callable wrapper for StartImagePipelineExecution that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartImagePipelineExecutionOutcomeCallable StartImagePipelineExecutionCallable(const StartImagePipelineExecutionRequestT& request) const { return SubmitCallable(&ImagebuilderClient::StartImagePipelineExecution, request); } /** * An Async wrapper for StartImagePipelineExecution that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartImagePipelineExecutionAsync(const StartImagePipelineExecutionRequestT& request, const StartImagePipelineExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::StartImagePipelineExecution, request, handler, context); } /** *

Adds a tag to a resource.

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(&ImagebuilderClient::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(&ImagebuilderClient::TagResource, request, handler, context); } /** *

Removes a tag 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(&ImagebuilderClient::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(&ImagebuilderClient::UntagResource, request, handler, context); } /** *

Updates a new distribution configuration. Distribution configurations define * and configure the outputs of your pipeline.

See Also:

AWS * API Reference

*/ virtual Model::UpdateDistributionConfigurationOutcome UpdateDistributionConfiguration(const Model::UpdateDistributionConfigurationRequest& request) const; /** * A Callable wrapper for UpdateDistributionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDistributionConfigurationOutcomeCallable UpdateDistributionConfigurationCallable(const UpdateDistributionConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::UpdateDistributionConfiguration, request); } /** * An Async wrapper for UpdateDistributionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDistributionConfigurationAsync(const UpdateDistributionConfigurationRequestT& request, const UpdateDistributionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::UpdateDistributionConfiguration, request, handler, context); } /** *

Updates an image pipeline. Image pipelines enable you to automate the * creation and distribution of images.

UpdateImagePipeline does not * support selective updates for the pipeline. You must specify all of the required * properties in the update request, not just the properties that have changed.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateImagePipelineOutcome UpdateImagePipeline(const Model::UpdateImagePipelineRequest& request) const; /** * A Callable wrapper for UpdateImagePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateImagePipelineOutcomeCallable UpdateImagePipelineCallable(const UpdateImagePipelineRequestT& request) const { return SubmitCallable(&ImagebuilderClient::UpdateImagePipeline, request); } /** * An Async wrapper for UpdateImagePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateImagePipelineAsync(const UpdateImagePipelineRequestT& request, const UpdateImagePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::UpdateImagePipeline, request, handler, context); } /** *

Updates a new infrastructure configuration. An infrastructure configuration * defines the environment in which your image will be built and * tested.

See Also:

AWS * API Reference

*/ virtual Model::UpdateInfrastructureConfigurationOutcome UpdateInfrastructureConfiguration(const Model::UpdateInfrastructureConfigurationRequest& request) const; /** * A Callable wrapper for UpdateInfrastructureConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateInfrastructureConfigurationOutcomeCallable UpdateInfrastructureConfigurationCallable(const UpdateInfrastructureConfigurationRequestT& request) const { return SubmitCallable(&ImagebuilderClient::UpdateInfrastructureConfiguration, request); } /** * An Async wrapper for UpdateInfrastructureConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateInfrastructureConfigurationAsync(const UpdateInfrastructureConfigurationRequestT& request, const UpdateInfrastructureConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ImagebuilderClient::UpdateInfrastructureConfiguration, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const ImagebuilderClientConfiguration& clientConfiguration); ImagebuilderClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace imagebuilder } // namespace Aws