import * as pulumi from "@pulumi/pulumi"; /** * Provides a Vultr DNS Record resource. This can be used to create, read, modify, and delete DNS Records. * * ## Example Usage * * Create a new DNS Record * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myDomain = new vultr.DnsDomain("myDomain", { * domain: "domain.com", * ip: "66.42.94.227", * }); * const myRecord = new vultr.DnsRecord("myRecord", { * data: "66.42.94.227", * domain: myDomain.id, * type: "A", * }); * ``` * * ## Import * * DNS Records can be imported using the Dns Domain `domain` and DNS Record `ID` e.g. * * ```sh * $ pulumi import vultr:index/dnsRecord:DnsRecord rec domain.com,1a0019bd-7645-4310-81bd-03bc5906940f * ``` */ export declare class DnsRecord extends pulumi.CustomResource { /** * Get an existing DnsRecord 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?: DnsRecordState, opts?: pulumi.CustomResourceOptions): DnsRecord; /** * Returns true if the given object is an instance of DnsRecord. 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 DnsRecord; /** * IP Address of the instance the domain is associated with. */ readonly data: pulumi.Output; /** * Name of the DNS Domain this record will belong to. */ readonly domain: pulumi.Output; /** * Name (subdomain) for this record. */ readonly name: pulumi.Output; /** * Priority of this record (only required for MX and SRV). */ readonly priority: pulumi.Output; /** * The time to live of this record. */ readonly ttl: pulumi.Output; /** * Type of record. */ readonly type: pulumi.Output; /** * Create a DnsRecord 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: DnsRecordArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DnsRecord resources. */ export interface DnsRecordState { /** * IP Address of the instance the domain is associated with. */ data?: pulumi.Input; /** * Name of the DNS Domain this record will belong to. */ domain?: pulumi.Input; /** * Name (subdomain) for this record. */ name?: pulumi.Input; /** * Priority of this record (only required for MX and SRV). */ priority?: pulumi.Input; /** * The time to live of this record. */ ttl?: pulumi.Input; /** * Type of record. */ type?: pulumi.Input; } /** * The set of arguments for constructing a DnsRecord resource. */ export interface DnsRecordArgs { /** * IP Address of the instance the domain is associated with. */ data: pulumi.Input; /** * Name of the DNS Domain this record will belong to. */ domain: pulumi.Input; /** * Name (subdomain) for this record. */ name?: pulumi.Input; /** * Priority of this record (only required for MX and SRV). */ priority?: pulumi.Input; /** * The time to live of this record. */ ttl?: pulumi.Input; /** * Type of record. */ type: pulumi.Input; }