AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
ServerLaunchConfiguration.h
1
6#pragma once
7#include <aws/sms/SMS_EXPORTS.h>
8#include <aws/sms/model/Server.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/sms/model/UserData.h>
11#include <aws/sms/model/S3Location.h>
12#include <aws/sms/model/ScriptType.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace SMS
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_SMS_API ServerLaunchConfiguration() = default;
42
43
45
48 inline const Server& GetServer() const { return m_server; }
49 inline bool ServerHasBeenSet() const { return m_serverHasBeenSet; }
50 template<typename ServerT = Server>
51 void SetServer(ServerT&& value) { m_serverHasBeenSet = true; m_server = std::forward<ServerT>(value); }
52 template<typename ServerT = Server>
53 ServerLaunchConfiguration& WithServer(ServerT&& value) { SetServer(std::forward<ServerT>(value)); return *this;}
55
57
60 inline const Aws::String& GetLogicalId() const { return m_logicalId; }
61 inline bool LogicalIdHasBeenSet() const { return m_logicalIdHasBeenSet; }
62 template<typename LogicalIdT = Aws::String>
63 void SetLogicalId(LogicalIdT&& value) { m_logicalIdHasBeenSet = true; m_logicalId = std::forward<LogicalIdT>(value); }
64 template<typename LogicalIdT = Aws::String>
65 ServerLaunchConfiguration& WithLogicalId(LogicalIdT&& value) { SetLogicalId(std::forward<LogicalIdT>(value)); return *this;}
67
69
72 inline const Aws::String& GetVpc() const { return m_vpc; }
73 inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; }
74 template<typename VpcT = Aws::String>
75 void SetVpc(VpcT&& value) { m_vpcHasBeenSet = true; m_vpc = std::forward<VpcT>(value); }
76 template<typename VpcT = Aws::String>
77 ServerLaunchConfiguration& WithVpc(VpcT&& value) { SetVpc(std::forward<VpcT>(value)); return *this;}
79
81
84 inline const Aws::String& GetSubnet() const { return m_subnet; }
85 inline bool SubnetHasBeenSet() const { return m_subnetHasBeenSet; }
86 template<typename SubnetT = Aws::String>
87 void SetSubnet(SubnetT&& value) { m_subnetHasBeenSet = true; m_subnet = std::forward<SubnetT>(value); }
88 template<typename SubnetT = Aws::String>
89 ServerLaunchConfiguration& WithSubnet(SubnetT&& value) { SetSubnet(std::forward<SubnetT>(value)); return *this;}
91
93
96 inline const Aws::String& GetSecurityGroup() const { return m_securityGroup; }
97 inline bool SecurityGroupHasBeenSet() const { return m_securityGroupHasBeenSet; }
98 template<typename SecurityGroupT = Aws::String>
99 void SetSecurityGroup(SecurityGroupT&& value) { m_securityGroupHasBeenSet = true; m_securityGroup = std::forward<SecurityGroupT>(value); }
100 template<typename SecurityGroupT = Aws::String>
101 ServerLaunchConfiguration& WithSecurityGroup(SecurityGroupT&& value) { SetSecurityGroup(std::forward<SecurityGroupT>(value)); return *this;}
103
105
109 inline const Aws::String& GetEc2KeyName() const { return m_ec2KeyName; }
110 inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; }
111 template<typename Ec2KeyNameT = Aws::String>
112 void SetEc2KeyName(Ec2KeyNameT&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = std::forward<Ec2KeyNameT>(value); }
113 template<typename Ec2KeyNameT = Aws::String>
114 ServerLaunchConfiguration& WithEc2KeyName(Ec2KeyNameT&& value) { SetEc2KeyName(std::forward<Ec2KeyNameT>(value)); return *this;}
116
118
122 inline const UserData& GetUserData() const { return m_userData; }
123 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
124 template<typename UserDataT = UserData>
125 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
126 template<typename UserDataT = UserData>
127 ServerLaunchConfiguration& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
129
131
134 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
135 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
136 template<typename InstanceTypeT = Aws::String>
137 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
138 template<typename InstanceTypeT = Aws::String>
139 ServerLaunchConfiguration& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
141
143
147 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
148 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
149 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
152
154
157 inline const Aws::String& GetIamInstanceProfileName() const { return m_iamInstanceProfileName; }
158 inline bool IamInstanceProfileNameHasBeenSet() const { return m_iamInstanceProfileNameHasBeenSet; }
159 template<typename IamInstanceProfileNameT = Aws::String>
160 void SetIamInstanceProfileName(IamInstanceProfileNameT&& value) { m_iamInstanceProfileNameHasBeenSet = true; m_iamInstanceProfileName = std::forward<IamInstanceProfileNameT>(value); }
161 template<typename IamInstanceProfileNameT = Aws::String>
162 ServerLaunchConfiguration& WithIamInstanceProfileName(IamInstanceProfileNameT&& value) { SetIamInstanceProfileName(std::forward<IamInstanceProfileNameT>(value)); return *this;}
164
166
167 inline const S3Location& GetConfigureScript() const { return m_configureScript; }
168 inline bool ConfigureScriptHasBeenSet() const { return m_configureScriptHasBeenSet; }
169 template<typename ConfigureScriptT = S3Location>
170 void SetConfigureScript(ConfigureScriptT&& value) { m_configureScriptHasBeenSet = true; m_configureScript = std::forward<ConfigureScriptT>(value); }
171 template<typename ConfigureScriptT = S3Location>
172 ServerLaunchConfiguration& WithConfigureScript(ConfigureScriptT&& value) { SetConfigureScript(std::forward<ConfigureScriptT>(value)); return *this;}
174
176
179 inline ScriptType GetConfigureScriptType() const { return m_configureScriptType; }
180 inline bool ConfigureScriptTypeHasBeenSet() const { return m_configureScriptTypeHasBeenSet; }
181 inline void SetConfigureScriptType(ScriptType value) { m_configureScriptTypeHasBeenSet = true; m_configureScriptType = value; }
184 private:
185
186 Server m_server;
187 bool m_serverHasBeenSet = false;
188
189 Aws::String m_logicalId;
190 bool m_logicalIdHasBeenSet = false;
191
192 Aws::String m_vpc;
193 bool m_vpcHasBeenSet = false;
194
195 Aws::String m_subnet;
196 bool m_subnetHasBeenSet = false;
197
198 Aws::String m_securityGroup;
199 bool m_securityGroupHasBeenSet = false;
200
201 Aws::String m_ec2KeyName;
202 bool m_ec2KeyNameHasBeenSet = false;
203
204 UserData m_userData;
205 bool m_userDataHasBeenSet = false;
206
207 Aws::String m_instanceType;
208 bool m_instanceTypeHasBeenSet = false;
209
210 bool m_associatePublicIpAddress{false};
211 bool m_associatePublicIpAddressHasBeenSet = false;
212
213 Aws::String m_iamInstanceProfileName;
214 bool m_iamInstanceProfileNameHasBeenSet = false;
215
216 S3Location m_configureScript;
217 bool m_configureScriptHasBeenSet = false;
218
219 ScriptType m_configureScriptType{ScriptType::NOT_SET};
220 bool m_configureScriptTypeHasBeenSet = false;
221 };
222
223} // namespace Model
224} // namespace SMS
225} // namespace Aws
ServerLaunchConfiguration & WithSecurityGroup(SecurityGroupT &&value)
AWS_SMS_API ServerLaunchConfiguration(Aws::Utils::Json::JsonView jsonValue)
ServerLaunchConfiguration & WithConfigureScript(ConfigureScriptT &&value)
AWS_SMS_API ServerLaunchConfiguration()=default
AWS_SMS_API ServerLaunchConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
ServerLaunchConfiguration & WithAssociatePublicIpAddress(bool value)
ServerLaunchConfiguration & WithInstanceType(InstanceTypeT &&value)
ServerLaunchConfiguration & WithUserData(UserDataT &&value)
ServerLaunchConfiguration & WithEc2KeyName(Ec2KeyNameT &&value)
ServerLaunchConfiguration & WithLogicalId(LogicalIdT &&value)
ServerLaunchConfiguration & WithServer(ServerT &&value)
AWS_SMS_API Aws::Utils::Json::JsonValue Jsonize() const
ServerLaunchConfiguration & WithSubnet(SubnetT &&value)
ServerLaunchConfiguration & WithVpc(VpcT &&value)
ServerLaunchConfiguration & WithConfigureScriptType(ScriptType value)
void SetIamInstanceProfileName(IamInstanceProfileNameT &&value)
ServerLaunchConfiguration & WithIamInstanceProfileName(IamInstanceProfileNameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue