AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
CreateFleetInstance.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/InstanceLifecycle.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/LaunchTemplateAndOverridesResponse.h>
14#include <aws/ec2/model/PlatformValues.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2 {
25namespace Model {
26
34 public:
35 AWS_EC2_API CreateFleetInstance() = default;
36 AWS_EC2_API CreateFleetInstance(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
48 inline const LaunchTemplateAndOverridesResponse& GetLaunchTemplateAndOverrides() const { return m_launchTemplateAndOverrides; }
49 inline bool LaunchTemplateAndOverridesHasBeenSet() const { return m_launchTemplateAndOverridesHasBeenSet; }
50 template <typename LaunchTemplateAndOverridesT = LaunchTemplateAndOverridesResponse>
51 void SetLaunchTemplateAndOverrides(LaunchTemplateAndOverridesT&& value) {
52 m_launchTemplateAndOverridesHasBeenSet = true;
53 m_launchTemplateAndOverrides = std::forward<LaunchTemplateAndOverridesT>(value);
54 }
55 template <typename LaunchTemplateAndOverridesT = LaunchTemplateAndOverridesResponse>
56 CreateFleetInstance& WithLaunchTemplateAndOverrides(LaunchTemplateAndOverridesT&& value) {
57 SetLaunchTemplateAndOverrides(std::forward<LaunchTemplateAndOverridesT>(value));
58 return *this;
59 }
61
63
67 inline InstanceLifecycle GetLifecycle() const { return m_lifecycle; }
68 inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
69 inline void SetLifecycle(InstanceLifecycle value) {
70 m_lifecycleHasBeenSet = true;
71 m_lifecycle = value;
72 }
74 SetLifecycle(value);
75 return *this;
76 }
78
80
83 inline const Aws::Vector<Aws::String>& GetInstanceIds() const { return m_instanceIds; }
84 inline bool InstanceIdsHasBeenSet() const { return m_instanceIdsHasBeenSet; }
85 template <typename InstanceIdsT = Aws::Vector<Aws::String>>
86 void SetInstanceIds(InstanceIdsT&& value) {
87 m_instanceIdsHasBeenSet = true;
88 m_instanceIds = std::forward<InstanceIdsT>(value);
89 }
90 template <typename InstanceIdsT = Aws::Vector<Aws::String>>
91 CreateFleetInstance& WithInstanceIds(InstanceIdsT&& value) {
92 SetInstanceIds(std::forward<InstanceIdsT>(value));
93 return *this;
94 }
95 template <typename InstanceIdsT = Aws::String>
96 CreateFleetInstance& AddInstanceIds(InstanceIdsT&& value) {
97 m_instanceIdsHasBeenSet = true;
98 m_instanceIds.emplace_back(std::forward<InstanceIdsT>(value));
99 return *this;
100 }
102
104
107 inline InstanceType GetInstanceType() const { return m_instanceType; }
108 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
109 inline void SetInstanceType(InstanceType value) {
110 m_instanceTypeHasBeenSet = true;
111 m_instanceType = value;
112 }
114 SetInstanceType(value);
115 return *this;
116 }
118
120
124 inline PlatformValues GetPlatform() const { return m_platform; }
125 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
126 inline void SetPlatform(PlatformValues value) {
127 m_platformHasBeenSet = true;
128 m_platform = value;
129 }
131 SetPlatform(value);
132 return *this;
133 }
135 private:
136 LaunchTemplateAndOverridesResponse m_launchTemplateAndOverrides;
137
139
140 Aws::Vector<Aws::String> m_instanceIds;
141
142 InstanceType m_instanceType{InstanceType::NOT_SET};
143
145 bool m_launchTemplateAndOverridesHasBeenSet = false;
146 bool m_lifecycleHasBeenSet = false;
147 bool m_instanceIdsHasBeenSet = false;
148 bool m_instanceTypeHasBeenSet = false;
149 bool m_platformHasBeenSet = false;
150};
151
152} // namespace Model
153} // namespace EC2
154} // namespace Aws
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API CreateFleetInstance(const Aws::Utils::Xml::XmlNode &xmlNode)
CreateFleetInstance & AddInstanceIds(InstanceIdsT &&value)
void SetInstanceIds(InstanceIdsT &&value)
void SetLifecycle(InstanceLifecycle value)
CreateFleetInstance & WithInstanceIds(InstanceIdsT &&value)
const LaunchTemplateAndOverridesResponse & GetLaunchTemplateAndOverrides() const
void SetLaunchTemplateAndOverrides(LaunchTemplateAndOverridesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
CreateFleetInstance & WithInstanceType(InstanceType value)
AWS_EC2_API CreateFleetInstance()=default
CreateFleetInstance & WithLifecycle(InstanceLifecycle value)
CreateFleetInstance & WithLaunchTemplateAndOverrides(LaunchTemplateAndOverridesT &&value)
AWS_EC2_API CreateFleetInstance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Aws::String > & GetInstanceIds() const
CreateFleetInstance & WithPlatform(PlatformValues value)
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream