AWS SDK for C++

AWS SDK for C++ Version 1.11.717

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/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Batch {
22namespace Model {
23
30 public:
31 AWS_BATCH_API SchedulingPolicyDetail() = default;
34 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetName() const { return m_name; }
41 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
42 template <typename NameT = Aws::String>
43 void SetName(NameT&& value) {
44 m_nameHasBeenSet = true;
45 m_name = std::forward<NameT>(value);
46 }
47 template <typename NameT = Aws::String>
49 SetName(std::forward<NameT>(value));
50 return *this;
51 }
53
55
60 inline const Aws::String& GetArn() const { return m_arn; }
61 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
62 template <typename ArnT = Aws::String>
63 void SetArn(ArnT&& value) {
64 m_arnHasBeenSet = true;
65 m_arn = std::forward<ArnT>(value);
66 }
67 template <typename ArnT = Aws::String>
69 SetArn(std::forward<ArnT>(value));
70 return *this;
71 }
73
75
78 inline const FairsharePolicy& GetFairsharePolicy() const { return m_fairsharePolicy; }
79 inline bool FairsharePolicyHasBeenSet() const { return m_fairsharePolicyHasBeenSet; }
80 template <typename FairsharePolicyT = FairsharePolicy>
81 void SetFairsharePolicy(FairsharePolicyT&& value) {
82 m_fairsharePolicyHasBeenSet = true;
83 m_fairsharePolicy = std::forward<FairsharePolicyT>(value);
84 }
85 template <typename FairsharePolicyT = FairsharePolicy>
86 SchedulingPolicyDetail& WithFairsharePolicy(FairsharePolicyT&& value) {
87 SetFairsharePolicy(std::forward<FairsharePolicyT>(value));
88 return *this;
89 }
91
93
101 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
102 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
103 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
104 void SetTags(TagsT&& value) {
105 m_tagsHasBeenSet = true;
106 m_tags = std::forward<TagsT>(value);
107 }
108 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
110 SetTags(std::forward<TagsT>(value));
111 return *this;
112 }
113 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
114 SchedulingPolicyDetail& AddTags(TagsKeyT&& key, TagsValueT&& value) {
115 m_tagsHasBeenSet = true;
116 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
117 return *this;
118 }
120 private:
121 Aws::String m_name;
122
123 Aws::String m_arn;
124
125 FairsharePolicy m_fairsharePolicy;
126
128 bool m_nameHasBeenSet = false;
129 bool m_arnHasBeenSet = false;
130 bool m_fairsharePolicyHasBeenSet = false;
131 bool m_tagsHasBeenSet = false;
132};
133
134} // namespace Model
135} // namespace Batch
136} // 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 & AddTags(TagsKeyT &&key, TagsValueT &&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
Aws::Utils::Json::JsonValue JsonValue