/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace imagebuilder { namespace Model { /** */ class CreateImageRequest : public ImagebuilderRequest { public: AWS_IMAGEBUILDER_API CreateImageRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateImage"; } AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override; /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline const Aws::String& GetImageRecipeArn() const{ return m_imageRecipeArn; } /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline bool ImageRecipeArnHasBeenSet() const { return m_imageRecipeArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline void SetImageRecipeArn(const Aws::String& value) { m_imageRecipeArnHasBeenSet = true; m_imageRecipeArn = value; } /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline void SetImageRecipeArn(Aws::String&& value) { m_imageRecipeArnHasBeenSet = true; m_imageRecipeArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline void SetImageRecipeArn(const char* value) { m_imageRecipeArnHasBeenSet = true; m_imageRecipeArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline CreateImageRequest& WithImageRecipeArn(const Aws::String& value) { SetImageRecipeArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline CreateImageRequest& WithImageRecipeArn(Aws::String&& value) { SetImageRecipeArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the image recipe that defines how images * are configured, tested, and assessed.

*/ inline CreateImageRequest& WithImageRecipeArn(const char* value) { SetImageRecipeArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline const Aws::String& GetContainerRecipeArn() const{ return m_containerRecipeArn; } /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline bool ContainerRecipeArnHasBeenSet() const { return m_containerRecipeArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline void SetContainerRecipeArn(const Aws::String& value) { m_containerRecipeArnHasBeenSet = true; m_containerRecipeArn = value; } /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline void SetContainerRecipeArn(Aws::String&& value) { m_containerRecipeArnHasBeenSet = true; m_containerRecipeArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline void SetContainerRecipeArn(const char* value) { m_containerRecipeArnHasBeenSet = true; m_containerRecipeArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline CreateImageRequest& WithContainerRecipeArn(const Aws::String& value) { SetContainerRecipeArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline CreateImageRequest& WithContainerRecipeArn(Aws::String&& value) { SetContainerRecipeArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the container recipe that defines how * images are configured and tested.

*/ inline CreateImageRequest& WithContainerRecipeArn(const char* value) { SetContainerRecipeArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline const Aws::String& GetDistributionConfigurationArn() const{ return m_distributionConfigurationArn; } /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline bool DistributionConfigurationArnHasBeenSet() const { return m_distributionConfigurationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline void SetDistributionConfigurationArn(const Aws::String& value) { m_distributionConfigurationArnHasBeenSet = true; m_distributionConfigurationArn = value; } /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline void SetDistributionConfigurationArn(Aws::String&& value) { m_distributionConfigurationArnHasBeenSet = true; m_distributionConfigurationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline void SetDistributionConfigurationArn(const char* value) { m_distributionConfigurationArnHasBeenSet = true; m_distributionConfigurationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline CreateImageRequest& WithDistributionConfigurationArn(const Aws::String& value) { SetDistributionConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline CreateImageRequest& WithDistributionConfigurationArn(Aws::String&& value) { SetDistributionConfigurationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the distribution configuration that defines * and configures the outputs of your pipeline.

*/ inline CreateImageRequest& WithDistributionConfigurationArn(const char* value) { SetDistributionConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline const Aws::String& GetInfrastructureConfigurationArn() const{ return m_infrastructureConfigurationArn; } /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline bool InfrastructureConfigurationArnHasBeenSet() const { return m_infrastructureConfigurationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline void SetInfrastructureConfigurationArn(const Aws::String& value) { m_infrastructureConfigurationArnHasBeenSet = true; m_infrastructureConfigurationArn = value; } /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline void SetInfrastructureConfigurationArn(Aws::String&& value) { m_infrastructureConfigurationArnHasBeenSet = true; m_infrastructureConfigurationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline void SetInfrastructureConfigurationArn(const char* value) { m_infrastructureConfigurationArnHasBeenSet = true; m_infrastructureConfigurationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline CreateImageRequest& WithInfrastructureConfigurationArn(const Aws::String& value) { SetInfrastructureConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline CreateImageRequest& WithInfrastructureConfigurationArn(Aws::String&& value) { SetInfrastructureConfigurationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the infrastructure configuration that * defines the environment in which your image will be built and tested.

*/ inline CreateImageRequest& WithInfrastructureConfigurationArn(const char* value) { SetInfrastructureConfigurationArn(value); return *this;} /** *

The image tests configuration of the image.

*/ inline const ImageTestsConfiguration& GetImageTestsConfiguration() const{ return m_imageTestsConfiguration; } /** *

The image tests configuration of the image.

*/ inline bool ImageTestsConfigurationHasBeenSet() const { return m_imageTestsConfigurationHasBeenSet; } /** *

The image tests configuration of the image.

*/ inline void SetImageTestsConfiguration(const ImageTestsConfiguration& value) { m_imageTestsConfigurationHasBeenSet = true; m_imageTestsConfiguration = value; } /** *

The image tests configuration of the image.

*/ inline void SetImageTestsConfiguration(ImageTestsConfiguration&& value) { m_imageTestsConfigurationHasBeenSet = true; m_imageTestsConfiguration = std::move(value); } /** *

The image tests configuration of the image.

*/ inline CreateImageRequest& WithImageTestsConfiguration(const ImageTestsConfiguration& value) { SetImageTestsConfiguration(value); return *this;} /** *

The image tests configuration of the image.

*/ inline CreateImageRequest& WithImageTestsConfiguration(ImageTestsConfiguration&& value) { SetImageTestsConfiguration(std::move(value)); return *this;} /** *

Collects additional information about the image being created, including the * operating system (OS) version and package list. This information is used to * enhance the overall experience of using EC2 Image Builder. Enabled by * default.

*/ inline bool GetEnhancedImageMetadataEnabled() const{ return m_enhancedImageMetadataEnabled; } /** *

Collects additional information about the image being created, including the * operating system (OS) version and package list. This information is used to * enhance the overall experience of using EC2 Image Builder. Enabled by * default.

*/ inline bool EnhancedImageMetadataEnabledHasBeenSet() const { return m_enhancedImageMetadataEnabledHasBeenSet; } /** *

Collects additional information about the image being created, including the * operating system (OS) version and package list. This information is used to * enhance the overall experience of using EC2 Image Builder. Enabled by * default.

*/ inline void SetEnhancedImageMetadataEnabled(bool value) { m_enhancedImageMetadataEnabledHasBeenSet = true; m_enhancedImageMetadataEnabled = value; } /** *

Collects additional information about the image being created, including the * operating system (OS) version and package list. This information is used to * enhance the overall experience of using EC2 Image Builder. Enabled by * default.

*/ inline CreateImageRequest& WithEnhancedImageMetadataEnabled(bool value) { SetEnhancedImageMetadataEnabled(value); return *this;} /** *

The tags of the image.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags of the image.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags of the image.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags of the image.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags of the image.

*/ inline CreateImageRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags of the image.

*/ inline CreateImageRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags of the image.

*/ inline CreateImageRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The idempotency token used to make this request idempotent.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

The idempotency token used to make this request idempotent.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

The idempotency token used to make this request idempotent.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

The idempotency token used to make this request idempotent.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

The idempotency token used to make this request idempotent.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

The idempotency token used to make this request idempotent.

*/ inline CreateImageRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

The idempotency token used to make this request idempotent.

*/ inline CreateImageRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

The idempotency token used to make this request idempotent.

*/ inline CreateImageRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Contains settings for vulnerability scans.

*/ inline const ImageScanningConfiguration& GetImageScanningConfiguration() const{ return m_imageScanningConfiguration; } /** *

Contains settings for vulnerability scans.

*/ inline bool ImageScanningConfigurationHasBeenSet() const { return m_imageScanningConfigurationHasBeenSet; } /** *

Contains settings for vulnerability scans.

*/ inline void SetImageScanningConfiguration(const ImageScanningConfiguration& value) { m_imageScanningConfigurationHasBeenSet = true; m_imageScanningConfiguration = value; } /** *

Contains settings for vulnerability scans.

*/ inline void SetImageScanningConfiguration(ImageScanningConfiguration&& value) { m_imageScanningConfigurationHasBeenSet = true; m_imageScanningConfiguration = std::move(value); } /** *

Contains settings for vulnerability scans.

*/ inline CreateImageRequest& WithImageScanningConfiguration(const ImageScanningConfiguration& value) { SetImageScanningConfiguration(value); return *this;} /** *

Contains settings for vulnerability scans.

*/ inline CreateImageRequest& WithImageScanningConfiguration(ImageScanningConfiguration&& value) { SetImageScanningConfiguration(std::move(value)); return *this;} private: Aws::String m_imageRecipeArn; bool m_imageRecipeArnHasBeenSet = false; Aws::String m_containerRecipeArn; bool m_containerRecipeArnHasBeenSet = false; Aws::String m_distributionConfigurationArn; bool m_distributionConfigurationArnHasBeenSet = false; Aws::String m_infrastructureConfigurationArn; bool m_infrastructureConfigurationArnHasBeenSet = false; ImageTestsConfiguration m_imageTestsConfiguration; bool m_imageTestsConfigurationHasBeenSet = false; bool m_enhancedImageMetadataEnabled; bool m_enhancedImageMetadataEnabledHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; ImageScanningConfiguration m_imageScanningConfiguration; bool m_imageScanningConfigurationHasBeenSet = false; }; } // namespace Model } // namespace imagebuilder } // namespace Aws