import * as core from "@terrascript/core"; export interface VpcArgs extends core.SchemaArgs { vpcId: string | core.StringOut; vpcRegion?: string | core.StringOut; } export class Vpc extends core.Schema { @core.attr(String) public vpcId!: string | core.StringOut; @core.attr(String, { computed: true }) public vpcRegion?: string | core.StringOut; } export interface ZoneArgs extends core.ResourceArgs { /** * (Optional) A comment for the hosted zone. Defaults to 'Managed by Terraform'. */ comment?: string | core.StringOut; /** * (Optional) The ID of the reusable delegation set whose NS records you want to assign to the hosted z * one. Conflicts with `vpc` as delegation sets can only be used for public zones. */ delegationSetId?: string | core.StringOut; /** * (Optional) Whether to destroy all records (possibly managed outside of Terraform) in the zone when d * estroying the zone. */ forceDestroy?: boolean | core.BooleanOut; /** * (Required) This is the name of the hosted zone. */ name: string | core.StringOut; /** * (Optional) A map of tags to assign to the zone. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-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; /** * (Optional) Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflic * ts with the `delegation_set_id` argument in this resource and any [`aws_route53_zone_association` re * source](/docs/providers/aws/r/route53_zone_association.html) specifying the same zone ID. Detailed b * elow. */ vpc?: core.Array | core.ArrayOut; } export class Zone extends core.Resource { /** * The Amazon Resource Name (ARN) of the Hosted Zone. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A comment for the hosted zone. Defaults to 'Managed by Terraform'. */ @core.attr(String) public comment?: string | core.StringOut; /** * (Optional) The ID of the reusable delegation set whose NS records you want to assign to the hosted z * one. Conflicts with `vpc` as delegation sets can only be used for public zones. */ @core.attr(String) public delegationSetId?: string | core.StringOut; /** * (Optional) Whether to destroy all records (possibly managed outside of Terraform) in the zone when d * estroying the zone. */ @core.attr(Boolean) public forceDestroy?: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) This is the name of the hosted zone. */ @core.attr(String) public name!: string | core.StringOut; /** * A list of name servers in associated (or default) delegation set. */ @core.attr(String, { computed: true, kind: "array" }) public nameServers!: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the zone. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-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; /** * (Optional) Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflic * ts with the `delegation_set_id` argument in this resource and any [`aws_route53_zone_association` re * source](/docs/providers/aws/r/route53_zone_association.html) specifying the same zone ID. Detailed b * elow. */ @core.attr(Vpc, { kind: "array" }) public vpc?: core.Array | core.ArrayOut; /** * The Hosted Zone ID. This can be referenced by zone records. */ @core.attr(String, { computed: true }) public zoneId!: string | core.StringOut; constructor(name: string, args?: ZoneArgs) { super(name, "aws_route53_zone", args); } public override getNamespace(): string { return "aws_route53"; } }