import * as pulumi from "@pulumi/pulumi"; /** * Use this resource to manage standard DNS records in UltraDNS * * ## Example Usage * ### Create DNS record of type A (1) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const record = new ultradns.Record("a", { * ownerName: "a", * recordDatas: ["192.168.1.1"], * recordType: "1", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type NS (2) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const ns = new ultradns.Record("ns", { * ownerName: "example.com.", * recordDatas: [ * "ns11.sample.com.", * "ns12.sample.com.", * ], * recordType: "NS", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type CNAME (5) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const cname = new ultradns.Record("cname", { * ownerName: "cname", * recordDatas: ["host.sample.com."], * recordType: "CNAME", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type PTR (12) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const ptr = new ultradns.Record("ptr", { * ownerName: "1", * recordDatas: ["ns1.example.com."], * recordType: "12", * ttl: 120, * zoneName: "70.154.156.in-addr.arpa.", * }); * ``` * ### Create DNS record of type MX (15) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const mx = new ultradns.Record("mx", { * ownerName: "mx", * recordDatas: ["2 example.com."], * recordType: "15", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type TXT (16) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const txt = new ultradns.Record("txt", { * ownerName: "txt", * recordDatas: ["text data"], * recordType: "TXT", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type AAAA (28) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const aaaa = new ultradns.Record("aaaa", { * ownerName: "aaaa", * recordDatas: ["2001:db8:85a3:0:0:8a2e:370:7334"], * recordType: "AAAA", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type SRV (33) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const srv = new ultradns.Record("srv", { * ownerName: "srv", * recordDatas: ["5 6 7 example.com."], * recordType: "33", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type SSHFP (44) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const sshfp = new ultradns.Record("sshfp", { * ownerName: "sshfp", * recordDatas: ["1 2 54B5E539EAF593AEA410F80737530B71CCDE8B6C3D241184A1372E98BC7EDB37"], * recordType: "SSHFP", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create DNS record of type APEXALIAS (65282) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const apex = new ultradns.Record("apex", { * ownerName: "example.com.", * recordDatas: ["sample.com."], * recordType: "APEXALIAS", * ttl: 120, * zoneName: "example.com.", * }); * ``` * * ## Import * * Records can be imported by combining their `owner_name`, `zone_name`, and `record_type`, separated by a colon.
Example `www.example.com.:example.com.:A (1)`. -> For import, the `owner_name` and `zone_name` must be a FQDN, and `record_type` should have the type as well as the corresponding number as shown in the example below. Example * * ```sh * $ pulumi import ultradns:index/record:Record example "www.example.com.:example.com.:A (1)" * ``` */ export declare class Record extends pulumi.CustomResource { /** * Get an existing Record resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: RecordState, opts?: pulumi.CustomResourceOptions): Record; /** * Returns true if the given object is an instance of Record. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Record; /** * (String) The domain name of the owner of the RRSet. Can be either a fully qualified domain name (FQDN) or a relative domain name. If provided as a FQDN, it must be contained within the zone name's FQDN. */ readonly ownerName: pulumi.Output; /** * (String List) The data for the record displayed as the BIND presentation format for the specified RRTYPE.
* Example : For a SRV record, the format of data is ["priority weight port target"] (["2 2 523 example.com."])
* Additionally for MX, CNAME, and PTR record types, the data value must be a FQDN, as it cannot be relative to the zone name.
*/ readonly recordDatas: pulumi.Output; /** * (String) Must be formatted as the well-known resource record type (A, AAAA, TXT, etc.) or the corresponding number for the type; between 1 and 65535.
* Below are the supported resource record types with the corresponding number:
* `A (1)` * `NS (2)` * `CNAME (5)` * `PTR (12)` * `MX (15)` * `TXT (16)` * `AAAA (28)` * `SRV (33)` * `SSHFP (44)` * `APEXALIAS (65282)` */ readonly recordType: pulumi.Output; /** * (Integer) The time to live (in seconds) for the record. Must be a value between 0 and 2147483647, inclusive. */ readonly ttl: pulumi.Output; /** * (String) Name of the zone. */ readonly zoneName: pulumi.Output; /** * Create a Record resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RecordArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Record resources. */ export interface RecordState { /** * (String) The domain name of the owner of the RRSet. Can be either a fully qualified domain name (FQDN) or a relative domain name. If provided as a FQDN, it must be contained within the zone name's FQDN. */ ownerName?: pulumi.Input; /** * (String List) The data for the record displayed as the BIND presentation format for the specified RRTYPE.
* Example : For a SRV record, the format of data is ["priority weight port target"] (["2 2 523 example.com."])
* Additionally for MX, CNAME, and PTR record types, the data value must be a FQDN, as it cannot be relative to the zone name.
*/ recordDatas?: pulumi.Input[]>; /** * (String) Must be formatted as the well-known resource record type (A, AAAA, TXT, etc.) or the corresponding number for the type; between 1 and 65535.
* Below are the supported resource record types with the corresponding number:
* `A (1)` * `NS (2)` * `CNAME (5)` * `PTR (12)` * `MX (15)` * `TXT (16)` * `AAAA (28)` * `SRV (33)` * `SSHFP (44)` * `APEXALIAS (65282)` */ recordType?: pulumi.Input; /** * (Integer) The time to live (in seconds) for the record. Must be a value between 0 and 2147483647, inclusive. */ ttl?: pulumi.Input; /** * (String) Name of the zone. */ zoneName?: pulumi.Input; } /** * The set of arguments for constructing a Record resource. */ export interface RecordArgs { /** * (String) The domain name of the owner of the RRSet. Can be either a fully qualified domain name (FQDN) or a relative domain name. If provided as a FQDN, it must be contained within the zone name's FQDN. */ ownerName: pulumi.Input; /** * (String List) The data for the record displayed as the BIND presentation format for the specified RRTYPE.
* Example : For a SRV record, the format of data is ["priority weight port target"] (["2 2 523 example.com."])
* Additionally for MX, CNAME, and PTR record types, the data value must be a FQDN, as it cannot be relative to the zone name.
*/ recordDatas: pulumi.Input[]>; /** * (String) Must be formatted as the well-known resource record type (A, AAAA, TXT, etc.) or the corresponding number for the type; between 1 and 65535.
* Below are the supported resource record types with the corresponding number:
* `A (1)` * `NS (2)` * `CNAME (5)` * `PTR (12)` * `MX (15)` * `TXT (16)` * `AAAA (28)` * `SRV (33)` * `SSHFP (44)` * `APEXALIAS (65282)` */ recordType: pulumi.Input; /** * (Integer) The time to live (in seconds) for the record. Must be a value between 0 and 2147483647, inclusive. */ ttl?: pulumi.Input; /** * (String) Name of the zone. */ zoneName: pulumi.Input; }