import * as core from "@terrascript/core"; export interface CertificateArgs extends core.SchemaArgs { certificateName: string | core.StringOut; domainNames: core.Array | core.ArrayOut; } export class Certificate extends core.Schema { @core.attr(String) public certificateName!: string | core.StringOut; @core.attr(String, { kind: "array" }) public domainNames!: core.Array | core.ArrayOut; } export interface PublicDomainNamesArgs extends core.SchemaArgs { certificate: core.Array | core.ArrayOut; } export class PublicDomainNames extends core.Schema { @core.attr(Certificate, { kind: "array" }) public certificate!: core.Array | core.ArrayOut; } export interface ContainerServiceArgs extends core.ResourceArgs { /** * (Optional) A Boolean value indicating whether the container service is disabled. Defaults to `false` * . */ isDisabled?: boolean | core.BooleanOut; /** * (Required) The name for the container service. Names must be of length 1 to 63, and be */ name: string | core.StringOut; /** * (Required) The power specification for the container service. The power specifies the amount of memo * ry, */ power: string | core.StringOut; /** * (Optional) The public domain names to use with the container service, such as example.com */ publicDomainNames?: PublicDomainNames; /** * (Required) The scale specification for the container service. The scale specifies the allocated comp * ute */ scale: number | core.NumberOut; /** * (Optional) Map of container service tags. To tag at launch, specify the tags in the Launch Template. * If */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider */ tagsAll?: core.Map | core.MapOut; } export class ContainerService extends core.Resource { /** * The Amazon Resource Name (ARN) of the container service. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The Availability Zone. Follows the format us-east-2a (case-sensitive). */ @core.attr(String, { computed: true }) public availabilityZone!: string | core.StringOut; @core.attr(String, { computed: true }) public createdAt!: string | core.StringOut; /** * Same as `name`. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) A Boolean value indicating whether the container service is disabled. Defaults to `false` * . */ @core.attr(Boolean) public isDisabled?: boolean | core.BooleanOut; /** * (Required) The name for the container service. Names must be of length 1 to 63, and be */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The power specification for the container service. The power specifies the amount of memo * ry, */ @core.attr(String) public power!: string | core.StringOut; /** * The ID of the power of the container service. */ @core.attr(String, { computed: true }) public powerId!: string | core.StringOut; @core.attr(String, { computed: true }) public principalArn!: string | core.StringOut; /** * The private domain name of the container service. The private domain name is accessible only */ @core.attr(String, { computed: true }) public privateDomainName!: string | core.StringOut; /** * (Optional) The public domain names to use with the container service, such as example.com */ @core.attr(PublicDomainNames) public publicDomainNames?: PublicDomainNames; /** * The Lightsail resource type of the container service (i.e., ContainerService). */ @core.attr(String, { computed: true }) public resourceType!: string | core.StringOut; /** * (Required) The scale specification for the container service. The scale specifies the allocated comp * ute */ @core.attr(Number) public scale!: number | core.NumberOut; /** * The current state of the container service. */ @core.attr(String, { computed: true }) public state!: string | core.StringOut; /** * (Optional) Map of container service tags. To tag at launch, specify the tags in the Launch Template. * If */ @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 */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * The publicly accessible URL of the container service. If no public endpoint is specified in the */ @core.attr(String, { computed: true }) public url!: string | core.StringOut; constructor(name: string, args?: ContainerServiceArgs) { super(name, "aws_lightsail_container_service", args); } public override getNamespace(): string { return "aws_lightsail"; } }