/** * 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 #include #include namespace Aws { namespace imagebuilder { namespace Model { /** */ class CreateImagePipelineRequest : public ImagebuilderRequest { public: AWS_IMAGEBUILDER_API CreateImagePipelineRequest(); // 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 "CreateImagePipeline"; } AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override; /** *

The name of the image pipeline.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the image pipeline.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the image pipeline.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the image pipeline.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the image pipeline.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the image pipeline.

*/ inline CreateImagePipelineRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the image pipeline.

*/ inline CreateImagePipelineRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the image pipeline.

*/ inline CreateImagePipelineRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The description of the image pipeline.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the image pipeline.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the image pipeline.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the image pipeline.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the image pipeline.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the image pipeline.

*/ inline CreateImagePipelineRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the image pipeline.

*/ inline CreateImagePipelineRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the image pipeline.

*/ inline CreateImagePipelineRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the image recipe that will be used to * configure images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the container recipe that is used to * configure images created by this container pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the infrastructure configuration that will * be used to build images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image 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 will be * used to configure and distribute images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image pipeline.

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

The Amazon Resource Name (ARN) of the distribution configuration that will be * used to configure and distribute images created by this image pipeline.

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

The image test configuration of the image pipeline.

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

The image test configuration of the image pipeline.

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

The image test configuration of the image pipeline.

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

The image test configuration of the image pipeline.

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

The image test configuration of the image pipeline.

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

The image test configuration of the image pipeline.

*/ inline CreateImagePipelineRequest& 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 CreateImagePipelineRequest& WithEnhancedImageMetadataEnabled(bool value) { SetEnhancedImageMetadataEnabled(value); return *this;} /** *

The schedule of the image pipeline.

*/ inline const Schedule& GetSchedule() const{ return m_schedule; } /** *

The schedule of the image pipeline.

*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *

The schedule of the image pipeline.

*/ inline void SetSchedule(const Schedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *

The schedule of the image pipeline.

*/ inline void SetSchedule(Schedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *

The schedule of the image pipeline.

*/ inline CreateImagePipelineRequest& WithSchedule(const Schedule& value) { SetSchedule(value); return *this;} /** *

The schedule of the image pipeline.

*/ inline CreateImagePipelineRequest& WithSchedule(Schedule&& value) { SetSchedule(std::move(value)); return *this;} /** *

The status of the image pipeline.

*/ inline const PipelineStatus& GetStatus() const{ return m_status; } /** *

The status of the image pipeline.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the image pipeline.

*/ inline void SetStatus(const PipelineStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the image pipeline.

*/ inline void SetStatus(PipelineStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the image pipeline.

*/ inline CreateImagePipelineRequest& WithStatus(const PipelineStatus& value) { SetStatus(value); return *this;} /** *

The status of the image pipeline.

*/ inline CreateImagePipelineRequest& WithStatus(PipelineStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The tags of the image pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

*/ inline CreateImagePipelineRequest& 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 pipeline.

*/ inline CreateImagePipelineRequest& 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 pipeline.

*/ inline CreateImagePipelineRequest& 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 pipeline.

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

The tags of the image pipeline.

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

The tags of the image pipeline.

*/ inline CreateImagePipelineRequest& 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 CreateImagePipelineRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

The idempotency token used to make this request idempotent.

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

The idempotency token used to make this request idempotent.

*/ inline CreateImagePipelineRequest& 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 CreateImagePipelineRequest& WithImageScanningConfiguration(const ImageScanningConfiguration& value) { SetImageScanningConfiguration(value); return *this;} /** *

Contains settings for vulnerability scans.

*/ inline CreateImagePipelineRequest& WithImageScanningConfiguration(ImageScanningConfiguration&& value) { SetImageScanningConfiguration(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_imageRecipeArn; bool m_imageRecipeArnHasBeenSet = false; Aws::String m_containerRecipeArn; bool m_containerRecipeArnHasBeenSet = false; Aws::String m_infrastructureConfigurationArn; bool m_infrastructureConfigurationArnHasBeenSet = false; Aws::String m_distributionConfigurationArn; bool m_distributionConfigurationArnHasBeenSet = false; ImageTestsConfiguration m_imageTestsConfiguration; bool m_imageTestsConfigurationHasBeenSet = false; bool m_enhancedImageMetadataEnabled; bool m_enhancedImageMetadataEnabledHasBeenSet = false; Schedule m_schedule; bool m_scheduleHasBeenSet = false; PipelineStatus m_status; bool m_statusHasBeenSet = 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