7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
11#include <aws/imagebuilder/model/LaunchPermissionConfiguration.h>
22namespace imagebuilder {
44 template <
typename NameT = Aws::String>
46 m_nameHasBeenSet =
true;
47 m_name = std::forward<NameT>(value);
49 template <
typename NameT = Aws::String>
51 SetName(std::forward<NameT>(value));
63 template <
typename DescriptionT = Aws::String>
65 m_descriptionHasBeenSet =
true;
66 m_description = std::forward<DescriptionT>(value);
68 template <
typename DescriptionT = Aws::String>
81 template <
typename TargetAccountIdsT = Aws::Vector<Aws::String>>
83 m_targetAccountIdsHasBeenSet =
true;
84 m_targetAccountIds = std::forward<TargetAccountIdsT>(value);
86 template <
typename TargetAccountIdsT = Aws::Vector<Aws::String>>
91 template <
typename TargetAccountIdsT = Aws::String>
93 m_targetAccountIdsHasBeenSet =
true;
94 m_targetAccountIds.emplace_back(std::forward<TargetAccountIdsT>(value));
105 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
107 m_amiTagsHasBeenSet =
true;
108 m_amiTags = std::forward<AmiTagsT>(value);
110 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
115 template <
typename AmiTagsKeyT = Aws::String,
typename AmiTagsValueT = Aws::String>
117 m_amiTagsHasBeenSet =
true;
118 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
134 template <
typename KmsKeyIdT = Aws::String>
136 m_kmsKeyIdHasBeenSet =
true;
137 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
139 template <
typename KmsKeyIdT = Aws::String>
153 template <
typename LaunchPermissionT = LaunchPermissionConfiguration>
155 m_launchPermissionHasBeenSet =
true;
156 m_launchPermission = std::forward<LaunchPermissionT>(value);
158 template <
typename LaunchPermissionT = LaunchPermissionConfiguration>
176 bool m_nameHasBeenSet =
false;
177 bool m_descriptionHasBeenSet =
false;
178 bool m_targetAccountIdsHasBeenSet =
false;
179 bool m_amiTagsHasBeenSet =
false;
180 bool m_kmsKeyIdHasBeenSet =
false;
181 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