import * as core from "@terrascript/core"; export interface AccessLogsArgs extends core.SchemaArgs { bucket: string | core.StringOut; enabled: boolean | core.BooleanOut; prefix: string | core.StringOut; } export class AccessLogs extends core.Schema { @core.attr(String, { computed: true }) public bucket!: string | core.StringOut; @core.attr(Boolean, { computed: true }) public enabled!: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public prefix!: string | core.StringOut; } export interface SubnetMappingArgs extends core.SchemaArgs { allocationId: string | core.StringOut; ipv6Address: string | core.StringOut; outpostId: string | core.StringOut; privateIpv4Address: string | core.StringOut; subnetId: string | core.StringOut; } export class SubnetMapping extends core.Schema { @core.attr(String, { computed: true }) public allocationId!: string | core.StringOut; @core.attr(String, { computed: true }) public ipv6Address!: string | core.StringOut; @core.attr(String, { computed: true }) public outpostId!: string | core.StringOut; @core.attr(String, { computed: true }) public privateIpv4Address!: string | core.StringOut; @core.attr(String, { computed: true }) public subnetId!: string | core.StringOut; } export interface DsLbArgs { /** * (Optional) The full ARN of the load balancer. */ arn?: string | core.StringOut; /** * (Optional) The unique name of the load balancer. */ name?: string | core.StringOut; /** * (Optional) A mapping of tags, each pair of which must exactly match a pair on the desired load balan * cer. */ tags?: core.Map | core.MapOut; } export class DsLb extends core.Data { @core.attr(AccessLogs, { computed: true, kind: "array" }) public accessLogs!: core.Array | core.ArrayOut; /** * (Optional) The full ARN of the load balancer. */ @core.attr(String, { computed: true }) public arn?: string | core.StringOut; @core.attr(String, { computed: true }) public arnSuffix!: string | core.StringOut; @core.attr(String, { computed: true }) public customerOwnedIpv4Pool!: string | core.StringOut; @core.attr(String, { computed: true }) public desyncMitigationMode!: string | core.StringOut; @core.attr(String, { computed: true }) public dnsName!: string | core.StringOut; @core.attr(Boolean, { computed: true }) public dropInvalidHeaderFields!: boolean | core.BooleanOut; @core.attr(Boolean, { computed: true }) public enableDeletionProtection!: boolean | core.BooleanOut; @core.attr(Boolean, { computed: true }) public enableHttp2!: boolean | core.BooleanOut; @core.attr(Boolean, { computed: true }) public enableWafFailOpen!: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(Number, { computed: true }) public idleTimeout!: number | core.NumberOut; @core.attr(Boolean, { computed: true }) public internal!: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public ipAddressType!: string | core.StringOut; @core.attr(String, { computed: true }) public loadBalancerType!: string | core.StringOut; /** * (Optional) The unique name of the load balancer. */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; @core.attr(Boolean, { computed: true }) public preserveHostHeader!: boolean | core.BooleanOut; @core.attr(String, { computed: true, kind: "array" }) public securityGroups!: core.Array | core.ArrayOut; @core.attr(SubnetMapping, { computed: true, kind: "array" }) public subnetMapping!: | core.Array | core.ArrayOut; @core.attr(String, { computed: true, kind: "array" }) public subnets!: core.Array | core.ArrayOut; /** * (Optional) A mapping of tags, each pair of which must exactly match a pair on the desired load balan * cer. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true }) public vpcId!: string | core.StringOut; @core.attr(String, { computed: true }) public zoneId!: string | core.StringOut; constructor(name: string, args?: DsLbArgs) { super(name, "aws_lb", args); } public override getNamespace(): string { return "aws_elb"; } }