AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateClusterRequest.h
1
6#pragma once
7#include <aws/pcs/PCS_EXPORTS.h>
8#include <aws/pcs/PCSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/pcs/model/SchedulerRequest.h>
11#include <aws/pcs/model/Size.h>
12#include <aws/pcs/model/NetworkingRequest.h>
13#include <aws/pcs/model/ClusterSlurmConfigurationRequest.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <utility>
16#include <aws/core/utils/UUID.h>
17
18namespace Aws
19{
20namespace PCS
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_PCS_API CreateClusterRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateCluster"; }
37
38 AWS_PCS_API Aws::String SerializePayload() const override;
39
41
42
44
47 inline const Aws::String& GetClusterName() const { return m_clusterName; }
48 inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; }
49 template<typename ClusterNameT = Aws::String>
50 void SetClusterName(ClusterNameT&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::forward<ClusterNameT>(value); }
51 template<typename ClusterNameT = Aws::String>
52 CreateClusterRequest& WithClusterName(ClusterNameT&& value) { SetClusterName(std::forward<ClusterNameT>(value)); return *this;}
54
56
60 inline const SchedulerRequest& GetScheduler() const { return m_scheduler; }
61 inline bool SchedulerHasBeenSet() const { return m_schedulerHasBeenSet; }
62 template<typename SchedulerT = SchedulerRequest>
63 void SetScheduler(SchedulerT&& value) { m_schedulerHasBeenSet = true; m_scheduler = std::forward<SchedulerT>(value); }
64 template<typename SchedulerT = SchedulerRequest>
65 CreateClusterRequest& WithScheduler(SchedulerT&& value) { SetScheduler(std::forward<SchedulerT>(value)); return *this;}
67
69
76 inline Size GetSize() const { return m_size; }
77 inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
78 inline void SetSize(Size value) { m_sizeHasBeenSet = true; m_size = value; }
79 inline CreateClusterRequest& WithSize(Size value) { SetSize(value); return *this;}
81
83
86 inline const NetworkingRequest& GetNetworking() const { return m_networking; }
87 inline bool NetworkingHasBeenSet() const { return m_networkingHasBeenSet; }
88 template<typename NetworkingT = NetworkingRequest>
89 void SetNetworking(NetworkingT&& value) { m_networkingHasBeenSet = true; m_networking = std::forward<NetworkingT>(value); }
90 template<typename NetworkingT = NetworkingRequest>
91 CreateClusterRequest& WithNetworking(NetworkingT&& value) { SetNetworking(std::forward<NetworkingT>(value)); return *this;}
93
95
98 inline const ClusterSlurmConfigurationRequest& GetSlurmConfiguration() const { return m_slurmConfiguration; }
99 inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; }
100 template<typename SlurmConfigurationT = ClusterSlurmConfigurationRequest>
101 void SetSlurmConfiguration(SlurmConfigurationT&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::forward<SlurmConfigurationT>(value); }
102 template<typename SlurmConfigurationT = ClusterSlurmConfigurationRequest>
103 CreateClusterRequest& WithSlurmConfiguration(SlurmConfigurationT&& value) { SetSlurmConfiguration(std::forward<SlurmConfigurationT>(value)); return *this;}
105
107
116 inline const Aws::String& GetClientToken() const { return m_clientToken; }
117 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
118 template<typename ClientTokenT = Aws::String>
119 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
120 template<typename ClientTokenT = Aws::String>
121 CreateClusterRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
123
125
129 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
130 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
131 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
132 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
133 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
134 CreateClusterRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
135 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
136 CreateClusterRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
137 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
138 }
140 private:
141
142 Aws::String m_clusterName;
143 bool m_clusterNameHasBeenSet = false;
144
145 SchedulerRequest m_scheduler;
146 bool m_schedulerHasBeenSet = false;
147
148 Size m_size{Size::NOT_SET};
149 bool m_sizeHasBeenSet = false;
150
151 NetworkingRequest m_networking;
152 bool m_networkingHasBeenSet = false;
153
154 ClusterSlurmConfigurationRequest m_slurmConfiguration;
155 bool m_slurmConfigurationHasBeenSet = false;
156
158 bool m_clientTokenHasBeenSet = true;
159
161 bool m_tagsHasBeenSet = false;
162 };
163
164} // namespace Model
165} // namespace PCS
166} // namespace Aws
CreateClusterRequest & WithSize(Size value)
AWS_PCS_API Aws::String SerializePayload() const override
CreateClusterRequest & WithSlurmConfiguration(SlurmConfigurationT &&value)
CreateClusterRequest & WithClientToken(ClientTokenT &&value)
const NetworkingRequest & GetNetworking() const
virtual const char * GetServiceRequestName() const override
CreateClusterRequest & WithTags(TagsT &&value)
AWS_PCS_API CreateClusterRequest()=default
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::String & GetClusterName() const
CreateClusterRequest & WithNetworking(NetworkingT &&value)
CreateClusterRequest & WithClusterName(ClusterNameT &&value)
const Aws::String & GetClientToken() const
const SchedulerRequest & GetScheduler() const
void SetSlurmConfiguration(SlurmConfigurationT &&value)
CreateClusterRequest & WithScheduler(SchedulerT &&value)
void SetClusterName(ClusterNameT &&value)
AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateClusterRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const ClusterSlurmConfigurationRequest & GetSlurmConfiguration() const
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
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