AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
CreateClusterRequest.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/medialive/MediaLiveRequest.h>
11#include <aws/medialive/MediaLive_EXPORTS.h>
12#include <aws/medialive/model/ClusterNetworkSettingsCreateRequest.h>
13#include <aws/medialive/model/ClusterType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace MediaLive {
19namespace Model {
20
31 public:
32 AWS_MEDIALIVE_API CreateClusterRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateCluster"; }
39
40 AWS_MEDIALIVE_API Aws::String SerializePayload() const override;
41
43
48 inline ClusterType GetClusterType() const { return m_clusterType; }
49 inline bool ClusterTypeHasBeenSet() const { return m_clusterTypeHasBeenSet; }
50 inline void SetClusterType(ClusterType value) {
51 m_clusterTypeHasBeenSet = true;
52 m_clusterType = value;
53 }
55 SetClusterType(value);
56 return *this;
57 }
59
61
66 inline const Aws::String& GetInstanceRoleArn() const { return m_instanceRoleArn; }
67 inline bool InstanceRoleArnHasBeenSet() const { return m_instanceRoleArnHasBeenSet; }
68 template <typename InstanceRoleArnT = Aws::String>
69 void SetInstanceRoleArn(InstanceRoleArnT&& value) {
70 m_instanceRoleArnHasBeenSet = true;
71 m_instanceRoleArn = std::forward<InstanceRoleArnT>(value);
72 }
73 template <typename InstanceRoleArnT = Aws::String>
74 CreateClusterRequest& WithInstanceRoleArn(InstanceRoleArnT&& value) {
75 SetInstanceRoleArn(std::forward<InstanceRoleArnT>(value));
76 return *this;
77 }
79
81
85 inline const Aws::String& GetName() const { return m_name; }
86 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
87 template <typename NameT = Aws::String>
88 void SetName(NameT&& value) {
89 m_nameHasBeenSet = true;
90 m_name = std::forward<NameT>(value);
91 }
92 template <typename NameT = Aws::String>
94 SetName(std::forward<NameT>(value));
95 return *this;
96 }
98
100
104 inline const ClusterNetworkSettingsCreateRequest& GetNetworkSettings() const { return m_networkSettings; }
105 inline bool NetworkSettingsHasBeenSet() const { return m_networkSettingsHasBeenSet; }
106 template <typename NetworkSettingsT = ClusterNetworkSettingsCreateRequest>
107 void SetNetworkSettings(NetworkSettingsT&& value) {
108 m_networkSettingsHasBeenSet = true;
109 m_networkSettings = std::forward<NetworkSettingsT>(value);
110 }
111 template <typename NetworkSettingsT = ClusterNetworkSettingsCreateRequest>
112 CreateClusterRequest& WithNetworkSettings(NetworkSettingsT&& value) {
113 SetNetworkSettings(std::forward<NetworkSettingsT>(value));
114 return *this;
115 }
117
119
122 inline const Aws::String& GetRequestId() const { return m_requestId; }
123 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
124 template <typename RequestIdT = Aws::String>
125 void SetRequestId(RequestIdT&& value) {
126 m_requestIdHasBeenSet = true;
127 m_requestId = std::forward<RequestIdT>(value);
128 }
129 template <typename RequestIdT = Aws::String>
130 CreateClusterRequest& WithRequestId(RequestIdT&& value) {
131 SetRequestId(std::forward<RequestIdT>(value));
132 return *this;
133 }
135
137
140 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
141 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
142 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
143 void SetTags(TagsT&& value) {
144 m_tagsHasBeenSet = true;
145 m_tags = std::forward<TagsT>(value);
146 }
147 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
149 SetTags(std::forward<TagsT>(value));
150 return *this;
151 }
152 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
153 CreateClusterRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
154 m_tagsHasBeenSet = true;
155 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
156 return *this;
157 }
159 private:
160 ClusterType m_clusterType{ClusterType::NOT_SET};
161
162 Aws::String m_instanceRoleArn;
163
164 Aws::String m_name;
165
166 ClusterNetworkSettingsCreateRequest m_networkSettings;
167
169
171 bool m_clusterTypeHasBeenSet = false;
172 bool m_instanceRoleArnHasBeenSet = false;
173 bool m_nameHasBeenSet = false;
174 bool m_networkSettingsHasBeenSet = false;
175 bool m_requestIdHasBeenSet = true;
176 bool m_tagsHasBeenSet = false;
177};
178
179} // namespace Model
180} // namespace MediaLive
181} // namespace Aws
AWS_MEDIALIVE_API CreateClusterRequest()=default
void SetNetworkSettings(NetworkSettingsT &&value)
CreateClusterRequest & WithInstanceRoleArn(InstanceRoleArnT &&value)
const ClusterNetworkSettingsCreateRequest & GetNetworkSettings() const
void SetInstanceRoleArn(InstanceRoleArnT &&value)
CreateClusterRequest & WithTags(TagsT &&value)
AWS_MEDIALIVE_API Aws::String SerializePayload() const override
CreateClusterRequest & WithClusterType(ClusterType value)
CreateClusterRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
virtual const char * GetServiceRequestName() const override
CreateClusterRequest & WithNetworkSettings(NetworkSettingsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateClusterRequest & WithRequestId(RequestIdT &&value)
CreateClusterRequest & WithName(NameT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
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