7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
12#include <aws/imagebuilder/model/BuildType.h>
13#include <aws/imagebuilder/model/ContainerRecipe.h>
14#include <aws/imagebuilder/model/DistributionConfiguration.h>
15#include <aws/imagebuilder/model/ImageLoggingConfiguration.h>
16#include <aws/imagebuilder/model/ImageRecipe.h>
17#include <aws/imagebuilder/model/ImageScanState.h>
18#include <aws/imagebuilder/model/ImageScanningConfiguration.h>
19#include <aws/imagebuilder/model/ImageSource.h>
20#include <aws/imagebuilder/model/ImageState.h>
21#include <aws/imagebuilder/model/ImageTestsConfiguration.h>
22#include <aws/imagebuilder/model/ImageType.h>
23#include <aws/imagebuilder/model/InfrastructureConfiguration.h>
24#include <aws/imagebuilder/model/OutputResources.h>
25#include <aws/imagebuilder/model/Platform.h>
26#include <aws/imagebuilder/model/WorkflowConfiguration.h>
37namespace imagebuilder {
52 AWS_IMAGEBUILDER_API
Image() =
default;
71 template <
typename ArnT = Aws::String>
73 m_arnHasBeenSet =
true;
74 m_arn = std::forward<ArnT>(value);
76 template <
typename ArnT = Aws::String>
78 SetArn(std::forward<ArnT>(value));
90 m_typeHasBeenSet =
true;
105 template <
typename NameT = Aws::String>
107 m_nameHasBeenSet =
true;
108 m_name = std::forward<NameT>(value);
110 template <
typename NameT = Aws::String>
112 SetName(std::forward<NameT>(value));
135 template <
typename VersionT = Aws::String>
137 m_versionHasBeenSet =
true;
138 m_version = std::forward<VersionT>(value);
140 template <
typename VersionT = Aws::String>
154 m_platformHasBeenSet =
true;
171 m_enhancedImageMetadataEnabledHasBeenSet =
true;
172 m_enhancedImageMetadataEnabled = value;
187 template <
typename OsVersionT = Aws::String>
189 m_osVersionHasBeenSet =
true;
190 m_osVersion = std::forward<OsVersionT>(value);
192 template <
typename OsVersionT = Aws::String>
205 template <
typename StateT = ImageState>
207 m_stateHasBeenSet =
true;
208 m_state = std::forward<StateT>(value);
210 template <
typename StateT = ImageState>
212 SetState(std::forward<StateT>(value));
224 template <
typename ImageRecipeT = ImageRecipe>
226 m_imageRecipeHasBeenSet =
true;
227 m_imageRecipe = std::forward<ImageRecipeT>(value);
229 template <
typename ImageRecipeT = ImageRecipe>
243 template <
typename ContainerRecipeT = ContainerRecipe>
245 m_containerRecipeHasBeenSet =
true;
246 m_containerRecipe = std::forward<ContainerRecipeT>(value);
248 template <
typename ContainerRecipeT = ContainerRecipe>
263 template <
typename SourcePipelineNameT = Aws::String>
265 m_sourcePipelineNameHasBeenSet =
true;
266 m_sourcePipelineName = std::forward<SourcePipelineNameT>(value);
268 template <
typename SourcePipelineNameT = Aws::String>
282 template <
typename SourcePipelineArnT = Aws::String>
284 m_sourcePipelineArnHasBeenSet =
true;
285 m_sourcePipelineArn = std::forward<SourcePipelineArnT>(value);
287 template <
typename SourcePipelineArnT = Aws::String>
300 template <
typename InfrastructureConfigurationT = InfrastructureConfiguration>
302 m_infrastructureConfigurationHasBeenSet =
true;
303 m_infrastructureConfiguration = std::forward<InfrastructureConfigurationT>(value);
305 template <
typename InfrastructureConfigurationT = InfrastructureConfiguration>
319 template <
typename DistributionConfigurationT = DistributionConfiguration>
321 m_distributionConfigurationHasBeenSet =
true;
322 m_distributionConfiguration = std::forward<DistributionConfigurationT>(value);
324 template <
typename DistributionConfigurationT = DistributionConfiguration>
338 template <
typename ImageTestsConfigurationT = ImageTestsConfiguration>
340 m_imageTestsConfigurationHasBeenSet =
true;
341 m_imageTestsConfiguration = std::forward<ImageTestsConfigurationT>(value);
343 template <
typename ImageTestsConfigurationT = ImageTestsConfiguration>
356 template <
typename DateCreatedT = Aws::String>
358 m_dateCreatedHasBeenSet =
true;
359 m_dateCreated = std::forward<DateCreatedT>(value);
361 template <
typename DateCreatedT = Aws::String>
374 template <
typename OutputResourcesT = OutputResources>
376 m_outputResourcesHasBeenSet =
true;
377 m_outputResources = std::forward<OutputResourcesT>(value);
379 template <
typename OutputResourcesT = OutputResources>
392 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
394 m_tagsHasBeenSet =
true;
395 m_tags = std::forward<TagsT>(value);
397 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
399 SetTags(std::forward<TagsT>(value));
402 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
404 m_tagsHasBeenSet =
true;
405 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
423 m_buildTypeHasBeenSet =
true;
439 m_imageSourceHasBeenSet =
true;
440 m_imageSource = value;
454 template <
typename ScanStateT = ImageScanState>
456 m_scanStateHasBeenSet =
true;
457 m_scanState = std::forward<ScanStateT>(value);
459 template <
typename ScanStateT = ImageScanState>
475 template <
typename ImageScanningConfigurationT = ImageScanningConfiguration>
477 m_imageScanningConfigurationHasBeenSet =
true;
478 m_imageScanningConfiguration = std::forward<ImageScanningConfigurationT>(value);
480 template <
typename ImageScanningConfigurationT = ImageScanningConfiguration>
494 template <
typename DeprecationTimeT = Aws::Utils::DateTime>
496 m_deprecationTimeHasBeenSet =
true;
497 m_deprecationTime = std::forward<DeprecationTimeT>(value);
499 template <
typename DeprecationTimeT = Aws::Utils::DateTime>
513 template <
typename LifecycleExecutionIdT = Aws::String>
515 m_lifecycleExecutionIdHasBeenSet =
true;
516 m_lifecycleExecutionId = std::forward<LifecycleExecutionIdT>(value);
518 template <
typename LifecycleExecutionIdT = Aws::String>
532 template <
typename ExecutionRoleT = Aws::String>
534 m_executionRoleHasBeenSet =
true;
535 m_executionRole = std::forward<ExecutionRoleT>(value);
537 template <
typename ExecutionRoleT = Aws::String>
551 template <
typename WorkflowsT = Aws::Vector<WorkflowConfiguration>>
553 m_workflowsHasBeenSet =
true;
554 m_workflows = std::forward<WorkflowsT>(value);
556 template <
typename WorkflowsT = Aws::Vector<WorkflowConfiguration>>
561 template <
typename WorkflowsT = WorkflowConfiguration>
563 m_workflowsHasBeenSet =
true;
564 m_workflows.emplace_back(std::forward<WorkflowsT>(value));
576 template <
typename LoggingConfigurationT = ImageLoggingConfiguration>
578 m_loggingConfigurationHasBeenSet =
true;
579 m_loggingConfiguration = std::forward<LoggingConfigurationT>(value);
581 template <
typename LoggingConfigurationT = ImageLoggingConfiguration>
598 bool m_enhancedImageMetadataEnabled{
false};
604 ImageRecipe m_imageRecipe;
606 ContainerRecipe m_containerRecipe;
612 InfrastructureConfiguration m_infrastructureConfiguration;
614 DistributionConfiguration m_distributionConfiguration;
616 ImageTestsConfiguration m_imageTestsConfiguration;
620 OutputResources m_outputResources;
628 ImageScanState m_scanState;
630 ImageScanningConfiguration m_imageScanningConfiguration;
640 ImageLoggingConfiguration m_loggingConfiguration;
641 bool m_arnHasBeenSet =
false;
642 bool m_typeHasBeenSet =
false;
643 bool m_nameHasBeenSet =
false;
644 bool m_versionHasBeenSet =
false;
645 bool m_platformHasBeenSet =
false;
646 bool m_enhancedImageMetadataEnabledHasBeenSet =
false;
647 bool m_osVersionHasBeenSet =
false;
648 bool m_stateHasBeenSet =
false;
649 bool m_imageRecipeHasBeenSet =
false;
650 bool m_containerRecipeHasBeenSet =
false;
651 bool m_sourcePipelineNameHasBeenSet =
false;
652 bool m_sourcePipelineArnHasBeenSet =
false;
653 bool m_infrastructureConfigurationHasBeenSet =
false;
654 bool m_distributionConfigurationHasBeenSet =
false;
655 bool m_imageTestsConfigurationHasBeenSet =
false;
656 bool m_dateCreatedHasBeenSet =
false;
657 bool m_outputResourcesHasBeenSet =
false;
658 bool m_tagsHasBeenSet =
false;
659 bool m_buildTypeHasBeenSet =
false;
660 bool m_imageSourceHasBeenSet =
false;
661 bool m_scanStateHasBeenSet =
false;
662 bool m_imageScanningConfigurationHasBeenSet =
false;
663 bool m_deprecationTimeHasBeenSet =
false;
664 bool m_lifecycleExecutionIdHasBeenSet =
false;
665 bool m_executionRoleHasBeenSet =
false;
666 bool m_workflowsHasBeenSet =
false;
667 bool m_loggingConfigurationHasBeenSet =
false;
const Aws::String & GetVersion() const
void SetType(ImageType value)
const OutputResources & GetOutputResources() const
bool DeprecationTimeHasBeenSet() const
void SetImageTestsConfiguration(ImageTestsConfigurationT &&value)
bool DistributionConfigurationHasBeenSet() const
Image & AddWorkflows(WorkflowsT &&value)
const Aws::String & GetOsVersion() const
void SetLifecycleExecutionId(LifecycleExecutionIdT &&value)
const Aws::String & GetDateCreated() const
Image & AddTags(TagsKeyT &&key, TagsValueT &&value)
ImageType GetType() const
bool ImageTestsConfigurationHasBeenSet() const
void SetArn(ArnT &&value)
Image & WithImageScanningConfiguration(ImageScanningConfigurationT &&value)
const Aws::Utils::DateTime & GetDeprecationTime() const
const ImageLoggingConfiguration & GetLoggingConfiguration() const
void SetDateCreated(DateCreatedT &&value)
bool ImageRecipeHasBeenSet() const
Image & WithSourcePipelineArn(SourcePipelineArnT &&value)
bool SourcePipelineArnHasBeenSet() const
const Aws::String & GetArn() const
const DistributionConfiguration & GetDistributionConfiguration() const
void SetBuildType(BuildType value)
Image & WithType(ImageType value)
void SetEnhancedImageMetadataEnabled(bool value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
bool ImageScanningConfigurationHasBeenSet() const
bool OsVersionHasBeenSet() const
const ImageScanState & GetScanState() const
const ImageState & GetState() const
Image & WithDeprecationTime(DeprecationTimeT &&value)
void SetOsVersion(OsVersionT &&value)
Image & WithPlatform(Platform value)
bool ScanStateHasBeenSet() const
bool ContainerRecipeHasBeenSet() const
bool DateCreatedHasBeenSet() const
bool WorkflowsHasBeenSet() const
bool SourcePipelineNameHasBeenSet() const
const ContainerRecipe & GetContainerRecipe() const
const Aws::String & GetSourcePipelineName() const
bool InfrastructureConfigurationHasBeenSet() const
void SetVersion(VersionT &&value)
void SetImageScanningConfiguration(ImageScanningConfigurationT &&value)
const Aws::String & GetName() const
Image & WithImageSource(ImageSource value)
const Aws::Vector< WorkflowConfiguration > & GetWorkflows() const
Image & WithOutputResources(OutputResourcesT &&value)
bool ImageSourceHasBeenSet() const
Image & WithLoggingConfiguration(LoggingConfigurationT &&value)
bool ArnHasBeenSet() const
Image & WithDistributionConfiguration(DistributionConfigurationT &&value)
Platform GetPlatform() const
bool LoggingConfigurationHasBeenSet() const
bool TagsHasBeenSet() const
const Aws::String & GetSourcePipelineArn() const
void SetDeprecationTime(DeprecationTimeT &&value)
Image & WithWorkflows(WorkflowsT &&value)
void SetImageRecipe(ImageRecipeT &&value)
bool PlatformHasBeenSet() const
Image & WithVersion(VersionT &&value)
Image & WithImageRecipe(ImageRecipeT &&value)
void SetTags(TagsT &&value)
void SetSourcePipelineName(SourcePipelineNameT &&value)
Image & WithExecutionRole(ExecutionRoleT &&value)
Image & WithLifecycleExecutionId(LifecycleExecutionIdT &&value)
bool BuildTypeHasBeenSet() const
Image & WithTags(TagsT &&value)
Image & WithEnhancedImageMetadataEnabled(bool value)
const InfrastructureConfiguration & GetInfrastructureConfiguration() const
Image & WithSourcePipelineName(SourcePipelineNameT &&value)
void SetName(NameT &&value)
void SetPlatform(Platform value)
const ImageScanningConfiguration & GetImageScanningConfiguration() const
Image & WithInfrastructureConfiguration(InfrastructureConfigurationT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Image & WithImageTestsConfiguration(ImageTestsConfigurationT &&value)
const ImageTestsConfiguration & GetImageTestsConfiguration() const
bool TypeHasBeenSet() const
Image & WithContainerRecipe(ContainerRecipeT &&value)
void SetExecutionRole(ExecutionRoleT &&value)
Image & WithOsVersion(OsVersionT &&value)
AWS_IMAGEBUILDER_API Image(Aws::Utils::Json::JsonView jsonValue)
void SetScanState(ScanStateT &&value)
void SetState(StateT &&value)
bool EnhancedImageMetadataEnabledHasBeenSet() const
bool VersionHasBeenSet() const
bool StateHasBeenSet() const
ImageSource GetImageSource() const
BuildType GetBuildType() const
Image & WithState(StateT &&value)
Image & WithName(NameT &&value)
Image & WithArn(ArnT &&value)
const ImageRecipe & GetImageRecipe() const
const Aws::String & GetLifecycleExecutionId() const
const Aws::String & GetExecutionRole() const
void SetWorkflows(WorkflowsT &&value)
bool OutputResourcesHasBeenSet() const
void SetImageSource(ImageSource value)
void SetLoggingConfiguration(LoggingConfigurationT &&value)
void SetInfrastructureConfiguration(InfrastructureConfigurationT &&value)
Image & WithBuildType(BuildType value)
bool ExecutionRoleHasBeenSet() const
Image & WithScanState(ScanStateT &&value)
bool NameHasBeenSet() const
bool LifecycleExecutionIdHasBeenSet() const
Image & WithDateCreated(DateCreatedT &&value)
AWS_IMAGEBUILDER_API Image()=default
void SetDistributionConfiguration(DistributionConfigurationT &&value)
void SetSourcePipelineArn(SourcePipelineArnT &&value)
AWS_IMAGEBUILDER_API Image & operator=(Aws::Utils::Json::JsonView jsonValue)
bool GetEnhancedImageMetadataEnabled() const
void SetContainerRecipe(ContainerRecipeT &&value)
void SetOutputResources(OutputResourcesT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue