AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
FairsharePolicy.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/ShareAttributes.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Batch {
21namespace Model {
22
29 public:
30 AWS_BATCH_API FairsharePolicy() = default;
33 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
46 inline int GetShareDecaySeconds() const { return m_shareDecaySeconds; }
47 inline bool ShareDecaySecondsHasBeenSet() const { return m_shareDecaySecondsHasBeenSet; }
48 inline void SetShareDecaySeconds(int value) {
49 m_shareDecaySecondsHasBeenSet = true;
50 m_shareDecaySeconds = value;
51 }
54 return *this;
55 }
57
59
73 inline int GetComputeReservation() const { return m_computeReservation; }
74 inline bool ComputeReservationHasBeenSet() const { return m_computeReservationHasBeenSet; }
75 inline void SetComputeReservation(int value) {
76 m_computeReservationHasBeenSet = true;
77 m_computeReservation = value;
78 }
81 return *this;
82 }
84
86
91 inline const Aws::Vector<ShareAttributes>& GetShareDistribution() const { return m_shareDistribution; }
92 inline bool ShareDistributionHasBeenSet() const { return m_shareDistributionHasBeenSet; }
93 template <typename ShareDistributionT = Aws::Vector<ShareAttributes>>
94 void SetShareDistribution(ShareDistributionT&& value) {
95 m_shareDistributionHasBeenSet = true;
96 m_shareDistribution = std::forward<ShareDistributionT>(value);
97 }
98 template <typename ShareDistributionT = Aws::Vector<ShareAttributes>>
99 FairsharePolicy& WithShareDistribution(ShareDistributionT&& value) {
100 SetShareDistribution(std::forward<ShareDistributionT>(value));
101 return *this;
102 }
103 template <typename ShareDistributionT = ShareAttributes>
104 FairsharePolicy& AddShareDistribution(ShareDistributionT&& value) {
105 m_shareDistributionHasBeenSet = true;
106 m_shareDistribution.emplace_back(std::forward<ShareDistributionT>(value));
107 return *this;
108 }
110 private:
111 int m_shareDecaySeconds{0};
112
113 int m_computeReservation{0};
114
115 Aws::Vector<ShareAttributes> m_shareDistribution;
116 bool m_shareDecaySecondsHasBeenSet = false;
117 bool m_computeReservationHasBeenSet = false;
118 bool m_shareDistributionHasBeenSet = false;
119};
120
121} // namespace Model
122} // namespace Batch
123} // namespace Aws
FairsharePolicy & WithComputeReservation(int value)
AWS_BATCH_API FairsharePolicy(Aws::Utils::Json::JsonView jsonValue)
FairsharePolicy & WithShareDecaySeconds(int value)
FairsharePolicy & WithShareDistribution(ShareDistributionT &&value)
AWS_BATCH_API FairsharePolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetShareDistribution(ShareDistributionT &&value)
FairsharePolicy & AddShareDistribution(ShareDistributionT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BATCH_API FairsharePolicy()=default
const Aws::Vector< ShareAttributes > & GetShareDistribution() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue