AWS SDK for C++

AWS SDK for C++ Version 1.11.763

Loading...
Searching...
No Matches
ScalingPolicy.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/PolicyType.h>
9#include <aws/autoscaling-plans/model/TargetTrackingConfiguration.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 AutoScalingPlans {
22namespace Model {
23
30 public:
31 AWS_AUTOSCALINGPLANS_API ScalingPolicy() = default;
32 AWS_AUTOSCALINGPLANS_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue);
33 AWS_AUTOSCALINGPLANS_API ScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetPolicyName() const { return m_policyName; }
41 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
42 template <typename PolicyNameT = Aws::String>
43 void SetPolicyName(PolicyNameT&& value) {
44 m_policyNameHasBeenSet = true;
45 m_policyName = std::forward<PolicyNameT>(value);
46 }
47 template <typename PolicyNameT = Aws::String>
48 ScalingPolicy& WithPolicyName(PolicyNameT&& value) {
49 SetPolicyName(std::forward<PolicyNameT>(value));
50 return *this;
51 }
53
55
58 inline PolicyType GetPolicyType() const { return m_policyType; }
59 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
60 inline void SetPolicyType(PolicyType value) {
61 m_policyTypeHasBeenSet = true;
62 m_policyType = value;
63 }
65 SetPolicyType(value);
66 return *this;
67 }
69
71
75 inline const TargetTrackingConfiguration& GetTargetTrackingConfiguration() const { return m_targetTrackingConfiguration; }
76 inline bool TargetTrackingConfigurationHasBeenSet() const { return m_targetTrackingConfigurationHasBeenSet; }
77 template <typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
78 void SetTargetTrackingConfiguration(TargetTrackingConfigurationT&& value) {
79 m_targetTrackingConfigurationHasBeenSet = true;
80 m_targetTrackingConfiguration = std::forward<TargetTrackingConfigurationT>(value);
81 }
82 template <typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
83 ScalingPolicy& WithTargetTrackingConfiguration(TargetTrackingConfigurationT&& value) {
84 SetTargetTrackingConfiguration(std::forward<TargetTrackingConfigurationT>(value));
85 return *this;
86 }
88 private:
89 Aws::String m_policyName;
90
91 PolicyType m_policyType{PolicyType::NOT_SET};
92
93 TargetTrackingConfiguration m_targetTrackingConfiguration;
94 bool m_policyNameHasBeenSet = false;
95 bool m_policyTypeHasBeenSet = false;
96 bool m_targetTrackingConfigurationHasBeenSet = false;
97};
98
99} // namespace Model
100} // namespace AutoScalingPlans
101} // namespace Aws
ScalingPolicy & WithPolicyType(PolicyType value)
AWS_AUTOSCALINGPLANS_API ScalingPolicy()=default
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetPolicyName() const
ScalingPolicy & WithPolicyName(PolicyNameT &&value)
const TargetTrackingConfiguration & GetTargetTrackingConfiguration() const
AWS_AUTOSCALINGPLANS_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue)
void SetTargetTrackingConfiguration(TargetTrackingConfigurationT &&value)
ScalingPolicy & WithTargetTrackingConfiguration(TargetTrackingConfigurationT &&value)
AWS_AUTOSCALINGPLANS_API ScalingPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue