AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
SchedulingPolicyDetail.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/FairsharePolicy.h>
9#include <aws/batch/model/QuotaSharePolicy.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Batch {
23namespace Model {
24
31 public:
32 AWS_BATCH_API SchedulingPolicyDetail() = default;
35 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::String& GetName() const { return m_name; }
42 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
43 template <typename NameT = Aws::String>
44 void SetName(NameT&& value) {
45 m_nameHasBeenSet = true;
46 m_name = std::forward<NameT>(value);
47 }
48 template <typename NameT = Aws::String>
50 SetName(std::forward<NameT>(value));
51 return *this;
52 }
54
56
61 inline const Aws::String& GetArn() const { return m_arn; }
62 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
63 template <typename ArnT = Aws::String>
64 void SetArn(ArnT&& value) {
65 m_arnHasBeenSet = true;
66 m_arn = std::forward<ArnT>(value);
67 }
68 template <typename ArnT = Aws::String>
70 SetArn(std::forward<ArnT>(value));
71 return *this;
72 }
74
76
79 inline const QuotaSharePolicy& GetQuotaSharePolicy() const { return m_quotaSharePolicy; }
80 inline bool QuotaSharePolicyHasBeenSet() const { return m_quotaSharePolicyHasBeenSet; }
81 template <typename QuotaSharePolicyT = QuotaSharePolicy>
82 void SetQuotaSharePolicy(QuotaSharePolicyT&& value) {
83 m_quotaSharePolicyHasBeenSet = true;
84 m_quotaSharePolicy = std::forward<QuotaSharePolicyT>(value);
85 }
86 template <typename QuotaSharePolicyT = QuotaSharePolicy>
87 SchedulingPolicyDetail& WithQuotaSharePolicy(QuotaSharePolicyT&& value) {
88 SetQuotaSharePolicy(std::forward<QuotaSharePolicyT>(value));
89 return *this;
90 }
92
94
97 inline const FairsharePolicy& GetFairsharePolicy() const { return m_fairsharePolicy; }
98 inline bool FairsharePolicyHasBeenSet() const { return m_fairsharePolicyHasBeenSet; }
99 template <typename FairsharePolicyT = FairsharePolicy>
100 void SetFairsharePolicy(FairsharePolicyT&& value) {
101 m_fairsharePolicyHasBeenSet = true;
102 m_fairsharePolicy = std::forward<FairsharePolicyT>(value);
103 }
104 template <typename FairsharePolicyT = FairsharePolicy>
105 SchedulingPolicyDetail& WithFairsharePolicy(FairsharePolicyT&& value) {
106 SetFairsharePolicy(std::forward<FairsharePolicyT>(value));
107 return *this;
108 }
110
112
120 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
121 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
122 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
123 void SetTags(TagsT&& value) {
124 m_tagsHasBeenSet = true;
125 m_tags = std::forward<TagsT>(value);
126 }
127 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
129 SetTags(std::forward<TagsT>(value));
130 return *this;
131 }
132 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
133 SchedulingPolicyDetail& AddTags(TagsKeyT&& key, TagsValueT&& value) {
134 m_tagsHasBeenSet = true;
135 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
136 return *this;
137 }
139 private:
140 Aws::String m_name;
141
142 Aws::String m_arn;
143
144 QuotaSharePolicy m_quotaSharePolicy;
145
146 FairsharePolicy m_fairsharePolicy;
147
149 bool m_nameHasBeenSet = false;
150 bool m_arnHasBeenSet = false;
151 bool m_quotaSharePolicyHasBeenSet = false;
152 bool m_fairsharePolicyHasBeenSet = false;
153 bool m_tagsHasBeenSet = false;
154};
155
156} // namespace Model
157} // namespace Batch
158} // namespace Aws
SchedulingPolicyDetail & WithName(NameT &&value)
AWS_BATCH_API SchedulingPolicyDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const FairsharePolicy & GetFairsharePolicy() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
SchedulingPolicyDetail & WithFairsharePolicy(FairsharePolicyT &&value)
AWS_BATCH_API SchedulingPolicyDetail()=default
void SetFairsharePolicy(FairsharePolicyT &&value)
SchedulingPolicyDetail & WithArn(ArnT &&value)
AWS_BATCH_API SchedulingPolicyDetail(Aws::Utils::Json::JsonView jsonValue)
SchedulingPolicyDetail & WithTags(TagsT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
SchedulingPolicyDetail & WithQuotaSharePolicy(QuotaSharePolicyT &&value)
void SetQuotaSharePolicy(QuotaSharePolicyT &&value)
SchedulingPolicyDetail & AddTags(TagsKeyT &&key, TagsValueT &&value)
const QuotaSharePolicy & GetQuotaSharePolicy() const
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
Aws::Utils::Json::JsonValue JsonValue