AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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
42 inline const Aws::String& GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 template <typename NameT = Aws::String>
45 void SetName(NameT&& value) {
46 m_nameHasBeenSet = true;
47 m_name = std::forward<NameT>(value);
48 }
49 template <typename NameT = Aws::String>
51 SetName(std::forward<NameT>(value));
52 return *this;
53 }
55
57
61 inline const Aws::String& GetDescription() const { return m_description; }
62 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
63 template <typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) {
65 m_descriptionHasBeenSet = true;
66 m_description = std::forward<DescriptionT>(value);
67 }
68 template <typename DescriptionT = Aws::String>
70 SetDescription(std::forward<DescriptionT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::Vector<Aws::String>& GetTargetAccountIds() const { return m_targetAccountIds; }
80 inline bool TargetAccountIdsHasBeenSet() const { return m_targetAccountIdsHasBeenSet; }
81 template <typename TargetAccountIdsT = Aws::Vector<Aws::String>>
82 void SetTargetAccountIds(TargetAccountIdsT&& value) {
83 m_targetAccountIdsHasBeenSet = true;
84 m_targetAccountIds = std::forward<TargetAccountIdsT>(value);
85 }
86 template <typename TargetAccountIdsT = Aws::Vector<Aws::String>>
88 SetTargetAccountIds(std::forward<TargetAccountIdsT>(value));
89 return *this;
90 }
91 template <typename TargetAccountIdsT = Aws::String>
93 m_targetAccountIdsHasBeenSet = true;
94 m_targetAccountIds.emplace_back(std::forward<TargetAccountIdsT>(value));
95 return *this;
96 }
98
100
103 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
104 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
105 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
106 void SetAmiTags(AmiTagsT&& value) {
107 m_amiTagsHasBeenSet = true;
108 m_amiTags = std::forward<AmiTagsT>(value);
109 }
110 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
112 SetAmiTags(std::forward<AmiTagsT>(value));
113 return *this;
114 }
115 template <typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
116 AmiDistributionConfiguration& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
117 m_amiTagsHasBeenSet = true;
118 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
119 return *this;
120 }
122
124
132 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
133 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
134 template <typename KmsKeyIdT = Aws::String>
135 void SetKmsKeyId(KmsKeyIdT&& value) {
136 m_kmsKeyIdHasBeenSet = true;
137 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
138 }
139 template <typename KmsKeyIdT = Aws::String>
141 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
142 return *this;
143 }
145
147
151 inline const LaunchPermissionConfiguration& GetLaunchPermission() const { return m_launchPermission; }
152 inline bool LaunchPermissionHasBeenSet() const { return m_launchPermissionHasBeenSet; }
153 template <typename LaunchPermissionT = LaunchPermissionConfiguration>
154 void SetLaunchPermission(LaunchPermissionT&& value) {
155 m_launchPermissionHasBeenSet = true;
156 m_launchPermission = std::forward<LaunchPermissionT>(value);
157 }
158 template <typename LaunchPermissionT = LaunchPermissionConfiguration>
160 SetLaunchPermission(std::forward<LaunchPermissionT>(value));
161 return *this;
162 }
164 private:
165 Aws::String m_name;
166
167 Aws::String m_description;
168
169 Aws::Vector<Aws::String> m_targetAccountIds;
170
172
173 Aws::String m_kmsKeyId;
174
175 LaunchPermissionConfiguration m_launchPermission;
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;
182};
183
184} // namespace Model
185} // namespace imagebuilder
186} // 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