/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Cloud9 { namespace Model { /** */ class CreateEnvironmentEC2Request : public Cloud9Request { public: AWS_CLOUD9_API CreateEnvironmentEC2Request(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateEnvironmentEC2"; } AWS_CLOUD9_API Aws::String SerializePayload() const override; AWS_CLOUD9_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline CreateEnvironmentEC2Request& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline CreateEnvironmentEC2Request& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the environment to create.

This name is visible to other * IAM users in the same Amazon Web Services account.

*/ inline CreateEnvironmentEC2Request& WithName(const char* value) { SetName(value); return *this;} /** *

The description of the environment to create.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the environment to create.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the environment to create.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the environment to create.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the environment to create.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the environment to create.

*/ inline CreateEnvironmentEC2Request& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the environment to create.

*/ inline CreateEnvironmentEC2Request& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the environment to create.

*/ inline CreateEnvironmentEC2Request& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline CreateEnvironmentEC2Request& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline CreateEnvironmentEC2Request& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} /** *

A unique, case-sensitive string that helps Cloud9 to ensure this operation * completes no more than one time.

For more information, see Client * Tokens in the Amazon EC2 API Reference.

*/ inline CreateEnvironmentEC2Request& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline CreateEnvironmentEC2Request& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline CreateEnvironmentEC2Request& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The type of instance to connect to the environment (for example, * t2.micro).

*/ inline CreateEnvironmentEC2Request& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline CreateEnvironmentEC2Request& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline CreateEnvironmentEC2Request& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with * the Amazon EC2 instance.

*/ inline CreateEnvironmentEC2Request& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline CreateEnvironmentEC2Request& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline CreateEnvironmentEC2Request& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *

The identifier for the Amazon Machine Image (AMI) that's used to create the * EC2 instance. To choose an AMI for the instance, you must specify a valid AMI * alias or a valid Amazon EC2 Systems Manager (SSM) path.

The default * Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a * value in the request.

In the future the parameter for Amazon Linux will * no longer be available when you specify an AMI for your instance. Amazon Linux 2 * will then become the default AMI, which is used to launch your instance if no * parameter is explicitly defined.

AMI aliases

  • * Amazon Linux (default): amazonlinux-1-x86_64

  • *
  • Amazon Linux 2: amazonlinux-2-x86_64

  • *

    Ubuntu 18.04: ubuntu-18.04-x86_64

SSM * paths

  • Amazon Linux (default): * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

    *
  • Amazon Linux 2: * resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

    *
  • Ubuntu 18.04: * resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

  • *
*/ inline CreateEnvironmentEC2Request& WithImageId(const char* value) { SetImageId(value); return *this;} /** *

The number of minutes until the running instance is shut down after the * environment has last been used.

*/ inline int GetAutomaticStopTimeMinutes() const{ return m_automaticStopTimeMinutes; } /** *

The number of minutes until the running instance is shut down after the * environment has last been used.

*/ inline bool AutomaticStopTimeMinutesHasBeenSet() const { return m_automaticStopTimeMinutesHasBeenSet; } /** *

The number of minutes until the running instance is shut down after the * environment has last been used.

*/ inline void SetAutomaticStopTimeMinutes(int value) { m_automaticStopTimeMinutesHasBeenSet = true; m_automaticStopTimeMinutes = value; } /** *

The number of minutes until the running instance is shut down after the * environment has last been used.

*/ inline CreateEnvironmentEC2Request& WithAutomaticStopTimeMinutes(int value) { SetAutomaticStopTimeMinutes(value); return *this;} /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline const Aws::String& GetOwnerArn() const{ return m_ownerArn; } /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline bool OwnerArnHasBeenSet() const { return m_ownerArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline void SetOwnerArn(const Aws::String& value) { m_ownerArnHasBeenSet = true; m_ownerArn = value; } /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline void SetOwnerArn(Aws::String&& value) { m_ownerArnHasBeenSet = true; m_ownerArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline void SetOwnerArn(const char* value) { m_ownerArnHasBeenSet = true; m_ownerArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline CreateEnvironmentEC2Request& WithOwnerArn(const Aws::String& value) { SetOwnerArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline CreateEnvironmentEC2Request& WithOwnerArn(Aws::String&& value) { SetOwnerArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the * ARN of any IAM principal. If this value is not specified, the ARN defaults to * this environment's creator.

*/ inline CreateEnvironmentEC2Request& WithOwnerArn(const char* value) { SetOwnerArn(value); return *this;} /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline CreateEnvironmentEC2Request& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline CreateEnvironmentEC2Request& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline CreateEnvironmentEC2Request& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

An array of key-value pairs that will be associated with the new Cloud9 * development environment.

*/ inline CreateEnvironmentEC2Request& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The connection type used for connecting to an Amazon EC2 environment. Valid * values are CONNECT_SSH (default) and CONNECT_SSM * (connected through Amazon EC2 Systems Manager).

For more information, see * Accessing * no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 * User Guide.

*/ inline const ConnectionType& GetConnectionType() const{ return m_connectionType; } /** *

The connection type used for connecting to an Amazon EC2 environment. Valid * values are CONNECT_SSH (default) and CONNECT_SSM * (connected through Amazon EC2 Systems Manager).

For more information, see * Accessing * no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 * User Guide.

*/ inline bool ConnectionTypeHasBeenSet() const { return m_connectionTypeHasBeenSet; } /** *

The connection type used for connecting to an Amazon EC2 environment. Valid * values are CONNECT_SSH (default) and CONNECT_SSM * (connected through Amazon EC2 Systems Manager).

For more information, see * Accessing * no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 * User Guide.

*/ inline void SetConnectionType(const ConnectionType& value) { m_connectionTypeHasBeenSet = true; m_connectionType = value; } /** *

The connection type used for connecting to an Amazon EC2 environment. Valid * values are CONNECT_SSH (default) and CONNECT_SSM * (connected through Amazon EC2 Systems Manager).

For more information, see * Accessing * no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 * User Guide.

*/ inline void SetConnectionType(ConnectionType&& value) { m_connectionTypeHasBeenSet = true; m_connectionType = std::move(value); } /** *

The connection type used for connecting to an Amazon EC2 environment. Valid * values are CONNECT_SSH (default) and CONNECT_SSM * (connected through Amazon EC2 Systems Manager).

For more information, see * Accessing * no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 * User Guide.

*/ inline CreateEnvironmentEC2Request& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;} /** *

The connection type used for connecting to an Amazon EC2 environment. Valid * values are CONNECT_SSH (default) and CONNECT_SSM * (connected through Amazon EC2 Systems Manager).

For more information, see * Accessing * no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 * User Guide.

*/ inline CreateEnvironmentEC2Request& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;} /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline CreateEnvironmentEC2Request& WithDryRun(bool value) { SetDryRun(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_imageId; bool m_imageIdHasBeenSet = false; int m_automaticStopTimeMinutes; bool m_automaticStopTimeMinutesHasBeenSet = false; Aws::String m_ownerArn; bool m_ownerArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ConnectionType m_connectionType; bool m_connectionTypeHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; }; } // namespace Model } // namespace Cloud9 } // namespace Aws