AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
CreateCapacityProviderRequest.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/ecs/ECSRequest.h>
10#include <aws/ecs/ECS_EXPORTS.h>
11#include <aws/ecs/model/AutoScalingGroupProvider.h>
12#include <aws/ecs/model/CreateManagedInstancesProviderConfiguration.h>
13#include <aws/ecs/model/Tag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace ECS {
19namespace Model {
20
24 public:
25 AWS_ECS_API CreateCapacityProviderRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "CreateCapacityProvider"; }
32
33 AWS_ECS_API Aws::String SerializePayload() const override;
34
36
38
44 inline const Aws::String& GetName() const { return m_name; }
45 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
46 template <typename NameT = Aws::String>
47 void SetName(NameT&& value) {
48 m_nameHasBeenSet = true;
49 m_name = std::forward<NameT>(value);
50 }
51 template <typename NameT = Aws::String>
53 SetName(std::forward<NameT>(value));
54 return *this;
55 }
57
59
64 inline const Aws::String& GetCluster() const { return m_cluster; }
65 inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; }
66 template <typename ClusterT = Aws::String>
67 void SetCluster(ClusterT&& value) {
68 m_clusterHasBeenSet = true;
69 m_cluster = std::forward<ClusterT>(value);
70 }
71 template <typename ClusterT = Aws::String>
73 SetCluster(std::forward<ClusterT>(value));
74 return *this;
75 }
77
79
82 inline const AutoScalingGroupProvider& GetAutoScalingGroupProvider() const { return m_autoScalingGroupProvider; }
83 inline bool AutoScalingGroupProviderHasBeenSet() const { return m_autoScalingGroupProviderHasBeenSet; }
84 template <typename AutoScalingGroupProviderT = AutoScalingGroupProvider>
85 void SetAutoScalingGroupProvider(AutoScalingGroupProviderT&& value) {
86 m_autoScalingGroupProviderHasBeenSet = true;
87 m_autoScalingGroupProvider = std::forward<AutoScalingGroupProviderT>(value);
88 }
89 template <typename AutoScalingGroupProviderT = AutoScalingGroupProvider>
90 CreateCapacityProviderRequest& WithAutoScalingGroupProvider(AutoScalingGroupProviderT&& value) {
91 SetAutoScalingGroupProvider(std::forward<AutoScalingGroupProviderT>(value));
92 return *this;
93 }
95
97
103 inline const CreateManagedInstancesProviderConfiguration& GetManagedInstancesProvider() const { return m_managedInstancesProvider; }
104 inline bool ManagedInstancesProviderHasBeenSet() const { return m_managedInstancesProviderHasBeenSet; }
105 template <typename ManagedInstancesProviderT = CreateManagedInstancesProviderConfiguration>
106 void SetManagedInstancesProvider(ManagedInstancesProviderT&& value) {
107 m_managedInstancesProviderHasBeenSet = true;
108 m_managedInstancesProvider = std::forward<ManagedInstancesProviderT>(value);
109 }
110 template <typename ManagedInstancesProviderT = CreateManagedInstancesProviderConfiguration>
112 SetManagedInstancesProvider(std::forward<ManagedInstancesProviderT>(value));
113 return *this;
114 }
116
118
137 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
138 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
139 template <typename TagsT = Aws::Vector<Tag>>
140 void SetTags(TagsT&& value) {
141 m_tagsHasBeenSet = true;
142 m_tags = std::forward<TagsT>(value);
143 }
144 template <typename TagsT = Aws::Vector<Tag>>
146 SetTags(std::forward<TagsT>(value));
147 return *this;
148 }
149 template <typename TagsT = Tag>
151 m_tagsHasBeenSet = true;
152 m_tags.emplace_back(std::forward<TagsT>(value));
153 return *this;
154 }
156 private:
157 Aws::String m_name;
158
159 Aws::String m_cluster;
160
161 AutoScalingGroupProvider m_autoScalingGroupProvider;
162
163 CreateManagedInstancesProviderConfiguration m_managedInstancesProvider;
164
165 Aws::Vector<Tag> m_tags;
166 bool m_nameHasBeenSet = false;
167 bool m_clusterHasBeenSet = false;
168 bool m_autoScalingGroupProviderHasBeenSet = false;
169 bool m_managedInstancesProviderHasBeenSet = false;
170 bool m_tagsHasBeenSet = false;
171};
172
173} // namespace Model
174} // namespace ECS
175} // namespace Aws
AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateCapacityProviderRequest & WithManagedInstancesProvider(ManagedInstancesProviderT &&value)
virtual const char * GetServiceRequestName() const override
CreateCapacityProviderRequest & WithCluster(ClusterT &&value)
AWS_ECS_API Aws::String SerializePayload() const override
CreateCapacityProviderRequest & WithName(NameT &&value)
CreateCapacityProviderRequest & AddTags(TagsT &&value)
const CreateManagedInstancesProviderConfiguration & GetManagedInstancesProvider() const
CreateCapacityProviderRequest & WithAutoScalingGroupProvider(AutoScalingGroupProviderT &&value)
CreateCapacityProviderRequest & WithTags(TagsT &&value)
void SetManagedInstancesProvider(ManagedInstancesProviderT &&value)
const AutoScalingGroupProvider & GetAutoScalingGroupProvider() const
void SetAutoScalingGroupProvider(AutoScalingGroupProviderT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector