AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
ResourceSharingConfig.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/sagemaker/SageMaker_EXPORTS.h>
9#include <aws/sagemaker/model/ComputeQuotaResourceConfig.h>
10#include <aws/sagemaker/model/ResourceSharingStrategy.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace SageMaker {
22namespace Model {
23
30 public:
31 AWS_SAGEMAKER_API ResourceSharingConfig() = default;
34 AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
46 inline ResourceSharingStrategy GetStrategy() const { return m_strategy; }
47 inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; }
49 m_strategyHasBeenSet = true;
50 m_strategy = value;
51 }
53 SetStrategy(value);
54 return *this;
55 }
57
59
64 inline int GetBorrowLimit() const { return m_borrowLimit; }
65 inline bool BorrowLimitHasBeenSet() const { return m_borrowLimitHasBeenSet; }
66 inline void SetBorrowLimit(int value) {
67 m_borrowLimitHasBeenSet = true;
68 m_borrowLimit = value;
69 }
71 SetBorrowLimit(value);
72 return *this;
73 }
75
77
83 inline const Aws::Vector<ComputeQuotaResourceConfig>& GetAbsoluteBorrowLimits() const { return m_absoluteBorrowLimits; }
84 inline bool AbsoluteBorrowLimitsHasBeenSet() const { return m_absoluteBorrowLimitsHasBeenSet; }
85 template <typename AbsoluteBorrowLimitsT = Aws::Vector<ComputeQuotaResourceConfig>>
86 void SetAbsoluteBorrowLimits(AbsoluteBorrowLimitsT&& value) {
87 m_absoluteBorrowLimitsHasBeenSet = true;
88 m_absoluteBorrowLimits = std::forward<AbsoluteBorrowLimitsT>(value);
89 }
90 template <typename AbsoluteBorrowLimitsT = Aws::Vector<ComputeQuotaResourceConfig>>
91 ResourceSharingConfig& WithAbsoluteBorrowLimits(AbsoluteBorrowLimitsT&& value) {
92 SetAbsoluteBorrowLimits(std::forward<AbsoluteBorrowLimitsT>(value));
93 return *this;
94 }
95 template <typename AbsoluteBorrowLimitsT = ComputeQuotaResourceConfig>
96 ResourceSharingConfig& AddAbsoluteBorrowLimits(AbsoluteBorrowLimitsT&& value) {
97 m_absoluteBorrowLimitsHasBeenSet = true;
98 m_absoluteBorrowLimits.emplace_back(std::forward<AbsoluteBorrowLimitsT>(value));
99 return *this;
100 }
102 private:
104
105 int m_borrowLimit{0};
106
107 Aws::Vector<ComputeQuotaResourceConfig> m_absoluteBorrowLimits;
108 bool m_strategyHasBeenSet = false;
109 bool m_borrowLimitHasBeenSet = false;
110 bool m_absoluteBorrowLimitsHasBeenSet = false;
111};
112
113} // namespace Model
114} // namespace SageMaker
115} // namespace Aws
void SetAbsoluteBorrowLimits(AbsoluteBorrowLimitsT &&value)
AWS_SAGEMAKER_API ResourceSharingConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
ResourceSharingConfig & WithAbsoluteBorrowLimits(AbsoluteBorrowLimitsT &&value)
ResourceSharingConfig & AddAbsoluteBorrowLimits(AbsoluteBorrowLimitsT &&value)
void SetStrategy(ResourceSharingStrategy value)
const Aws::Vector< ComputeQuotaResourceConfig > & GetAbsoluteBorrowLimits() const
AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SAGEMAKER_API ResourceSharingConfig()=default
ResourceSharingConfig & WithStrategy(ResourceSharingStrategy value)
AWS_SAGEMAKER_API ResourceSharingConfig(Aws::Utils::Json::JsonView jsonValue)
ResourceSharingConfig & WithBorrowLimit(int value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue