AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
Distribution.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
10#include <aws/imagebuilder/model/AmiDistributionConfiguration.h>
11#include <aws/imagebuilder/model/ContainerDistributionConfiguration.h>
12#include <aws/imagebuilder/model/FastLaunchConfiguration.h>
13#include <aws/imagebuilder/model/LaunchTemplateConfiguration.h>
14#include <aws/imagebuilder/model/S3ExportConfiguration.h>
15#include <aws/imagebuilder/model/SsmParameterConfiguration.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace imagebuilder {
27namespace Model {
28
35 public:
36 AWS_IMAGEBUILDER_API Distribution() = default;
37 AWS_IMAGEBUILDER_API Distribution(Aws::Utils::Json::JsonView jsonValue);
38 AWS_IMAGEBUILDER_API Distribution& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetRegion() const { return m_region; }
46 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
47 template <typename RegionT = Aws::String>
48 void SetRegion(RegionT&& value) {
49 m_regionHasBeenSet = true;
50 m_region = std::forward<RegionT>(value);
51 }
52 template <typename RegionT = Aws::String>
53 Distribution& WithRegion(RegionT&& value) {
54 SetRegion(std::forward<RegionT>(value));
55 return *this;
56 }
58
60
63 inline const AmiDistributionConfiguration& GetAmiDistributionConfiguration() const { return m_amiDistributionConfiguration; }
64 inline bool AmiDistributionConfigurationHasBeenSet() const { return m_amiDistributionConfigurationHasBeenSet; }
65 template <typename AmiDistributionConfigurationT = AmiDistributionConfiguration>
66 void SetAmiDistributionConfiguration(AmiDistributionConfigurationT&& value) {
67 m_amiDistributionConfigurationHasBeenSet = true;
68 m_amiDistributionConfiguration = std::forward<AmiDistributionConfigurationT>(value);
69 }
70 template <typename AmiDistributionConfigurationT = AmiDistributionConfiguration>
71 Distribution& WithAmiDistributionConfiguration(AmiDistributionConfigurationT&& value) {
72 SetAmiDistributionConfiguration(std::forward<AmiDistributionConfigurationT>(value));
73 return *this;
74 }
76
78
83 return m_containerDistributionConfiguration;
84 }
85 inline bool ContainerDistributionConfigurationHasBeenSet() const { return m_containerDistributionConfigurationHasBeenSet; }
86 template <typename ContainerDistributionConfigurationT = ContainerDistributionConfiguration>
87 void SetContainerDistributionConfiguration(ContainerDistributionConfigurationT&& value) {
88 m_containerDistributionConfigurationHasBeenSet = true;
89 m_containerDistributionConfiguration = std::forward<ContainerDistributionConfigurationT>(value);
90 }
91 template <typename ContainerDistributionConfigurationT = ContainerDistributionConfiguration>
92 Distribution& WithContainerDistributionConfiguration(ContainerDistributionConfigurationT&& value) {
93 SetContainerDistributionConfiguration(std::forward<ContainerDistributionConfigurationT>(value));
94 return *this;
95 }
97
99
103 inline const Aws::Vector<Aws::String>& GetLicenseConfigurationArns() const { return m_licenseConfigurationArns; }
104 inline bool LicenseConfigurationArnsHasBeenSet() const { return m_licenseConfigurationArnsHasBeenSet; }
105 template <typename LicenseConfigurationArnsT = Aws::Vector<Aws::String>>
106 void SetLicenseConfigurationArns(LicenseConfigurationArnsT&& value) {
107 m_licenseConfigurationArnsHasBeenSet = true;
108 m_licenseConfigurationArns = std::forward<LicenseConfigurationArnsT>(value);
109 }
110 template <typename LicenseConfigurationArnsT = Aws::Vector<Aws::String>>
111 Distribution& WithLicenseConfigurationArns(LicenseConfigurationArnsT&& value) {
112 SetLicenseConfigurationArns(std::forward<LicenseConfigurationArnsT>(value));
113 return *this;
114 }
115 template <typename LicenseConfigurationArnsT = Aws::String>
116 Distribution& AddLicenseConfigurationArns(LicenseConfigurationArnsT&& value) {
117 m_licenseConfigurationArnsHasBeenSet = true;
118 m_licenseConfigurationArns.emplace_back(std::forward<LicenseConfigurationArnsT>(value));
119 return *this;
120 }
122
124
128 inline const Aws::Vector<LaunchTemplateConfiguration>& GetLaunchTemplateConfigurations() const { return m_launchTemplateConfigurations; }
129 inline bool LaunchTemplateConfigurationsHasBeenSet() const { return m_launchTemplateConfigurationsHasBeenSet; }
130 template <typename LaunchTemplateConfigurationsT = Aws::Vector<LaunchTemplateConfiguration>>
131 void SetLaunchTemplateConfigurations(LaunchTemplateConfigurationsT&& value) {
132 m_launchTemplateConfigurationsHasBeenSet = true;
133 m_launchTemplateConfigurations = std::forward<LaunchTemplateConfigurationsT>(value);
134 }
135 template <typename LaunchTemplateConfigurationsT = Aws::Vector<LaunchTemplateConfiguration>>
136 Distribution& WithLaunchTemplateConfigurations(LaunchTemplateConfigurationsT&& value) {
137 SetLaunchTemplateConfigurations(std::forward<LaunchTemplateConfigurationsT>(value));
138 return *this;
139 }
140 template <typename LaunchTemplateConfigurationsT = LaunchTemplateConfiguration>
141 Distribution& AddLaunchTemplateConfigurations(LaunchTemplateConfigurationsT&& value) {
142 m_launchTemplateConfigurationsHasBeenSet = true;
143 m_launchTemplateConfigurations.emplace_back(std::forward<LaunchTemplateConfigurationsT>(value));
144 return *this;
145 }
147
149
153 inline const S3ExportConfiguration& GetS3ExportConfiguration() const { return m_s3ExportConfiguration; }
154 inline bool S3ExportConfigurationHasBeenSet() const { return m_s3ExportConfigurationHasBeenSet; }
155 template <typename S3ExportConfigurationT = S3ExportConfiguration>
156 void SetS3ExportConfiguration(S3ExportConfigurationT&& value) {
157 m_s3ExportConfigurationHasBeenSet = true;
158 m_s3ExportConfiguration = std::forward<S3ExportConfigurationT>(value);
159 }
160 template <typename S3ExportConfigurationT = S3ExportConfiguration>
161 Distribution& WithS3ExportConfiguration(S3ExportConfigurationT&& value) {
162 SetS3ExportConfiguration(std::forward<S3ExportConfigurationT>(value));
163 return *this;
164 }
166
168
171 inline const Aws::Vector<FastLaunchConfiguration>& GetFastLaunchConfigurations() const { return m_fastLaunchConfigurations; }
172 inline bool FastLaunchConfigurationsHasBeenSet() const { return m_fastLaunchConfigurationsHasBeenSet; }
173 template <typename FastLaunchConfigurationsT = Aws::Vector<FastLaunchConfiguration>>
174 void SetFastLaunchConfigurations(FastLaunchConfigurationsT&& value) {
175 m_fastLaunchConfigurationsHasBeenSet = true;
176 m_fastLaunchConfigurations = std::forward<FastLaunchConfigurationsT>(value);
177 }
178 template <typename FastLaunchConfigurationsT = Aws::Vector<FastLaunchConfiguration>>
179 Distribution& WithFastLaunchConfigurations(FastLaunchConfigurationsT&& value) {
180 SetFastLaunchConfigurations(std::forward<FastLaunchConfigurationsT>(value));
181 return *this;
182 }
183 template <typename FastLaunchConfigurationsT = FastLaunchConfiguration>
184 Distribution& AddFastLaunchConfigurations(FastLaunchConfigurationsT&& value) {
185 m_fastLaunchConfigurationsHasBeenSet = true;
186 m_fastLaunchConfigurations.emplace_back(std::forward<FastLaunchConfigurationsT>(value));
187 return *this;
188 }
190
192
197 inline const Aws::Vector<SsmParameterConfiguration>& GetSsmParameterConfigurations() const { return m_ssmParameterConfigurations; }
198 inline bool SsmParameterConfigurationsHasBeenSet() const { return m_ssmParameterConfigurationsHasBeenSet; }
199 template <typename SsmParameterConfigurationsT = Aws::Vector<SsmParameterConfiguration>>
200 void SetSsmParameterConfigurations(SsmParameterConfigurationsT&& value) {
201 m_ssmParameterConfigurationsHasBeenSet = true;
202 m_ssmParameterConfigurations = std::forward<SsmParameterConfigurationsT>(value);
203 }
204 template <typename SsmParameterConfigurationsT = Aws::Vector<SsmParameterConfiguration>>
205 Distribution& WithSsmParameterConfigurations(SsmParameterConfigurationsT&& value) {
206 SetSsmParameterConfigurations(std::forward<SsmParameterConfigurationsT>(value));
207 return *this;
208 }
209 template <typename SsmParameterConfigurationsT = SsmParameterConfiguration>
210 Distribution& AddSsmParameterConfigurations(SsmParameterConfigurationsT&& value) {
211 m_ssmParameterConfigurationsHasBeenSet = true;
212 m_ssmParameterConfigurations.emplace_back(std::forward<SsmParameterConfigurationsT>(value));
213 return *this;
214 }
216 private:
217 Aws::String m_region;
218
219 AmiDistributionConfiguration m_amiDistributionConfiguration;
220
221 ContainerDistributionConfiguration m_containerDistributionConfiguration;
222
223 Aws::Vector<Aws::String> m_licenseConfigurationArns;
224
225 Aws::Vector<LaunchTemplateConfiguration> m_launchTemplateConfigurations;
226
227 S3ExportConfiguration m_s3ExportConfiguration;
228
229 Aws::Vector<FastLaunchConfiguration> m_fastLaunchConfigurations;
230
231 Aws::Vector<SsmParameterConfiguration> m_ssmParameterConfigurations;
232 bool m_regionHasBeenSet = false;
233 bool m_amiDistributionConfigurationHasBeenSet = false;
234 bool m_containerDistributionConfigurationHasBeenSet = false;
235 bool m_licenseConfigurationArnsHasBeenSet = false;
236 bool m_launchTemplateConfigurationsHasBeenSet = false;
237 bool m_s3ExportConfigurationHasBeenSet = false;
238 bool m_fastLaunchConfigurationsHasBeenSet = false;
239 bool m_ssmParameterConfigurationsHasBeenSet = false;
240};
241
242} // namespace Model
243} // namespace imagebuilder
244} // namespace Aws
Distribution & WithAmiDistributionConfiguration(AmiDistributionConfigurationT &&value)
bool ContainerDistributionConfigurationHasBeenSet() const
Distribution & AddLicenseConfigurationArns(LicenseConfigurationArnsT &&value)
Distribution & WithSsmParameterConfigurations(SsmParameterConfigurationsT &&value)
AWS_IMAGEBUILDER_API Distribution()=default
Distribution & AddLaunchTemplateConfigurations(LaunchTemplateConfigurationsT &&value)
const S3ExportConfiguration & GetS3ExportConfiguration() const
const Aws::String & GetRegion() const
const AmiDistributionConfiguration & GetAmiDistributionConfiguration() const
void SetSsmParameterConfigurations(SsmParameterConfigurationsT &&value)
Distribution & WithContainerDistributionConfiguration(ContainerDistributionConfigurationT &&value)
void SetS3ExportConfiguration(S3ExportConfigurationT &&value)
void SetAmiDistributionConfiguration(AmiDistributionConfigurationT &&value)
void SetFastLaunchConfigurations(FastLaunchConfigurationsT &&value)
void SetLaunchTemplateConfigurations(LaunchTemplateConfigurationsT &&value)
AWS_IMAGEBUILDER_API Distribution(Aws::Utils::Json::JsonView jsonValue)
void SetLicenseConfigurationArns(LicenseConfigurationArnsT &&value)
Distribution & WithLaunchTemplateConfigurations(LaunchTemplateConfigurationsT &&value)
const Aws::Vector< SsmParameterConfiguration > & GetSsmParameterConfigurations() const
Distribution & AddSsmParameterConfigurations(SsmParameterConfigurationsT &&value)
void SetContainerDistributionConfiguration(ContainerDistributionConfigurationT &&value)
Distribution & WithLicenseConfigurationArns(LicenseConfigurationArnsT &&value)
const ContainerDistributionConfiguration & GetContainerDistributionConfiguration() const
AWS_IMAGEBUILDER_API Distribution & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< FastLaunchConfiguration > & GetFastLaunchConfigurations() const
Distribution & AddFastLaunchConfigurations(FastLaunchConfigurationsT &&value)
Distribution & WithRegion(RegionT &&value)
Distribution & WithFastLaunchConfigurations(FastLaunchConfigurationsT &&value)
const Aws::Vector< Aws::String > & GetLicenseConfigurationArns() const
Distribution & WithS3ExportConfiguration(S3ExportConfigurationT &&value)
const Aws::Vector< LaunchTemplateConfiguration > & GetLaunchTemplateConfigurations() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue