import * as core from "@terrascript/core"; export interface EnvironmentEc2Args extends core.ResourceArgs { /** * (Optional) The number of minutes until the running instance is shut down after the environment has l * ast been used. */ automaticStopTimeMinutes?: number | core.NumberOut; /** * (Optional) The connection type used for connecting to an Amazon EC2 environment. Valid values are `C * ONNECT_SSH` and `CONNECT_SSM`. For more information please refer [AWS documentation for Cloud9](http * s://docs.aws.amazon.com/cloud9/latest/user-guide/ec2-ssm.html). */ connectionType?: string | core.StringOut; /** * (Optional) The description of the environment. */ description?: string | core.StringOut; /** * (Optional) The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. * Valid values are */ imageId?: string | core.StringOut; /** * (Required) The type of instance to connect to the environment, e.g., `t2.micro`. */ instanceType: string | core.StringOut; /** * (Required) The name of the environment. */ name: string | core.StringOut; /** * (Optional) The ARN of the environment owner. This can be ARN of any AWS IAM principal. Defaults to t * he environment's creator. */ ownerArn?: string | core.StringOut; /** * (Optional) The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazo * n EC2 instance. */ subnetId?: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class EnvironmentEc2 extends core.Resource { /** * The ARN of the environment. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) The number of minutes until the running instance is shut down after the environment has l * ast been used. */ @core.attr(Number) public automaticStopTimeMinutes?: number | core.NumberOut; /** * (Optional) The connection type used for connecting to an Amazon EC2 environment. Valid values are `C * ONNECT_SSH` and `CONNECT_SSM`. For more information please refer [AWS documentation for Cloud9](http * s://docs.aws.amazon.com/cloud9/latest/user-guide/ec2-ssm.html). */ @core.attr(String) public connectionType?: string | core.StringOut; /** * (Optional) The description of the environment. */ @core.attr(String) public description?: string | core.StringOut; /** * The ID of the environment. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. * Valid values are */ @core.attr(String) public imageId?: string | core.StringOut; /** * (Required) The type of instance to connect to the environment, e.g., `t2.micro`. */ @core.attr(String) public instanceType!: string | core.StringOut; /** * (Required) The name of the environment. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) The ARN of the environment owner. This can be ARN of any AWS IAM principal. Defaults to t * he environment's creator. */ @core.attr(String, { computed: true }) public ownerArn?: string | core.StringOut; /** * (Optional) The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazo * n EC2 instance. */ @core.attr(String) public subnetId?: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * The type of the environment (e.g., `ssh` or `ec2`) */ @core.attr(String, { computed: true }) public type!: string | core.StringOut; constructor(name: string, args?: EnvironmentEc2Args) { super(name, "aws_cloud9_environment_ec2", args); } public override getNamespace(): string { return "aws_cloud9"; } }