7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/imagebuilder/model/ImageType.h>
10#include <aws/imagebuilder/model/Platform.h>
11#include <aws/imagebuilder/model/ImageState.h>
12#include <aws/imagebuilder/model/ImageRecipe.h>
13#include <aws/imagebuilder/model/ContainerRecipe.h>
14#include <aws/imagebuilder/model/InfrastructureConfiguration.h>
15#include <aws/imagebuilder/model/DistributionConfiguration.h>
16#include <aws/imagebuilder/model/ImageTestsConfiguration.h>
17#include <aws/imagebuilder/model/OutputResources.h>
18#include <aws/core/utils/memory/stl/AWSMap.h>
19#include <aws/imagebuilder/model/BuildType.h>
20#include <aws/imagebuilder/model/ImageSource.h>
21#include <aws/imagebuilder/model/ImageScanState.h>
22#include <aws/imagebuilder/model/ImageScanningConfiguration.h>
23#include <aws/core/utils/DateTime.h>
24#include <aws/core/utils/memory/stl/AWSVector.h>
25#include <aws/imagebuilder/model/WorkflowConfiguration.h>
54 AWS_IMAGEBUILDER_API
Image() =
default;
74 template<
typename ArnT = Aws::String>
75 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
76 template<
typename ArnT = Aws::String>
96 template<
typename NameT = Aws::String>
97 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
98 template<
typename NameT = Aws::String>
121 template<
typename VersionT = Aws::String>
122 void SetVersion(VersionT&& value) { m_versionHasBeenSet =
true; m_version = std::forward<VersionT>(value); }
123 template<
typename VersionT = Aws::String>
155 template<
typename OsVersionT = Aws::String>
156 void SetOsVersion(OsVersionT&& value) { m_osVersionHasBeenSet =
true; m_osVersion = std::forward<OsVersionT>(value); }
157 template<
typename OsVersionT = Aws::String>
167 template<
typename StateT = ImageState>
168 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
169 template<
typename StateT = ImageState>
180 template<
typename ImageRecipeT = ImageRecipe>
181 void SetImageRecipe(ImageRecipeT&& value) { m_imageRecipeHasBeenSet =
true; m_imageRecipe = std::forward<ImageRecipeT>(value); }
182 template<
typename ImageRecipeT = ImageRecipe>
193 template<
typename ContainerRecipeT = ContainerRecipe>
194 void SetContainerRecipe(ContainerRecipeT&& value) { m_containerRecipeHasBeenSet =
true; m_containerRecipe = std::forward<ContainerRecipeT>(value); }
195 template<
typename ContainerRecipeT = ContainerRecipe>
205 template<
typename SourcePipelineNameT = Aws::String>
206 void SetSourcePipelineName(SourcePipelineNameT&& value) { m_sourcePipelineNameHasBeenSet =
true; m_sourcePipelineName = std::forward<SourcePipelineNameT>(value); }
207 template<
typename SourcePipelineNameT = Aws::String>
218 template<
typename SourcePipelineArnT = Aws::String>
219 void SetSourcePipelineArn(SourcePipelineArnT&& value) { m_sourcePipelineArnHasBeenSet =
true; m_sourcePipelineArn = std::forward<SourcePipelineArnT>(value); }
220 template<
typename SourcePipelineArnT = Aws::String>
230 template<
typename InfrastructureConfigurationT = InfrastructureConfiguration>
231 void SetInfrastructureConfiguration(InfrastructureConfigurationT&& value) { m_infrastructureConfigurationHasBeenSet =
true; m_infrastructureConfiguration = std::forward<InfrastructureConfigurationT>(value); }
232 template<
typename InfrastructureConfigurationT = InfrastructureConfiguration>
243 template<
typename DistributionConfigurationT = DistributionConfiguration>
244 void SetDistributionConfiguration(DistributionConfigurationT&& value) { m_distributionConfigurationHasBeenSet =
true; m_distributionConfiguration = std::forward<DistributionConfigurationT>(value); }
245 template<
typename DistributionConfigurationT = DistributionConfiguration>
255 template<
typename ImageTestsConfigurationT = ImageTestsConfiguration>
256 void SetImageTestsConfiguration(ImageTestsConfigurationT&& value) { m_imageTestsConfigurationHasBeenSet =
true; m_imageTestsConfiguration = std::forward<ImageTestsConfigurationT>(value); }
257 template<
typename ImageTestsConfigurationT = ImageTestsConfiguration>
267 template<
typename DateCreatedT = Aws::String>
268 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet =
true; m_dateCreated = std::forward<DateCreatedT>(value); }
269 template<
typename DateCreatedT = Aws::String>
279 template<
typename OutputResourcesT = OutputResources>
280 void SetOutputResources(OutputResourcesT&& value) { m_outputResourcesHasBeenSet =
true; m_outputResources = std::forward<OutputResourcesT>(value); }
281 template<
typename OutputResourcesT = OutputResources>
291 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
292 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
293 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
295 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
297 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
333 template<
typename ScanStateT = ImageScanState>
334 void SetScanState(ScanStateT&& value) { m_scanStateHasBeenSet =
true; m_scanState = std::forward<ScanStateT>(value); }
335 template<
typename ScanStateT = ImageScanState>
345 template<
typename ImageScanningConfigurationT = ImageScanningConfiguration>
346 void SetImageScanningConfiguration(ImageScanningConfigurationT&& value) { m_imageScanningConfigurationHasBeenSet =
true; m_imageScanningConfiguration = std::forward<ImageScanningConfigurationT>(value); }
347 template<
typename ImageScanningConfigurationT = ImageScanningConfiguration>
358 template<
typename DeprecationTimeT = Aws::Utils::DateTime>
359 void SetDeprecationTime(DeprecationTimeT&& value) { m_deprecationTimeHasBeenSet =
true; m_deprecationTime = std::forward<DeprecationTimeT>(value); }
360 template<
typename DeprecationTimeT = Aws::Utils::DateTime>
371 template<
typename LifecycleExecutionIdT = Aws::String>
372 void SetLifecycleExecutionId(LifecycleExecutionIdT&& value) { m_lifecycleExecutionIdHasBeenSet =
true; m_lifecycleExecutionId = std::forward<LifecycleExecutionIdT>(value); }
373 template<
typename LifecycleExecutionIdT = Aws::String>
384 template<
typename ExecutionRoleT = Aws::String>
385 void SetExecutionRole(ExecutionRoleT&& value) { m_executionRoleHasBeenSet =
true; m_executionRole = std::forward<ExecutionRoleT>(value); }
386 template<
typename ExecutionRoleT = Aws::String>
396 template<
typename WorkflowsT = Aws::Vector<WorkflowConfiguration>>
397 void SetWorkflows(WorkflowsT&& value) { m_workflowsHasBeenSet =
true; m_workflows = std::forward<WorkflowsT>(value); }
398 template<
typename WorkflowsT = Aws::Vector<WorkflowConfiguration>>
400 template<
typename WorkflowsT = WorkflowConfiguration>
401 Image&
AddWorkflows(WorkflowsT&& value) { m_workflowsHasBeenSet =
true; m_workflows.emplace_back(std::forward<WorkflowsT>(value));
return *
this; }
406 bool m_arnHasBeenSet =
false;
409 bool m_typeHasBeenSet =
false;
412 bool m_nameHasBeenSet =
false;
415 bool m_versionHasBeenSet =
false;
418 bool m_platformHasBeenSet =
false;
420 bool m_enhancedImageMetadataEnabled{
false};
421 bool m_enhancedImageMetadataEnabledHasBeenSet =
false;
424 bool m_osVersionHasBeenSet =
false;
427 bool m_stateHasBeenSet =
false;
429 ImageRecipe m_imageRecipe;
430 bool m_imageRecipeHasBeenSet =
false;
432 ContainerRecipe m_containerRecipe;
433 bool m_containerRecipeHasBeenSet =
false;
436 bool m_sourcePipelineNameHasBeenSet =
false;
439 bool m_sourcePipelineArnHasBeenSet =
false;
441 InfrastructureConfiguration m_infrastructureConfiguration;
442 bool m_infrastructureConfigurationHasBeenSet =
false;
444 DistributionConfiguration m_distributionConfiguration;
445 bool m_distributionConfigurationHasBeenSet =
false;
447 ImageTestsConfiguration m_imageTestsConfiguration;
448 bool m_imageTestsConfigurationHasBeenSet =
false;
451 bool m_dateCreatedHasBeenSet =
false;
453 OutputResources m_outputResources;
454 bool m_outputResourcesHasBeenSet =
false;
457 bool m_tagsHasBeenSet =
false;
460 bool m_buildTypeHasBeenSet =
false;
463 bool m_imageSourceHasBeenSet =
false;
465 ImageScanState m_scanState;
466 bool m_scanStateHasBeenSet =
false;
468 ImageScanningConfiguration m_imageScanningConfiguration;
469 bool m_imageScanningConfigurationHasBeenSet =
false;
472 bool m_deprecationTimeHasBeenSet =
false;
475 bool m_lifecycleExecutionIdHasBeenSet =
false;
478 bool m_executionRoleHasBeenSet =
false;
481 bool m_workflowsHasBeenSet =
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
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
bool ArnHasBeenSet() const
Image & WithDistributionConfiguration(DistributionConfigurationT &&value)
Platform GetPlatform() 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 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