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 {
48 template <
typename NameT = Aws::String>
50 m_nameHasBeenSet =
true;
51 m_name = std::forward<NameT>(value);
53 template <
typename NameT = Aws::String>
55 SetName(std::forward<NameT>(value));
70 template <
typename DescriptionT = Aws::String>
72 m_descriptionHasBeenSet =
true;
73 m_description = std::forward<DescriptionT>(value);
75 template <
typename DescriptionT = Aws::String>
91 template <
typename TargetAccountIdsT = Aws::Vector<Aws::String>>
93 m_targetAccountIdsHasBeenSet =
true;
94 m_targetAccountIds = std::forward<TargetAccountIdsT>(value);
96 template <
typename TargetAccountIdsT = Aws::Vector<Aws::String>>
101 template <
typename TargetAccountIdsT = Aws::String>
103 m_targetAccountIdsHasBeenSet =
true;
104 m_targetAccountIds.emplace_back(std::forward<TargetAccountIdsT>(value));
115 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
117 m_amiTagsHasBeenSet =
true;
118 m_amiTags = std::forward<AmiTagsT>(value);
120 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
125 template <
typename AmiTagsKeyT = Aws::String,
typename AmiTagsValueT = Aws::String>
127 m_amiTagsHasBeenSet =
true;
128 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
144 template <
typename KmsKeyIdT = Aws::String>
146 m_kmsKeyIdHasBeenSet =
true;
147 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
149 template <
typename KmsKeyIdT = Aws::String>
163 template <
typename LaunchPermissionT = LaunchPermissionConfiguration>
165 m_launchPermissionHasBeenSet =
true;
166 m_launchPermission = std::forward<LaunchPermissionT>(value);
168 template <
typename LaunchPermissionT = LaunchPermissionConfiguration>
186 bool m_nameHasBeenSet =
false;
187 bool m_descriptionHasBeenSet =
false;
188 bool m_targetAccountIdsHasBeenSet =
false;
189 bool m_amiTagsHasBeenSet =
false;
190 bool m_kmsKeyIdHasBeenSet =
false;
191 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