7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/imagebuilder/model/LaunchPermissionConfiguration.h>
50 template<
typename NameT = Aws::String>
51 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
52 template<
typename NameT = Aws::String>
63 template<
typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
65 template<
typename DescriptionT = Aws::String>
75 template<
typename TargetAccountIdsT = Aws::Vector<Aws::String>>
76 void SetTargetAccountIds(TargetAccountIdsT&& value) { m_targetAccountIdsHasBeenSet =
true; m_targetAccountIds = std::forward<TargetAccountIdsT>(value); }
77 template<
typename TargetAccountIdsT = Aws::Vector<Aws::String>>
79 template<
typename TargetAccountIdsT = Aws::String>
89 template<
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
90 void SetAmiTags(AmiTagsT&& value) { m_amiTagsHasBeenSet =
true; m_amiTags = std::forward<AmiTagsT>(value); }
91 template<
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
93 template<
typename AmiTagsKeyT = Aws::String,
typename AmiTagsValueT = Aws::String>
95 m_amiTagsHasBeenSet =
true; m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
return *
this;
105 template<
typename KmsKeyIdT = Aws::String>
106 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
107 template<
typename KmsKeyIdT = Aws::String>
118 template<
typename LaunchPermissionT = LaunchPermissionConfiguration>
119 void SetLaunchPermission(LaunchPermissionT&& value) { m_launchPermissionHasBeenSet =
true; m_launchPermission = std::forward<LaunchPermissionT>(value); }
120 template<
typename LaunchPermissionT = LaunchPermissionConfiguration>
126 bool m_nameHasBeenSet =
false;
129 bool m_descriptionHasBeenSet =
false;
132 bool m_targetAccountIdsHasBeenSet =
false;
135 bool m_amiTagsHasBeenSet =
false;
138 bool m_kmsKeyIdHasBeenSet =
false;
141 bool m_launchPermissionHasBeenSet =
false;
AmiDistributionConfiguration & WithKmsKeyId(KmsKeyIdT &&value)
const Aws::Vector< Aws::String > & GetTargetAccountIds() const
AmiDistributionConfiguration & WithName(NameT &&value)
AWS_IMAGEBUILDER_API AmiDistributionConfiguration(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetName() const
const Aws::Map< Aws::String, Aws::String > & GetAmiTags() const
void SetLaunchPermission(LaunchPermissionT &&value)
AmiDistributionConfiguration & WithDescription(DescriptionT &&value)
AmiDistributionConfiguration & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
const Aws::String & GetDescription() const
const LaunchPermissionConfiguration & GetLaunchPermission() const
void SetDescription(DescriptionT &&value)
AWS_IMAGEBUILDER_API AmiDistributionConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetName(NameT &&value)
AmiDistributionConfiguration & WithAmiTags(AmiTagsT &&value)
AmiDistributionConfiguration & WithTargetAccountIds(TargetAccountIdsT &&value)
AmiDistributionConfiguration & WithLaunchPermission(LaunchPermissionT &&value)
AmiDistributionConfiguration & AddTargetAccountIds(TargetAccountIdsT &&value)
const Aws::String & GetKmsKeyId() const
void SetKmsKeyId(KmsKeyIdT &&value)
bool NameHasBeenSet() const
bool DescriptionHasBeenSet() const
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
bool TargetAccountIdsHasBeenSet() const
bool KmsKeyIdHasBeenSet() const
bool LaunchPermissionHasBeenSet() const
void SetTargetAccountIds(TargetAccountIdsT &&value)
AWS_IMAGEBUILDER_API AmiDistributionConfiguration()=default
bool AmiTagsHasBeenSet() const
void SetAmiTags(AmiTagsT &&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