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>
50 template<
typename ServerT = Server>
51 void SetServer(ServerT&& value) { m_serverHasBeenSet =
true; m_server = std::forward<ServerT>(value); }
52 template<
typename ServerT = Server>
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>
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>
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>
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>
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>
124 template<
typename UserDataT = UserData>
125 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet =
true; m_userData = std::forward<UserDataT>(value); }
126 template<
typename UserDataT = UserData>
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>
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>
169 template<
typename ConfigureScriptT = S3Location>
170 void SetConfigureScript(ConfigureScriptT&& value) { m_configureScriptHasBeenSet =
true; m_configureScript = std::forward<ConfigureScriptT>(value); }
171 template<
typename ConfigureScriptT = S3Location>
187 bool m_serverHasBeenSet =
false;
190 bool m_logicalIdHasBeenSet =
false;
193 bool m_vpcHasBeenSet =
false;
196 bool m_subnetHasBeenSet =
false;
199 bool m_securityGroupHasBeenSet =
false;
202 bool m_ec2KeyNameHasBeenSet =
false;
205 bool m_userDataHasBeenSet =
false;
208 bool m_instanceTypeHasBeenSet =
false;
210 bool m_associatePublicIpAddress{
false};
211 bool m_associatePublicIpAddressHasBeenSet =
false;
214 bool m_iamInstanceProfileNameHasBeenSet =
false;
216 S3Location m_configureScript;
217 bool m_configureScriptHasBeenSet =
false;
220 bool m_configureScriptTypeHasBeenSet =
false;
const Aws::String & GetSecurityGroup() const
void SetEc2KeyName(Ec2KeyNameT &&value)
ServerLaunchConfiguration & WithSecurityGroup(SecurityGroupT &&value)
AWS_SMS_API ServerLaunchConfiguration(Aws::Utils::Json::JsonView jsonValue)
ScriptType GetConfigureScriptType() const
bool ConfigureScriptHasBeenSet() const
void SetConfigureScriptType(ScriptType value)
void SetConfigureScript(ConfigureScriptT &&value)
bool SecurityGroupHasBeenSet() const
void SetAssociatePublicIpAddress(bool value)
bool IamInstanceProfileNameHasBeenSet() const
ServerLaunchConfiguration & WithConfigureScript(ConfigureScriptT &&value)
void SetVpc(VpcT &&value)
const Aws::String & GetEc2KeyName() const
const UserData & GetUserData() const
void SetInstanceType(InstanceTypeT &&value)
const Aws::String & GetVpc() const
AWS_SMS_API ServerLaunchConfiguration()=default
void SetSecurityGroup(SecurityGroupT &&value)
bool LogicalIdHasBeenSet() const
AWS_SMS_API ServerLaunchConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ConfigureScriptTypeHasBeenSet() const
void SetLogicalId(LogicalIdT &&value)
const Server & GetServer() const
bool InstanceTypeHasBeenSet() const
ServerLaunchConfiguration & WithAssociatePublicIpAddress(bool value)
ServerLaunchConfiguration & WithInstanceType(InstanceTypeT &&value)
ServerLaunchConfiguration & WithUserData(UserDataT &&value)
const Aws::String & GetSubnet() const
ServerLaunchConfiguration & WithEc2KeyName(Ec2KeyNameT &&value)
void SetSubnet(SubnetT &&value)
ServerLaunchConfiguration & WithLogicalId(LogicalIdT &&value)
ServerLaunchConfiguration & WithServer(ServerT &&value)
const Aws::String & GetLogicalId() const
AWS_SMS_API Aws::Utils::Json::JsonValue Jsonize() const
bool SubnetHasBeenSet() const
bool AssociatePublicIpAddressHasBeenSet() const
bool Ec2KeyNameHasBeenSet() const
bool ServerHasBeenSet() const
bool GetAssociatePublicIpAddress() const
void SetUserData(UserDataT &&value)
ServerLaunchConfiguration & WithSubnet(SubnetT &&value)
bool VpcHasBeenSet() const
const Aws::String & GetInstanceType() const
bool UserDataHasBeenSet() const
void SetServer(ServerT &&value)
ServerLaunchConfiguration & WithVpc(VpcT &&value)
ServerLaunchConfiguration & WithConfigureScriptType(ScriptType value)
void SetIamInstanceProfileName(IamInstanceProfileNameT &&value)
const S3Location & GetConfigureScript() const
ServerLaunchConfiguration & WithIamInstanceProfileName(IamInstanceProfileNameT &&value)
const Aws::String & GetIamInstanceProfileName() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue