import * as core from "@terrascript/core"; export interface AdminContactArgs extends core.SchemaArgs { addressLine1?: string | core.StringOut; addressLine2?: string | core.StringOut; city?: string | core.StringOut; contactType?: string | core.StringOut; countryCode?: string | core.StringOut; email?: string | core.StringOut; extraParams?: core.Map | core.MapOut; fax?: string | core.StringOut; firstName?: string | core.StringOut; lastName?: string | core.StringOut; organizationName?: string | core.StringOut; phoneNumber?: string | core.StringOut; state?: string | core.StringOut; zipCode?: string | core.StringOut; } export class AdminContact extends core.Schema { @core.attr(String, { computed: true }) public addressLine1?: string | core.StringOut; @core.attr(String, { computed: true }) public addressLine2?: string | core.StringOut; @core.attr(String, { computed: true }) public city?: string | core.StringOut; @core.attr(String, { computed: true }) public contactType?: string | core.StringOut; @core.attr(String, { computed: true }) public countryCode?: string | core.StringOut; @core.attr(String, { computed: true }) public email?: string | core.StringOut; @core.attr(String, { computed: true, kind: "map" }) public extraParams?: core.Map | core.MapOut; @core.attr(String, { computed: true }) public fax?: string | core.StringOut; @core.attr(String, { computed: true }) public firstName?: string | core.StringOut; @core.attr(String, { computed: true }) public lastName?: string | core.StringOut; @core.attr(String, { computed: true }) public organizationName?: string | core.StringOut; @core.attr(String, { computed: true }) public phoneNumber?: string | core.StringOut; @core.attr(String, { computed: true }) public state?: string | core.StringOut; @core.attr(String, { computed: true }) public zipCode?: string | core.StringOut; } export interface TechContactArgs extends core.SchemaArgs { addressLine1?: string | core.StringOut; addressLine2?: string | core.StringOut; city?: string | core.StringOut; contactType?: string | core.StringOut; countryCode?: string | core.StringOut; email?: string | core.StringOut; extraParams?: core.Map | core.MapOut; fax?: string | core.StringOut; firstName?: string | core.StringOut; lastName?: string | core.StringOut; organizationName?: string | core.StringOut; phoneNumber?: string | core.StringOut; state?: string | core.StringOut; zipCode?: string | core.StringOut; } export class TechContact extends core.Schema { @core.attr(String, { computed: true }) public addressLine1?: string | core.StringOut; @core.attr(String, { computed: true }) public addressLine2?: string | core.StringOut; @core.attr(String, { computed: true }) public city?: string | core.StringOut; @core.attr(String, { computed: true }) public contactType?: string | core.StringOut; @core.attr(String, { computed: true }) public countryCode?: string | core.StringOut; @core.attr(String, { computed: true }) public email?: string | core.StringOut; @core.attr(String, { computed: true, kind: "map" }) public extraParams?: core.Map | core.MapOut; @core.attr(String, { computed: true }) public fax?: string | core.StringOut; @core.attr(String, { computed: true }) public firstName?: string | core.StringOut; @core.attr(String, { computed: true }) public lastName?: string | core.StringOut; @core.attr(String, { computed: true }) public organizationName?: string | core.StringOut; @core.attr(String, { computed: true }) public phoneNumber?: string | core.StringOut; @core.attr(String, { computed: true }) public state?: string | core.StringOut; @core.attr(String, { computed: true }) public zipCode?: string | core.StringOut; } export interface NameServerArgs extends core.SchemaArgs { glueIps?: core.Array | core.ArrayOut; name: string | core.StringOut; } export class NameServer extends core.Schema { @core.attr(String, { kind: "array" }) public glueIps?: core.Array | core.ArrayOut; @core.attr(String) public name!: string | core.StringOut; } export interface RegistrantContactArgs extends core.SchemaArgs { addressLine1?: string | core.StringOut; addressLine2?: string | core.StringOut; city?: string | core.StringOut; contactType?: string | core.StringOut; countryCode?: string | core.StringOut; email?: string | core.StringOut; extraParams?: core.Map | core.MapOut; fax?: string | core.StringOut; firstName?: string | core.StringOut; lastName?: string | core.StringOut; organizationName?: string | core.StringOut; phoneNumber?: string | core.StringOut; state?: string | core.StringOut; zipCode?: string | core.StringOut; } export class RegistrantContact extends core.Schema { @core.attr(String, { computed: true }) public addressLine1?: string | core.StringOut; @core.attr(String, { computed: true }) public addressLine2?: string | core.StringOut; @core.attr(String, { computed: true }) public city?: string | core.StringOut; @core.attr(String, { computed: true }) public contactType?: string | core.StringOut; @core.attr(String, { computed: true }) public countryCode?: string | core.StringOut; @core.attr(String, { computed: true }) public email?: string | core.StringOut; @core.attr(String, { computed: true, kind: "map" }) public extraParams?: core.Map | core.MapOut; @core.attr(String, { computed: true }) public fax?: string | core.StringOut; @core.attr(String, { computed: true }) public firstName?: string | core.StringOut; @core.attr(String, { computed: true }) public lastName?: string | core.StringOut; @core.attr(String, { computed: true }) public organizationName?: string | core.StringOut; @core.attr(String, { computed: true }) public phoneNumber?: string | core.StringOut; @core.attr(String, { computed: true }) public state?: string | core.StringOut; @core.attr(String, { computed: true }) public zipCode?: string | core.StringOut; } export interface RegisteredDomainArgs extends core.ResourceArgs { /** * (Optional) Details about the domain administrative contact. */ adminContact?: AdminContact; /** * (Optional) Whether domain administrative contact information is concealed from WHOIS queries. Defaul * t: `true`. */ adminPrivacy?: boolean | core.BooleanOut; /** * (Optional) Whether the domain registration is set to renew automatically. Default: `true`. */ autoRenew?: boolean | core.BooleanOut; /** * (Required) The name of the registered domain. */ domainName: string | core.StringOut; /** * (Optional) The list of nameservers for the domain. */ nameServer?: core.Array | core.ArrayOut; /** * (Optional) Details about the domain registrant. */ registrantContact?: RegistrantContact; /** * (Optional) Whether domain registrant contact information is concealed from WHOIS queries. Default: ` * true`. */ registrantPrivacy?: boolean | core.BooleanOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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) Details about the domain technical contact. */ techContact?: TechContact; /** * (Optional) Whether domain technical contact information is concealed from WHOIS queries. Default: `t * rue`. */ techPrivacy?: boolean | core.BooleanOut; /** * (Optional) Whether the domain is locked for transfer. Default: `true`. */ transferLock?: boolean | core.BooleanOut; } export class RegisteredDomain extends core.Resource { /** * Email address to contact to report incorrect contact information for a domain, to report that the do * main is being used to send spam, to report that someone is cybersquatting on a domain name, or repor * t some other type of abuse. */ @core.attr(String, { computed: true }) public abuseContactEmail!: string | core.StringOut; /** * Phone number for reporting abuse. */ @core.attr(String, { computed: true }) public abuseContactPhone!: string | core.StringOut; /** * (Optional) Details about the domain administrative contact. */ @core.attr(AdminContact, { computed: true }) public adminContact?: AdminContact; /** * (Optional) Whether domain administrative contact information is concealed from WHOIS queries. Defaul * t: `true`. */ @core.attr(Boolean) public adminPrivacy?: boolean | core.BooleanOut; /** * (Optional) Whether the domain registration is set to renew automatically. Default: `true`. */ @core.attr(Boolean) public autoRenew?: boolean | core.BooleanOut; /** * The date when the domain was created as found in the response to a WHOIS query. */ @core.attr(String, { computed: true }) public creationDate!: string | core.StringOut; /** * (Required) The name of the registered domain. */ @core.attr(String) public domainName!: string | core.StringOut; /** * The date when the registration for the domain is set to expire. */ @core.attr(String, { computed: true }) public expirationDate!: string | core.StringOut; /** * The domain name. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The list of nameservers for the domain. */ @core.attr(NameServer, { computed: true, kind: "array" }) public nameServer?: core.Array | core.ArrayOut; /** * (Optional) Details about the domain registrant. */ @core.attr(RegistrantContact, { computed: true }) public registrantContact?: RegistrantContact; /** * (Optional) Whether domain registrant contact information is concealed from WHOIS queries. Default: ` * true`. */ @core.attr(Boolean) public registrantPrivacy?: boolean | core.BooleanOut; /** * Name of the registrar of the domain as identified in the registry. */ @core.attr(String, { computed: true }) public registrarName!: string | core.StringOut; /** * Web address of the registrar. */ @core.attr(String, { computed: true }) public registrarUrl!: string | core.StringOut; /** * Reseller of the domain. */ @core.attr(String, { computed: true }) public reseller!: string | core.StringOut; /** * List of [domain name status codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16 * en). */ @core.attr(String, { computed: true, kind: "array" }) public statusList!: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ @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) Details about the domain technical contact. */ @core.attr(TechContact, { computed: true }) public techContact?: TechContact; /** * (Optional) Whether domain technical contact information is concealed from WHOIS queries. Default: `t * rue`. */ @core.attr(Boolean) public techPrivacy?: boolean | core.BooleanOut; /** * (Optional) Whether the domain is locked for transfer. Default: `true`. */ @core.attr(Boolean) public transferLock?: boolean | core.BooleanOut; /** * The last updated date of the domain as found in the response to a WHOIS query. */ @core.attr(String, { computed: true }) public updatedDate!: string | core.StringOut; /** * The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain. */ @core.attr(String, { computed: true }) public whoisServer!: string | core.StringOut; constructor(name: string, args?: RegisteredDomainArgs) { super(name, "aws_route53domains_registered_domain", args); } public override getNamespace(): string { return "aws_route53domains"; } }