AWS SDK for C++

AWS SDK for C++ Version 1.11.796

Loading...
Searching...
No Matches
ManagedInstancesProvider.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/AutoRepairConfiguration.h>
10#include <aws/ecs/model/InfrastructureOptimization.h>
11#include <aws/ecs/model/InstanceLaunchTemplate.h>
12#include <aws/ecs/model/PropagateMITags.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ECS {
24namespace Model {
25
36 public:
37 AWS_ECS_API ManagedInstancesProvider() = default;
41
43
52 inline const Aws::String& GetInfrastructureRoleArn() const { return m_infrastructureRoleArn; }
53 inline bool InfrastructureRoleArnHasBeenSet() const { return m_infrastructureRoleArnHasBeenSet; }
54 template <typename InfrastructureRoleArnT = Aws::String>
55 void SetInfrastructureRoleArn(InfrastructureRoleArnT&& value) {
56 m_infrastructureRoleArnHasBeenSet = true;
57 m_infrastructureRoleArn = std::forward<InfrastructureRoleArnT>(value);
58 }
59 template <typename InfrastructureRoleArnT = Aws::String>
60 ManagedInstancesProvider& WithInfrastructureRoleArn(InfrastructureRoleArnT&& value) {
61 SetInfrastructureRoleArn(std::forward<InfrastructureRoleArnT>(value));
62 return *this;
63 }
65
67
76 inline const InstanceLaunchTemplate& GetInstanceLaunchTemplate() const { return m_instanceLaunchTemplate; }
77 inline bool InstanceLaunchTemplateHasBeenSet() const { return m_instanceLaunchTemplateHasBeenSet; }
78 template <typename InstanceLaunchTemplateT = InstanceLaunchTemplate>
79 void SetInstanceLaunchTemplate(InstanceLaunchTemplateT&& value) {
80 m_instanceLaunchTemplateHasBeenSet = true;
81 m_instanceLaunchTemplate = std::forward<InstanceLaunchTemplateT>(value);
82 }
83 template <typename InstanceLaunchTemplateT = InstanceLaunchTemplate>
84 ManagedInstancesProvider& WithInstanceLaunchTemplate(InstanceLaunchTemplateT&& value) {
85 SetInstanceLaunchTemplate(std::forward<InstanceLaunchTemplateT>(value));
86 return *this;
87 }
89
91
96 inline PropagateMITags GetPropagateTags() const { return m_propagateTags; }
97 inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; }
98 inline void SetPropagateTags(PropagateMITags value) {
99 m_propagateTagsHasBeenSet = true;
100 m_propagateTags = value;
101 }
103 SetPropagateTags(value);
104 return *this;
105 }
107
109
115 inline const InfrastructureOptimization& GetInfrastructureOptimization() const { return m_infrastructureOptimization; }
116 inline bool InfrastructureOptimizationHasBeenSet() const { return m_infrastructureOptimizationHasBeenSet; }
117 template <typename InfrastructureOptimizationT = InfrastructureOptimization>
118 void SetInfrastructureOptimization(InfrastructureOptimizationT&& value) {
119 m_infrastructureOptimizationHasBeenSet = true;
120 m_infrastructureOptimization = std::forward<InfrastructureOptimizationT>(value);
121 }
122 template <typename InfrastructureOptimizationT = InfrastructureOptimization>
123 ManagedInstancesProvider& WithInfrastructureOptimization(InfrastructureOptimizationT&& value) {
124 SetInfrastructureOptimization(std::forward<InfrastructureOptimizationT>(value));
125 return *this;
126 }
128
130
135 inline const AutoRepairConfiguration& GetAutoRepairConfiguration() const { return m_autoRepairConfiguration; }
136 inline bool AutoRepairConfigurationHasBeenSet() const { return m_autoRepairConfigurationHasBeenSet; }
137 template <typename AutoRepairConfigurationT = AutoRepairConfiguration>
138 void SetAutoRepairConfiguration(AutoRepairConfigurationT&& value) {
139 m_autoRepairConfigurationHasBeenSet = true;
140 m_autoRepairConfiguration = std::forward<AutoRepairConfigurationT>(value);
141 }
142 template <typename AutoRepairConfigurationT = AutoRepairConfiguration>
143 ManagedInstancesProvider& WithAutoRepairConfiguration(AutoRepairConfigurationT&& value) {
144 SetAutoRepairConfiguration(std::forward<AutoRepairConfigurationT>(value));
145 return *this;
146 }
148 private:
149 Aws::String m_infrastructureRoleArn;
150
151 InstanceLaunchTemplate m_instanceLaunchTemplate;
152
154
155 InfrastructureOptimization m_infrastructureOptimization;
156
157 AutoRepairConfiguration m_autoRepairConfiguration;
158 bool m_infrastructureRoleArnHasBeenSet = false;
159 bool m_instanceLaunchTemplateHasBeenSet = false;
160 bool m_propagateTagsHasBeenSet = false;
161 bool m_infrastructureOptimizationHasBeenSet = false;
162 bool m_autoRepairConfigurationHasBeenSet = false;
163};
164
165} // namespace Model
166} // namespace ECS
167} // namespace Aws
void SetInfrastructureOptimization(InfrastructureOptimizationT &&value)
void SetAutoRepairConfiguration(AutoRepairConfigurationT &&value)
ManagedInstancesProvider & WithInstanceLaunchTemplate(InstanceLaunchTemplateT &&value)
ManagedInstancesProvider & WithInfrastructureRoleArn(InfrastructureRoleArnT &&value)
void SetInstanceLaunchTemplate(InstanceLaunchTemplateT &&value)
AWS_ECS_API ManagedInstancesProvider & operator=(Aws::Utils::Json::JsonView jsonValue)
ManagedInstancesProvider & WithInfrastructureOptimization(InfrastructureOptimizationT &&value)
AWS_ECS_API ManagedInstancesProvider(Aws::Utils::Json::JsonView jsonValue)
const InstanceLaunchTemplate & GetInstanceLaunchTemplate() const
ManagedInstancesProvider & WithPropagateTags(PropagateMITags value)
void SetInfrastructureRoleArn(InfrastructureRoleArnT &&value)
const AutoRepairConfiguration & GetAutoRepairConfiguration() const
ManagedInstancesProvider & WithAutoRepairConfiguration(AutoRepairConfigurationT &&value)
const InfrastructureOptimization & GetInfrastructureOptimization() const
AWS_ECS_API ManagedInstancesProvider()=default
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue