This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-sms/include/aws/sms/model/ServerLaunchConfiguration.h

523 lines
18 KiB
C++

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