import * as core from "@terrascript/core"; export interface ContainerArgs extends core.SchemaArgs { command?: core.Array | core.ArrayOut; containerName: string | core.StringOut; environment?: core.Map | core.MapOut; image: string | core.StringOut; ports?: core.Map | core.MapOut; } export class Container extends core.Schema { @core.attr(String, { kind: "array" }) public command?: core.Array | core.ArrayOut; @core.attr(String) public containerName!: string | core.StringOut; @core.attr(String, { kind: "map" }) public environment?: core.Map | core.MapOut; @core.attr(String) public image!: string | core.StringOut; @core.attr(String, { kind: "map" }) public ports?: core.Map | core.MapOut; } export interface HealthCheckArgs extends core.SchemaArgs { healthyThreshold?: number | core.NumberOut; intervalSeconds?: number | core.NumberOut; path?: string | core.StringOut; successCodes?: string | core.StringOut; timeoutSeconds?: number | core.NumberOut; unhealthyThreshold?: number | core.NumberOut; } export class HealthCheck extends core.Schema { @core.attr(Number) public healthyThreshold?: number | core.NumberOut; @core.attr(Number) public intervalSeconds?: number | core.NumberOut; @core.attr(String) public path?: string | core.StringOut; @core.attr(String) public successCodes?: string | core.StringOut; @core.attr(Number) public timeoutSeconds?: number | core.NumberOut; @core.attr(Number) public unhealthyThreshold?: number | core.NumberOut; } export interface PublicEndpointArgs extends core.SchemaArgs { containerName: string | core.StringOut; containerPort: number | core.NumberOut; healthCheck: HealthCheck; } export class PublicEndpoint extends core.Schema { @core.attr(String) public containerName!: string | core.StringOut; @core.attr(Number) public containerPort!: number | core.NumberOut; @core.attr(HealthCheck) public healthCheck!: HealthCheck; } export interface ContainerServiceDeploymentVersionArgs extends core.ResourceArgs { /** * (Required) A set of configuration blocks that describe the settings of the containers that will be l * aunched on the container service. Maximum of 53. [Detailed below](#container). */ container: core.Array | core.ArrayOut; /** * (Optional) A configuration block that describes the settings of the public endpoint for the containe * r service. [Detailed below](#public_endpoint). */ publicEndpoint?: PublicEndpoint; /** * (Required) The name for the container service. */ serviceName: string | core.StringOut; } export class ContainerServiceDeploymentVersion extends core.Resource { /** * (Required) A set of configuration blocks that describe the settings of the containers that will be l * aunched on the container service. Maximum of 53. [Detailed below](#container). */ @core.attr(Container, { kind: "array" }) public container!: core.Array | core.ArrayOut; /** * The timestamp when the deployment was created. */ @core.attr(String, { computed: true }) public createdAt!: string | core.StringOut; /** * The `service_name` and `version` separation by a slash (`/`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) A configuration block that describes the settings of the public endpoint for the containe * r service. [Detailed below](#public_endpoint). */ @core.attr(PublicEndpoint) public publicEndpoint?: PublicEndpoint; /** * (Required) The name for the container service. */ @core.attr(String) public serviceName!: string | core.StringOut; /** * The current state of the container service. */ @core.attr(String, { computed: true }) public state!: string | core.StringOut; /** * The version number of the deployment. */ @core.attr(Number, { computed: true }) public version!: number | core.NumberOut; constructor(name: string, args?: ContainerServiceDeploymentVersionArgs) { super(name, "aws_lightsail_container_service_deployment_version", args); } public override getNamespace(): string { return "aws_lightsail"; } }