AWS SDK for C++

AWS SDK for C++ Version 1.11.751

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/InfrastructureOptimization.h>
10#include <aws/ecs/model/InstanceLaunchTemplate.h>
11#include <aws/ecs/model/PropagateMITags.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace ECS {
23namespace Model {
24
35 public:
36 AWS_ECS_API ManagedInstancesProvider() = default;
40
42
51 inline const Aws::String& GetInfrastructureRoleArn() const { return m_infrastructureRoleArn; }
52 inline bool InfrastructureRoleArnHasBeenSet() const { return m_infrastructureRoleArnHasBeenSet; }
53 template <typename InfrastructureRoleArnT = Aws::String>
54 void SetInfrastructureRoleArn(InfrastructureRoleArnT&& value) {
55 m_infrastructureRoleArnHasBeenSet = true;
56 m_infrastructureRoleArn = std::forward<InfrastructureRoleArnT>(value);
57 }
58 template <typename InfrastructureRoleArnT = Aws::String>
59 ManagedInstancesProvider& WithInfrastructureRoleArn(InfrastructureRoleArnT&& value) {
60 SetInfrastructureRoleArn(std::forward<InfrastructureRoleArnT>(value));
61 return *this;
62 }
64
66
75 inline const InstanceLaunchTemplate& GetInstanceLaunchTemplate() const { return m_instanceLaunchTemplate; }
76 inline bool InstanceLaunchTemplateHasBeenSet() const { return m_instanceLaunchTemplateHasBeenSet; }
77 template <typename InstanceLaunchTemplateT = InstanceLaunchTemplate>
78 void SetInstanceLaunchTemplate(InstanceLaunchTemplateT&& value) {
79 m_instanceLaunchTemplateHasBeenSet = true;
80 m_instanceLaunchTemplate = std::forward<InstanceLaunchTemplateT>(value);
81 }
82 template <typename InstanceLaunchTemplateT = InstanceLaunchTemplate>
83 ManagedInstancesProvider& WithInstanceLaunchTemplate(InstanceLaunchTemplateT&& value) {
84 SetInstanceLaunchTemplate(std::forward<InstanceLaunchTemplateT>(value));
85 return *this;
86 }
88
90
95 inline PropagateMITags GetPropagateTags() const { return m_propagateTags; }
96 inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; }
97 inline void SetPropagateTags(PropagateMITags value) {
98 m_propagateTagsHasBeenSet = true;
99 m_propagateTags = value;
100 }
102 SetPropagateTags(value);
103 return *this;
104 }
106
108
114 inline const InfrastructureOptimization& GetInfrastructureOptimization() const { return m_infrastructureOptimization; }
115 inline bool InfrastructureOptimizationHasBeenSet() const { return m_infrastructureOptimizationHasBeenSet; }
116 template <typename InfrastructureOptimizationT = InfrastructureOptimization>
117 void SetInfrastructureOptimization(InfrastructureOptimizationT&& value) {
118 m_infrastructureOptimizationHasBeenSet = true;
119 m_infrastructureOptimization = std::forward<InfrastructureOptimizationT>(value);
120 }
121 template <typename InfrastructureOptimizationT = InfrastructureOptimization>
122 ManagedInstancesProvider& WithInfrastructureOptimization(InfrastructureOptimizationT&& value) {
123 SetInfrastructureOptimization(std::forward<InfrastructureOptimizationT>(value));
124 return *this;
125 }
127 private:
128 Aws::String m_infrastructureRoleArn;
129
130 InstanceLaunchTemplate m_instanceLaunchTemplate;
131
133
134 InfrastructureOptimization m_infrastructureOptimization;
135 bool m_infrastructureRoleArnHasBeenSet = false;
136 bool m_instanceLaunchTemplateHasBeenSet = false;
137 bool m_propagateTagsHasBeenSet = false;
138 bool m_infrastructureOptimizationHasBeenSet = false;
139};
140
141} // namespace Model
142} // namespace ECS
143} // namespace Aws
void SetInfrastructureOptimization(InfrastructureOptimizationT &&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 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