AWS SDK for C++

AWS SDK for C++ Version 1.11.902

Loading...
Searching...
No Matches
AmiDistributionConfiguration.h
1
6#pragma once
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>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace imagebuilder {
23namespace Model {
24
32 public:
33 AWS_IMAGEBUILDER_API AmiDistributionConfiguration() = default;
36 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
46 inline const Aws::String& GetName() const { return m_name; }
47 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
48 template <typename NameT = Aws::String>
49 void SetName(NameT&& value) {
50 m_nameHasBeenSet = true;
51 m_name = std::forward<NameT>(value);
52 }
53 template <typename NameT = Aws::String>
55 SetName(std::forward<NameT>(value));
56 return *this;
57 }
59
61
68 inline const Aws::String& GetDescription() const { return m_description; }
69 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
70 template <typename DescriptionT = Aws::String>
71 void SetDescription(DescriptionT&& value) {
72 m_descriptionHasBeenSet = true;
73 m_description = std::forward<DescriptionT>(value);
74 }
75 template <typename DescriptionT = Aws::String>
77 SetDescription(std::forward<DescriptionT>(value));
78 return *this;
79 }
81
83
89 inline const Aws::Vector<Aws::String>& GetTargetAccountIds() const { return m_targetAccountIds; }
90 inline bool TargetAccountIdsHasBeenSet() const { return m_targetAccountIdsHasBeenSet; }
91 template <typename TargetAccountIdsT = Aws::Vector<Aws::String>>
92 void SetTargetAccountIds(TargetAccountIdsT&& value) {
93 m_targetAccountIdsHasBeenSet = true;
94 m_targetAccountIds = std::forward<TargetAccountIdsT>(value);
95 }
96 template <typename TargetAccountIdsT = Aws::Vector<Aws::String>>
98 SetTargetAccountIds(std::forward<TargetAccountIdsT>(value));
99 return *this;
100 }
101 template <typename TargetAccountIdsT = Aws::String>
103 m_targetAccountIdsHasBeenSet = true;
104 m_targetAccountIds.emplace_back(std::forward<TargetAccountIdsT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
114 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
115 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
116 void SetAmiTags(AmiTagsT&& value) {
117 m_amiTagsHasBeenSet = true;
118 m_amiTags = std::forward<AmiTagsT>(value);
119 }
120 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
122 SetAmiTags(std::forward<AmiTagsT>(value));
123 return *this;
124 }
125 template <typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
126 AmiDistributionConfiguration& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
127 m_amiTagsHasBeenSet = true;
128 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
129 return *this;
130 }
132
134
142 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
143 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
144 template <typename KmsKeyIdT = Aws::String>
145 void SetKmsKeyId(KmsKeyIdT&& value) {
146 m_kmsKeyIdHasBeenSet = true;
147 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
148 }
149 template <typename KmsKeyIdT = Aws::String>
151 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
152 return *this;
153 }
155
157
161 inline const LaunchPermissionConfiguration& GetLaunchPermission() const { return m_launchPermission; }
162 inline bool LaunchPermissionHasBeenSet() const { return m_launchPermissionHasBeenSet; }
163 template <typename LaunchPermissionT = LaunchPermissionConfiguration>
164 void SetLaunchPermission(LaunchPermissionT&& value) {
165 m_launchPermissionHasBeenSet = true;
166 m_launchPermission = std::forward<LaunchPermissionT>(value);
167 }
168 template <typename LaunchPermissionT = LaunchPermissionConfiguration>
170 SetLaunchPermission(std::forward<LaunchPermissionT>(value));
171 return *this;
172 }
174 private:
175 Aws::String m_name;
176
177 Aws::String m_description;
178
179 Aws::Vector<Aws::String> m_targetAccountIds;
180
182
183 Aws::String m_kmsKeyId;
184
185 LaunchPermissionConfiguration m_launchPermission;
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;
192};
193
194} // namespace Model
195} // namespace imagebuilder
196} // namespace Aws
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::Map< Aws::String, Aws::String > & GetAmiTags() const
AmiDistributionConfiguration & WithDescription(DescriptionT &&value)
AmiDistributionConfiguration & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
const LaunchPermissionConfiguration & GetLaunchPermission() const
AWS_IMAGEBUILDER_API AmiDistributionConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AmiDistributionConfiguration & WithAmiTags(AmiTagsT &&value)
AmiDistributionConfiguration & WithTargetAccountIds(TargetAccountIdsT &&value)
AmiDistributionConfiguration & WithLaunchPermission(LaunchPermissionT &&value)
AmiDistributionConfiguration & AddTargetAccountIds(TargetAccountIdsT &&value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_IMAGEBUILDER_API AmiDistributionConfiguration()=default
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