AWS SDK for C++

AWS SDK for C++ Version 1.11.773

Loading...
Searching...
No Matches
CreateQuotaShareRequest.h
1
6#pragma once
7#include <aws/batch/BatchRequest.h>
8#include <aws/batch/Batch_EXPORTS.h>
9#include <aws/batch/model/QuotaShareCapacityLimit.h>
10#include <aws/batch/model/QuotaSharePreemptionConfiguration.h>
11#include <aws/batch/model/QuotaShareResourceSharingConfiguration.h>
12#include <aws/batch/model/QuotaShareState.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Batch {
21namespace Model {
22
26 public:
27 AWS_BATCH_API CreateQuotaShareRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateQuotaShare"; }
34
35 AWS_BATCH_API Aws::String SerializePayload() const override;
36
38
43 inline const Aws::String& GetQuotaShareName() const { return m_quotaShareName; }
44 inline bool QuotaShareNameHasBeenSet() const { return m_quotaShareNameHasBeenSet; }
45 template <typename QuotaShareNameT = Aws::String>
46 void SetQuotaShareName(QuotaShareNameT&& value) {
47 m_quotaShareNameHasBeenSet = true;
48 m_quotaShareName = std::forward<QuotaShareNameT>(value);
49 }
50 template <typename QuotaShareNameT = Aws::String>
51 CreateQuotaShareRequest& WithQuotaShareName(QuotaShareNameT&& value) {
52 SetQuotaShareName(std::forward<QuotaShareNameT>(value));
53 return *this;
54 }
56
58
63 inline const Aws::String& GetJobQueue() const { return m_jobQueue; }
64 inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
65 template <typename JobQueueT = Aws::String>
66 void SetJobQueue(JobQueueT&& value) {
67 m_jobQueueHasBeenSet = true;
68 m_jobQueue = std::forward<JobQueueT>(value);
69 }
70 template <typename JobQueueT = Aws::String>
72 SetJobQueue(std::forward<JobQueueT>(value));
73 return *this;
74 }
76
78
82 inline const Aws::Vector<QuotaShareCapacityLimit>& GetCapacityLimits() const { return m_capacityLimits; }
83 inline bool CapacityLimitsHasBeenSet() const { return m_capacityLimitsHasBeenSet; }
84 template <typename CapacityLimitsT = Aws::Vector<QuotaShareCapacityLimit>>
85 void SetCapacityLimits(CapacityLimitsT&& value) {
86 m_capacityLimitsHasBeenSet = true;
87 m_capacityLimits = std::forward<CapacityLimitsT>(value);
88 }
89 template <typename CapacityLimitsT = Aws::Vector<QuotaShareCapacityLimit>>
90 CreateQuotaShareRequest& WithCapacityLimits(CapacityLimitsT&& value) {
91 SetCapacityLimits(std::forward<CapacityLimitsT>(value));
92 return *this;
93 }
94 template <typename CapacityLimitsT = QuotaShareCapacityLimit>
95 CreateQuotaShareRequest& AddCapacityLimits(CapacityLimitsT&& value) {
96 m_capacityLimitsHasBeenSet = true;
97 m_capacityLimits.emplace_back(std::forward<CapacityLimitsT>(value));
98 return *this;
99 }
101
103
107 inline const QuotaShareResourceSharingConfiguration& GetResourceSharingConfiguration() const { return m_resourceSharingConfiguration; }
108 inline bool ResourceSharingConfigurationHasBeenSet() const { return m_resourceSharingConfigurationHasBeenSet; }
109 template <typename ResourceSharingConfigurationT = QuotaShareResourceSharingConfiguration>
110 void SetResourceSharingConfiguration(ResourceSharingConfigurationT&& value) {
111 m_resourceSharingConfigurationHasBeenSet = true;
112 m_resourceSharingConfiguration = std::forward<ResourceSharingConfigurationT>(value);
113 }
114 template <typename ResourceSharingConfigurationT = QuotaShareResourceSharingConfiguration>
115 CreateQuotaShareRequest& WithResourceSharingConfiguration(ResourceSharingConfigurationT&& value) {
116 SetResourceSharingConfiguration(std::forward<ResourceSharingConfigurationT>(value));
117 return *this;
118 }
120
122
125 inline const QuotaSharePreemptionConfiguration& GetPreemptionConfiguration() const { return m_preemptionConfiguration; }
126 inline bool PreemptionConfigurationHasBeenSet() const { return m_preemptionConfigurationHasBeenSet; }
127 template <typename PreemptionConfigurationT = QuotaSharePreemptionConfiguration>
128 void SetPreemptionConfiguration(PreemptionConfigurationT&& value) {
129 m_preemptionConfigurationHasBeenSet = true;
130 m_preemptionConfiguration = std::forward<PreemptionConfigurationT>(value);
131 }
132 template <typename PreemptionConfigurationT = QuotaSharePreemptionConfiguration>
133 CreateQuotaShareRequest& WithPreemptionConfiguration(PreemptionConfigurationT&& value) {
134 SetPreemptionConfiguration(std::forward<PreemptionConfigurationT>(value));
135 return *this;
136 }
138
140
146 inline QuotaShareState GetState() const { return m_state; }
147 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
148 inline void SetState(QuotaShareState value) {
149 m_stateHasBeenSet = true;
150 m_state = value;
151 }
153 SetState(value);
154 return *this;
155 }
157
159
166 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
167 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
168 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
169 void SetTags(TagsT&& value) {
170 m_tagsHasBeenSet = true;
171 m_tags = std::forward<TagsT>(value);
172 }
173 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
175 SetTags(std::forward<TagsT>(value));
176 return *this;
177 }
178 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
179 CreateQuotaShareRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
180 m_tagsHasBeenSet = true;
181 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
182 return *this;
183 }
185 private:
186 Aws::String m_quotaShareName;
187
188 Aws::String m_jobQueue;
189
191
192 QuotaShareResourceSharingConfiguration m_resourceSharingConfiguration;
193
194 QuotaSharePreemptionConfiguration m_preemptionConfiguration;
195
197
199 bool m_quotaShareNameHasBeenSet = false;
200 bool m_jobQueueHasBeenSet = false;
201 bool m_capacityLimitsHasBeenSet = false;
202 bool m_resourceSharingConfigurationHasBeenSet = false;
203 bool m_preemptionConfigurationHasBeenSet = false;
204 bool m_stateHasBeenSet = false;
205 bool m_tagsHasBeenSet = false;
206};
207
208} // namespace Model
209} // namespace Batch
210} // namespace Aws
AWS_BATCH_API Aws::String SerializePayload() const override
CreateQuotaShareRequest & WithPreemptionConfiguration(PreemptionConfigurationT &&value)
CreateQuotaShareRequest & WithJobQueue(JobQueueT &&value)
CreateQuotaShareRequest & WithCapacityLimits(CapacityLimitsT &&value)
AWS_BATCH_API CreateQuotaShareRequest()=default
const QuotaShareResourceSharingConfiguration & GetResourceSharingConfiguration() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateQuotaShareRequest & WithQuotaShareName(QuotaShareNameT &&value)
CreateQuotaShareRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateQuotaShareRequest & WithResourceSharingConfiguration(ResourceSharingConfigurationT &&value)
CreateQuotaShareRequest & AddCapacityLimits(CapacityLimitsT &&value)
const Aws::Vector< QuotaShareCapacityLimit > & GetCapacityLimits() const
CreateQuotaShareRequest & WithTags(TagsT &&value)
CreateQuotaShareRequest & WithState(QuotaShareState value)
void SetPreemptionConfiguration(PreemptionConfigurationT &&value)
virtual const char * GetServiceRequestName() const override
const QuotaSharePreemptionConfiguration & GetPreemptionConfiguration() const
void SetResourceSharingConfiguration(ResourceSharingConfigurationT &&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
std::vector< T, Aws::Allocator< T > > Vector