/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloud9.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateEnvironmentEC2Request extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name of the environment to create. *

*

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

*/ private String name; /** *

* The description of the environment to create. *

*/ private String description; /** *

* 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. *

*/ private String clientRequestToken; /** *

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

*/ private String instanceType; /** *

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

*/ private String subnetId; /** *

* 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 *

* *

* SSM paths *

* */ private String imageId; /** *

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

*/ private Integer automaticStopTimeMinutes; /** *

* 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. *

*/ private String ownerArn; /** *

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

*/ private java.util.List tags; /** *

* 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. *

*/ private String connectionType; /** *

* 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. *

*/ private Boolean dryRun; /** *

* The name of the environment to create. *

*

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

* * @param name * The name of the environment to create.

*

* This name is visible to other IAM users in the same Amazon Web Services account. */ public void setName(String name) { this.name = name; } /** *

* The name of the environment to create. *

*

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

* * @return The name of the environment to create.

*

* This name is visible to other IAM users in the same Amazon Web Services account. */ public String getName() { return this.name; } /** *

* The name of the environment to create. *

*

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

* * @param name * The name of the environment to create.

*

* This name is visible to other IAM users in the same Amazon Web Services account. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentEC2Request withName(String name) { setName(name); return this; } /** *

* The description of the environment to create. *

* * @param description * The description of the environment to create. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the environment to create. *

* * @return The description of the environment to create. */ public String getDescription() { return this.description; } /** *

* The description of the environment to create. *

* * @param description * The description of the environment to create. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentEC2Request withDescription(String description) { setDescription(description); 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. *

* * @param 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. */ public void setClientRequestToken(String clientRequestToken) { this.clientRequestToken = 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. *

* * @return 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. */ public String getClientRequestToken() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentEC2Request withClientRequestToken(String clientRequestToken) { setClientRequestToken(clientRequestToken); return this; } /** *

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

* * @param instanceType * The type of instance to connect to the environment (for example, t2.micro). */ public void setInstanceType(String instanceType) { this.instanceType = instanceType; } /** *

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

* * @return The type of instance to connect to the environment (for example, t2.micro). */ public String getInstanceType() { return this.instanceType; } /** *

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

* * @param instanceType * The type of instance to connect to the environment (for example, t2.micro). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentEC2Request withInstanceType(String instanceType) { setInstanceType(instanceType); return this; } /** *

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

* * @param subnetId * The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with the Amazon EC2 instance. */ public void setSubnetId(String subnetId) { this.subnetId = subnetId; } /** *

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

* * @return The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with the Amazon EC2 instance. */ public String getSubnetId() { return this.subnetId; } /** *

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

* * @param subnetId * The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with the Amazon EC2 instance. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentEC2Request withSubnetId(String subnetId) { setSubnetId(subnetId); 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 *

* *

* SSM paths *

* * * @param 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 *

* *

* SSM paths *

*