/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Launch configuration for a server.See Also:
AWS
* API Reference
The ID of the server with which the launch configuration is associated.
*/ inline const Server& GetServer() const{ return m_server; } /** *The ID of the server with which the launch configuration is associated.
*/ inline bool ServerHasBeenSet() const { return m_serverHasBeenSet; } /** *The ID of the server with which the launch configuration is associated.
*/ inline void SetServer(const Server& value) { m_serverHasBeenSet = true; m_server = value; } /** *The ID of the server with which the launch configuration is associated.
*/ inline void SetServer(Server&& value) { m_serverHasBeenSet = true; m_server = std::move(value); } /** *The ID of the server with which the launch configuration is associated.
*/ inline ServerLaunchConfiguration& WithServer(const Server& value) { SetServer(value); return *this;} /** *The ID of the server with which the launch configuration is associated.
*/ inline ServerLaunchConfiguration& WithServer(Server&& value) { SetServer(std::move(value)); return *this;} /** *The logical ID of the server in the CloudFormation template.
*/ inline const Aws::String& GetLogicalId() const{ return m_logicalId; } /** *The logical ID of the server in the CloudFormation template.
*/ inline bool LogicalIdHasBeenSet() const { return m_logicalIdHasBeenSet; } /** *The logical ID of the server in the CloudFormation template.
*/ inline void SetLogicalId(const Aws::String& value) { m_logicalIdHasBeenSet = true; m_logicalId = value; } /** *The logical ID of the server in the CloudFormation template.
*/ inline void SetLogicalId(Aws::String&& value) { m_logicalIdHasBeenSet = true; m_logicalId = std::move(value); } /** *The logical ID of the server in the CloudFormation template.
*/ inline void SetLogicalId(const char* value) { m_logicalIdHasBeenSet = true; m_logicalId.assign(value); } /** *The logical ID of the server in the CloudFormation template.
*/ inline ServerLaunchConfiguration& WithLogicalId(const Aws::String& value) { SetLogicalId(value); return *this;} /** *The logical ID of the server in the CloudFormation template.
*/ inline ServerLaunchConfiguration& WithLogicalId(Aws::String&& value) { SetLogicalId(std::move(value)); return *this;} /** *The logical ID of the server in the CloudFormation template.
*/ inline ServerLaunchConfiguration& WithLogicalId(const char* value) { SetLogicalId(value); return *this;} /** *The ID of the VPC into which the server should be launched.
*/ inline const Aws::String& GetVpc() const{ return m_vpc; } /** *The ID of the VPC into which the server should be launched.
*/ inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } /** *The ID of the VPC into which the server should be launched.
*/ inline void SetVpc(const Aws::String& value) { m_vpcHasBeenSet = true; m_vpc = value; } /** *The ID of the VPC into which the server should be launched.
*/ inline void SetVpc(Aws::String&& value) { m_vpcHasBeenSet = true; m_vpc = std::move(value); } /** *The ID of the VPC into which the server should be launched.
*/ inline void SetVpc(const char* value) { m_vpcHasBeenSet = true; m_vpc.assign(value); } /** *The ID of the VPC into which the server should be launched.
*/ inline ServerLaunchConfiguration& WithVpc(const Aws::String& value) { SetVpc(value); return *this;} /** *The ID of the VPC into which the server should be launched.
*/ inline ServerLaunchConfiguration& WithVpc(Aws::String&& value) { SetVpc(std::move(value)); return *this;} /** *The ID of the VPC into which the server should be launched.
*/ inline ServerLaunchConfiguration& WithVpc(const char* value) { SetVpc(value); return *this;} /** *The ID of the subnet the server should be launched into.
*/ inline const Aws::String& GetSubnet() const{ return m_subnet; } /** *The ID of the subnet the server should be launched into.
*/ inline bool SubnetHasBeenSet() const { return m_subnetHasBeenSet; } /** *The ID of the subnet the server should be launched into.
*/ inline void SetSubnet(const Aws::String& value) { m_subnetHasBeenSet = true; m_subnet = value; } /** *The ID of the subnet the server should be launched into.
*/ inline void SetSubnet(Aws::String&& value) { m_subnetHasBeenSet = true; m_subnet = std::move(value); } /** *The ID of the subnet the server should be launched into.
*/ inline void SetSubnet(const char* value) { m_subnetHasBeenSet = true; m_subnet.assign(value); } /** *The ID of the subnet the server should be launched into.
*/ inline ServerLaunchConfiguration& WithSubnet(const Aws::String& value) { SetSubnet(value); return *this;} /** *The ID of the subnet the server should be launched into.
*/ inline ServerLaunchConfiguration& WithSubnet(Aws::String&& value) { SetSubnet(std::move(value)); return *this;} /** *The ID of the subnet the server should be launched into.
*/ inline ServerLaunchConfiguration& WithSubnet(const char* value) { SetSubnet(value); return *this;} /** *The ID of the security group that applies to the launched server.
*/ inline const Aws::String& GetSecurityGroup() const{ return m_securityGroup; } /** *The ID of the security group that applies to the launched server.
*/ inline bool SecurityGroupHasBeenSet() const { return m_securityGroupHasBeenSet; } /** *The ID of the security group that applies to the launched server.
*/ inline void SetSecurityGroup(const Aws::String& value) { m_securityGroupHasBeenSet = true; m_securityGroup = value; } /** *The ID of the security group that applies to the launched server.
*/ inline void SetSecurityGroup(Aws::String&& value) { m_securityGroupHasBeenSet = true; m_securityGroup = std::move(value); } /** *The ID of the security group that applies to the launched server.
*/ inline void SetSecurityGroup(const char* value) { m_securityGroupHasBeenSet = true; m_securityGroup.assign(value); } /** *The ID of the security group that applies to the launched server.
*/ inline ServerLaunchConfiguration& WithSecurityGroup(const Aws::String& value) { SetSecurityGroup(value); return *this;} /** *The ID of the security group that applies to the launched server.
*/ inline ServerLaunchConfiguration& WithSecurityGroup(Aws::String&& value) { SetSecurityGroup(std::move(value)); return *this;} /** *The ID of the security group that applies to the launched server.
*/ inline ServerLaunchConfiguration& WithSecurityGroup(const char* value) { SetSecurityGroup(value); return *this;} /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline const Aws::String& GetEc2KeyName() const{ return m_ec2KeyName; } /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; } /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline void SetEc2KeyName(const Aws::String& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; } /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline void SetEc2KeyName(Aws::String&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = std::move(value); } /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline void SetEc2KeyName(const char* value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName.assign(value); } /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline ServerLaunchConfiguration& WithEc2KeyName(const Aws::String& value) { SetEc2KeyName(value); return *this;} /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline ServerLaunchConfiguration& WithEc2KeyName(Aws::String&& value) { SetEc2KeyName(std::move(value)); return *this;} /** *The name of the Amazon EC2 SSH key to be used for connecting to the launched * server.
*/ inline ServerLaunchConfiguration& WithEc2KeyName(const char* value) { SetEc2KeyName(value); return *this;} /** *Location of the user-data script to be executed when launching the * server.
*/ inline const UserData& GetUserData() const{ return m_userData; } /** *Location of the user-data script to be executed when launching the * server.
*/ inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; } /** *Location of the user-data script to be executed when launching the * server.
*/ inline void SetUserData(const UserData& value) { m_userDataHasBeenSet = true; m_userData = value; } /** *Location of the user-data script to be executed when launching the * server.
*/ inline void SetUserData(UserData&& value) { m_userDataHasBeenSet = true; m_userData = std::move(value); } /** *Location of the user-data script to be executed when launching the * server.
*/ inline ServerLaunchConfiguration& WithUserData(const UserData& value) { SetUserData(value); return *this;} /** *Location of the user-data script to be executed when launching the * server.
*/ inline ServerLaunchConfiguration& WithUserData(UserData&& value) { SetUserData(std::move(value)); return *this;} /** *The instance type to use when launching the server.
*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *The instance type to use when launching the server.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type to use when launching the server.
*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type to use when launching the server.
*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type to use when launching the server.
*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *The instance type to use when launching the server.
*/ inline ServerLaunchConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *The instance type to use when launching the server.
*/ inline ServerLaunchConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *The instance type to use when launching the server.
*/ inline ServerLaunchConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *Indicates whether a publicly accessible IP address is created when launching * the server.
*/ inline bool GetAssociatePublicIpAddress() const{ return m_associatePublicIpAddress; } /** *Indicates whether a publicly accessible IP address is created when launching * the server.
*/ inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; } /** *Indicates whether a publicly accessible IP address is created when launching * the server.
*/ inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; } /** *Indicates whether a publicly accessible IP address is created when launching * the server.
*/ inline ServerLaunchConfiguration& WithAssociatePublicIpAddress(bool value) { SetAssociatePublicIpAddress(value); return *this;} /** *The name of the IAM instance profile.
*/ inline const Aws::String& GetIamInstanceProfileName() const{ return m_iamInstanceProfileName; } /** *The name of the IAM instance profile.
*/ inline bool IamInstanceProfileNameHasBeenSet() const { return m_iamInstanceProfileNameHasBeenSet; } /** *The name of the IAM instance profile.
*/ inline void SetIamInstanceProfileName(const Aws::String& value) { m_iamInstanceProfileNameHasBeenSet = true; m_iamInstanceProfileName = value; } /** *The name of the IAM instance profile.
*/ inline void SetIamInstanceProfileName(Aws::String&& value) { m_iamInstanceProfileNameHasBeenSet = true; m_iamInstanceProfileName = std::move(value); } /** *The name of the IAM instance profile.
*/ inline void SetIamInstanceProfileName(const char* value) { m_iamInstanceProfileNameHasBeenSet = true; m_iamInstanceProfileName.assign(value); } /** *The name of the IAM instance profile.
*/ inline ServerLaunchConfiguration& WithIamInstanceProfileName(const Aws::String& value) { SetIamInstanceProfileName(value); return *this;} /** *The name of the IAM instance profile.
*/ inline ServerLaunchConfiguration& WithIamInstanceProfileName(Aws::String&& value) { SetIamInstanceProfileName(std::move(value)); return *this;} /** *The name of the IAM instance profile.
*/ inline ServerLaunchConfiguration& WithIamInstanceProfileName(const char* value) { SetIamInstanceProfileName(value); return *this;} inline const S3Location& GetConfigureScript() const{ return m_configureScript; } inline bool ConfigureScriptHasBeenSet() const { return m_configureScriptHasBeenSet; } inline void SetConfigureScript(const S3Location& value) { m_configureScriptHasBeenSet = true; m_configureScript = value; } inline void SetConfigureScript(S3Location&& value) { m_configureScriptHasBeenSet = true; m_configureScript = std::move(value); } inline ServerLaunchConfiguration& WithConfigureScript(const S3Location& value) { SetConfigureScript(value); return *this;} inline ServerLaunchConfiguration& WithConfigureScript(S3Location&& value) { SetConfigureScript(std::move(value)); return *this;} /** *The type of configuration script.
*/ inline const ScriptType& GetConfigureScriptType() const{ return m_configureScriptType; } /** *The type of configuration script.
*/ inline bool ConfigureScriptTypeHasBeenSet() const { return m_configureScriptTypeHasBeenSet; } /** *The type of configuration script.
*/ inline void SetConfigureScriptType(const ScriptType& value) { m_configureScriptTypeHasBeenSet = true; m_configureScriptType = value; } /** *The type of configuration script.
*/ inline void SetConfigureScriptType(ScriptType&& value) { m_configureScriptTypeHasBeenSet = true; m_configureScriptType = std::move(value); } /** *The type of configuration script.
*/ inline ServerLaunchConfiguration& WithConfigureScriptType(const ScriptType& value) { SetConfigureScriptType(value); return *this;} /** *The type of configuration script.
*/ inline ServerLaunchConfiguration& WithConfigureScriptType(ScriptType&& value) { SetConfigureScriptType(std::move(value)); return *this;} private: Server m_server; bool m_serverHasBeenSet = false; Aws::String m_logicalId; bool m_logicalIdHasBeenSet = false; Aws::String m_vpc; bool m_vpcHasBeenSet = false; Aws::String m_subnet; bool m_subnetHasBeenSet = false; Aws::String m_securityGroup; bool m_securityGroupHasBeenSet = false; Aws::String m_ec2KeyName; bool m_ec2KeyNameHasBeenSet = false; UserData m_userData; bool m_userDataHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; bool m_associatePublicIpAddress; bool m_associatePublicIpAddressHasBeenSet = false; Aws::String m_iamInstanceProfileName; bool m_iamInstanceProfileNameHasBeenSet = false; S3Location m_configureScript; bool m_configureScriptHasBeenSet = false; ScriptType m_configureScriptType; bool m_configureScriptTypeHasBeenSet = false; }; } // namespace Model } // namespace SMS } // namespace Aws