AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
SchedulingPolicyDetail.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/batch/model/FairsharePolicy.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Batch
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_BATCH_API SchedulingPolicyDetail() = default;
39 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const Aws::String& GetName() const { return m_name; }
47 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
48 template<typename NameT = Aws::String>
49 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
50 template<typename NameT = Aws::String>
51 SchedulingPolicyDetail& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
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) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
64 template<typename ArnT = Aws::String>
65 SchedulingPolicyDetail& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
67
69
72 inline const FairsharePolicy& GetFairsharePolicy() const { return m_fairsharePolicy; }
73 inline bool FairsharePolicyHasBeenSet() const { return m_fairsharePolicyHasBeenSet; }
74 template<typename FairsharePolicyT = FairsharePolicy>
75 void SetFairsharePolicy(FairsharePolicyT&& value) { m_fairsharePolicyHasBeenSet = true; m_fairsharePolicy = std::forward<FairsharePolicyT>(value); }
76 template<typename FairsharePolicyT = FairsharePolicy>
77 SchedulingPolicyDetail& WithFairsharePolicy(FairsharePolicyT&& value) { SetFairsharePolicy(std::forward<FairsharePolicyT>(value)); return *this;}
79
81
89 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
90 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
91 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
92 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
93 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
94 SchedulingPolicyDetail& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
95 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
96 SchedulingPolicyDetail& AddTags(TagsKeyT&& key, TagsValueT&& value) {
97 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
98 }
100 private:
101
102 Aws::String m_name;
103 bool m_nameHasBeenSet = false;
104
105 Aws::String m_arn;
106 bool m_arnHasBeenSet = false;
107
108 FairsharePolicy m_fairsharePolicy;
109 bool m_fairsharePolicyHasBeenSet = false;
110
112 bool m_tagsHasBeenSet = false;
113 };
114
115} // namespace Model
116} // namespace Batch
117} // 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