AWS SDK for C++

AWS SDK for C++ Version 1.11.773

Loading...
Searching...
No Matches
QuotaShareDetail.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/QuotaShareCapacityLimit.h>
9#include <aws/batch/model/QuotaSharePreemptionConfiguration.h>
10#include <aws/batch/model/QuotaShareResourceSharingConfiguration.h>
11#include <aws/batch/model/QuotaShareState.h>
12#include <aws/batch/model/QuotaShareStatus.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Batch {
26namespace Model {
27
35 public:
36 AWS_BATCH_API QuotaShareDetail() = default;
39 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetQuotaShareName() const { return m_quotaShareName; }
46 inline bool QuotaShareNameHasBeenSet() const { return m_quotaShareNameHasBeenSet; }
47 template <typename QuotaShareNameT = Aws::String>
48 void SetQuotaShareName(QuotaShareNameT&& value) {
49 m_quotaShareNameHasBeenSet = true;
50 m_quotaShareName = std::forward<QuotaShareNameT>(value);
51 }
52 template <typename QuotaShareNameT = Aws::String>
53 QuotaShareDetail& WithQuotaShareName(QuotaShareNameT&& value) {
54 SetQuotaShareName(std::forward<QuotaShareNameT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetQuotaShareArn() const { return m_quotaShareArn; }
64 inline bool QuotaShareArnHasBeenSet() const { return m_quotaShareArnHasBeenSet; }
65 template <typename QuotaShareArnT = Aws::String>
66 void SetQuotaShareArn(QuotaShareArnT&& value) {
67 m_quotaShareArnHasBeenSet = true;
68 m_quotaShareArn = std::forward<QuotaShareArnT>(value);
69 }
70 template <typename QuotaShareArnT = Aws::String>
71 QuotaShareDetail& WithQuotaShareArn(QuotaShareArnT&& value) {
72 SetQuotaShareArn(std::forward<QuotaShareArnT>(value));
73 return *this;
74 }
76
78
82 inline const Aws::String& GetJobQueueArn() const { return m_jobQueueArn; }
83 inline bool JobQueueArnHasBeenSet() const { return m_jobQueueArnHasBeenSet; }
84 template <typename JobQueueArnT = Aws::String>
85 void SetJobQueueArn(JobQueueArnT&& value) {
86 m_jobQueueArnHasBeenSet = true;
87 m_jobQueueArn = std::forward<JobQueueArnT>(value);
88 }
89 template <typename JobQueueArnT = Aws::String>
90 QuotaShareDetail& WithJobQueueArn(JobQueueArnT&& value) {
91 SetJobQueueArn(std::forward<JobQueueArnT>(value));
92 return *this;
93 }
95
97
101 inline const Aws::Vector<QuotaShareCapacityLimit>& GetCapacityLimits() const { return m_capacityLimits; }
102 inline bool CapacityLimitsHasBeenSet() const { return m_capacityLimitsHasBeenSet; }
103 template <typename CapacityLimitsT = Aws::Vector<QuotaShareCapacityLimit>>
104 void SetCapacityLimits(CapacityLimitsT&& value) {
105 m_capacityLimitsHasBeenSet = true;
106 m_capacityLimits = std::forward<CapacityLimitsT>(value);
107 }
108 template <typename CapacityLimitsT = Aws::Vector<QuotaShareCapacityLimit>>
109 QuotaShareDetail& WithCapacityLimits(CapacityLimitsT&& value) {
110 SetCapacityLimits(std::forward<CapacityLimitsT>(value));
111 return *this;
112 }
113 template <typename CapacityLimitsT = QuotaShareCapacityLimit>
114 QuotaShareDetail& AddCapacityLimits(CapacityLimitsT&& value) {
115 m_capacityLimitsHasBeenSet = true;
116 m_capacityLimits.emplace_back(std::forward<CapacityLimitsT>(value));
117 return *this;
118 }
120
122
126 inline const QuotaShareResourceSharingConfiguration& GetResourceSharingConfiguration() const { return m_resourceSharingConfiguration; }
127 inline bool ResourceSharingConfigurationHasBeenSet() const { return m_resourceSharingConfigurationHasBeenSet; }
128 template <typename ResourceSharingConfigurationT = QuotaShareResourceSharingConfiguration>
129 void SetResourceSharingConfiguration(ResourceSharingConfigurationT&& value) {
130 m_resourceSharingConfigurationHasBeenSet = true;
131 m_resourceSharingConfiguration = std::forward<ResourceSharingConfigurationT>(value);
132 }
133 template <typename ResourceSharingConfigurationT = QuotaShareResourceSharingConfiguration>
134 QuotaShareDetail& WithResourceSharingConfiguration(ResourceSharingConfigurationT&& value) {
135 SetResourceSharingConfiguration(std::forward<ResourceSharingConfigurationT>(value));
136 return *this;
137 }
139
141
144 inline const QuotaSharePreemptionConfiguration& GetPreemptionConfiguration() const { return m_preemptionConfiguration; }
145 inline bool PreemptionConfigurationHasBeenSet() const { return m_preemptionConfigurationHasBeenSet; }
146 template <typename PreemptionConfigurationT = QuotaSharePreemptionConfiguration>
147 void SetPreemptionConfiguration(PreemptionConfigurationT&& value) {
148 m_preemptionConfigurationHasBeenSet = true;
149 m_preemptionConfiguration = std::forward<PreemptionConfigurationT>(value);
150 }
151 template <typename PreemptionConfigurationT = QuotaSharePreemptionConfiguration>
152 QuotaShareDetail& WithPreemptionConfiguration(PreemptionConfigurationT&& value) {
153 SetPreemptionConfiguration(std::forward<PreemptionConfigurationT>(value));
154 return *this;
155 }
157
159
162 inline QuotaShareState GetState() const { return m_state; }
163 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
164 inline void SetState(QuotaShareState value) {
165 m_stateHasBeenSet = true;
166 m_state = value;
167 }
169 SetState(value);
170 return *this;
171 }
173
175
178 inline QuotaShareStatus GetStatus() const { return m_status; }
179 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
180 inline void SetStatus(QuotaShareStatus value) {
181 m_statusHasBeenSet = true;
182 m_status = value;
183 }
185 SetStatus(value);
186 return *this;
187 }
189 private:
190 Aws::String m_quotaShareName;
191
192 Aws::String m_quotaShareArn;
193
194 Aws::String m_jobQueueArn;
195
197
198 QuotaShareResourceSharingConfiguration m_resourceSharingConfiguration;
199
200 QuotaSharePreemptionConfiguration m_preemptionConfiguration;
201
203
205 bool m_quotaShareNameHasBeenSet = false;
206 bool m_quotaShareArnHasBeenSet = false;
207 bool m_jobQueueArnHasBeenSet = false;
208 bool m_capacityLimitsHasBeenSet = false;
209 bool m_resourceSharingConfigurationHasBeenSet = false;
210 bool m_preemptionConfigurationHasBeenSet = false;
211 bool m_stateHasBeenSet = false;
212 bool m_statusHasBeenSet = false;
213};
214
215} // namespace Model
216} // namespace Batch
217} // namespace Aws
QuotaShareDetail & WithQuotaShareName(QuotaShareNameT &&value)
QuotaShareDetail & WithState(QuotaShareState value)
void SetCapacityLimits(CapacityLimitsT &&value)
QuotaShareDetail & WithQuotaShareArn(QuotaShareArnT &&value)
QuotaShareDetail & WithCapacityLimits(CapacityLimitsT &&value)
const Aws::String & GetJobQueueArn() const
AWS_BATCH_API QuotaShareDetail()=default
void SetResourceSharingConfiguration(ResourceSharingConfigurationT &&value)
QuotaShareDetail & WithResourceSharingConfiguration(ResourceSharingConfigurationT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
void SetPreemptionConfiguration(PreemptionConfigurationT &&value)
QuotaShareDetail & AddCapacityLimits(CapacityLimitsT &&value)
QuotaShareDetail & WithStatus(QuotaShareStatus value)
const Aws::Vector< QuotaShareCapacityLimit > & GetCapacityLimits() const
void SetQuotaShareArn(QuotaShareArnT &&value)
const Aws::String & GetQuotaShareArn() const
void SetJobQueueArn(JobQueueArnT &&value)
const QuotaSharePreemptionConfiguration & GetPreemptionConfiguration() const
QuotaShareDetail & WithPreemptionConfiguration(PreemptionConfigurationT &&value)
QuotaShareDetail & WithJobQueueArn(JobQueueArnT &&value)
void SetQuotaShareName(QuotaShareNameT &&value)
const QuotaShareResourceSharingConfiguration & GetResourceSharingConfiguration() const
AWS_BATCH_API QuotaShareDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetQuotaShareName() const
void SetState(QuotaShareState value)
AWS_BATCH_API QuotaShareDetail(Aws::Utils::Json::JsonView jsonValue)
void SetStatus(QuotaShareStatus value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue