AWS SDK for C++

AWS SDK for C++ Version 1.11.901

Loading...
Searching...
No Matches
DistributeImageRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/imagebuilder/ImagebuilderRequest.h>
11#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
12#include <aws/imagebuilder/model/ImageLoggingConfiguration.h>
13
14#include <utility>
15
16namespace Aws {
17namespace imagebuilder {
18namespace Model {
19
23 public:
24 AWS_IMAGEBUILDER_API DistributeImageRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "DistributeImage"; }
31
32 AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override;
33
35
44 inline const Aws::String& GetSourceImage() const { return m_sourceImage; }
45 inline bool SourceImageHasBeenSet() const { return m_sourceImageHasBeenSet; }
46 template <typename SourceImageT = Aws::String>
47 void SetSourceImage(SourceImageT&& value) {
48 m_sourceImageHasBeenSet = true;
49 m_sourceImage = std::forward<SourceImageT>(value);
50 }
51 template <typename SourceImageT = Aws::String>
52 DistributeImageRequest& WithSourceImage(SourceImageT&& value) {
53 SetSourceImage(std::forward<SourceImageT>(value));
54 return *this;
55 }
57
59
64 inline const Aws::String& GetDistributionConfigurationArn() const { return m_distributionConfigurationArn; }
65 inline bool DistributionConfigurationArnHasBeenSet() const { return m_distributionConfigurationArnHasBeenSet; }
66 template <typename DistributionConfigurationArnT = Aws::String>
67 void SetDistributionConfigurationArn(DistributionConfigurationArnT&& value) {
68 m_distributionConfigurationArnHasBeenSet = true;
69 m_distributionConfigurationArn = std::forward<DistributionConfigurationArnT>(value);
70 }
71 template <typename DistributionConfigurationArnT = Aws::String>
72 DistributeImageRequest& WithDistributionConfigurationArn(DistributionConfigurationArnT&& value) {
73 SetDistributionConfigurationArn(std::forward<DistributionConfigurationArnT>(value));
74 return *this;
75 }
77
79
83 inline const Aws::String& GetExecutionRole() const { return m_executionRole; }
84 inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; }
85 template <typename ExecutionRoleT = Aws::String>
86 void SetExecutionRole(ExecutionRoleT&& value) {
87 m_executionRoleHasBeenSet = true;
88 m_executionRole = std::forward<ExecutionRoleT>(value);
89 }
90 template <typename ExecutionRoleT = Aws::String>
91 DistributeImageRequest& WithExecutionRole(ExecutionRoleT&& value) {
92 SetExecutionRole(std::forward<ExecutionRoleT>(value));
93 return *this;
94 }
96
98
103 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
104 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
105 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
106 void SetTags(TagsT&& value) {
107 m_tagsHasBeenSet = true;
108 m_tags = std::forward<TagsT>(value);
109 }
110 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
112 SetTags(std::forward<TagsT>(value));
113 return *this;
114 }
115 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
116 DistributeImageRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
117 m_tagsHasBeenSet = true;
118 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
119 return *this;
120 }
122
124
132 inline const Aws::String& GetClientToken() const { return m_clientToken; }
133 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
134 template <typename ClientTokenT = Aws::String>
135 void SetClientToken(ClientTokenT&& value) {
136 m_clientTokenHasBeenSet = true;
137 m_clientToken = std::forward<ClientTokenT>(value);
138 }
139 template <typename ClientTokenT = Aws::String>
141 SetClientToken(std::forward<ClientTokenT>(value));
142 return *this;
143 }
145
147
150 inline const ImageLoggingConfiguration& GetLoggingConfiguration() const { return m_loggingConfiguration; }
151 inline bool LoggingConfigurationHasBeenSet() const { return m_loggingConfigurationHasBeenSet; }
152 template <typename LoggingConfigurationT = ImageLoggingConfiguration>
153 void SetLoggingConfiguration(LoggingConfigurationT&& value) {
154 m_loggingConfigurationHasBeenSet = true;
155 m_loggingConfiguration = std::forward<LoggingConfigurationT>(value);
156 }
157 template <typename LoggingConfigurationT = ImageLoggingConfiguration>
158 DistributeImageRequest& WithLoggingConfiguration(LoggingConfigurationT&& value) {
159 SetLoggingConfiguration(std::forward<LoggingConfigurationT>(value));
160 return *this;
161 }
163 private:
164 Aws::String m_sourceImage;
165
166 Aws::String m_distributionConfigurationArn;
167
168 Aws::String m_executionRole;
169
171
173
174 ImageLoggingConfiguration m_loggingConfiguration;
175 bool m_sourceImageHasBeenSet = false;
176 bool m_distributionConfigurationArnHasBeenSet = false;
177 bool m_executionRoleHasBeenSet = false;
178 bool m_tagsHasBeenSet = false;
179 bool m_clientTokenHasBeenSet = true;
180 bool m_loggingConfigurationHasBeenSet = false;
181};
182
183} // namespace Model
184} // namespace imagebuilder
185} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
void SetDistributionConfigurationArn(DistributionConfigurationArnT &&value)
void SetLoggingConfiguration(LoggingConfigurationT &&value)
const ImageLoggingConfiguration & GetLoggingConfiguration() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
DistributeImageRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
DistributeImageRequest & WithTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
AWS_IMAGEBUILDER_API DistributeImageRequest()=default
DistributeImageRequest & WithSourceImage(SourceImageT &&value)
DistributeImageRequest & WithExecutionRole(ExecutionRoleT &&value)
DistributeImageRequest & WithClientToken(ClientTokenT &&value)
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
DistributeImageRequest & WithDistributionConfigurationArn(DistributionConfigurationArnT &&value)
DistributeImageRequest & WithLoggingConfiguration(LoggingConfigurationT &&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