AWS SDK for C++

AWS SDK for C++ Version 1.11.609

Loading...
Searching...
No Matches
ScalingPolicy.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/autoscaling-plans/model/PolicyType.h>
10#include <aws/autoscaling-plans/model/TargetTrackingConfiguration.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 AutoScalingPlans
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_AUTOSCALINGPLANS_API ScalingPolicy() = default;
37 AWS_AUTOSCALINGPLANS_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue);
38 AWS_AUTOSCALINGPLANS_API ScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const Aws::String& GetPolicyName() const { return m_policyName; }
47 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
48 template<typename PolicyNameT = Aws::String>
49 void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward<PolicyNameT>(value); }
50 template<typename PolicyNameT = Aws::String>
51 ScalingPolicy& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward<PolicyNameT>(value)); return *this;}
53
55
58 inline PolicyType GetPolicyType() const { return m_policyType; }
59 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
60 inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
61 inline ScalingPolicy& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;}
63
65
69 inline const TargetTrackingConfiguration& GetTargetTrackingConfiguration() const { return m_targetTrackingConfiguration; }
70 inline bool TargetTrackingConfigurationHasBeenSet() const { return m_targetTrackingConfigurationHasBeenSet; }
71 template<typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
72 void SetTargetTrackingConfiguration(TargetTrackingConfigurationT&& value) { m_targetTrackingConfigurationHasBeenSet = true; m_targetTrackingConfiguration = std::forward<TargetTrackingConfigurationT>(value); }
73 template<typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
74 ScalingPolicy& WithTargetTrackingConfiguration(TargetTrackingConfigurationT&& value) { SetTargetTrackingConfiguration(std::forward<TargetTrackingConfigurationT>(value)); return *this;}
76 private:
77
78 Aws::String m_policyName;
79 bool m_policyNameHasBeenSet = false;
80
81 PolicyType m_policyType{PolicyType::NOT_SET};
82 bool m_policyTypeHasBeenSet = false;
83
84 TargetTrackingConfiguration m_targetTrackingConfiguration;
85 bool m_targetTrackingConfigurationHasBeenSet = false;
86 };
87
88} // namespace Model
89} // namespace AutoScalingPlans
90} // 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