import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * The `scaleway.DomainRecord` data source is used to get information about an existing domain record. * * Refer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information. * * ## Query domain records * * The following commands allow you to: * * - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). * - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * * const byContent = scaleway.getDomainRecord({ * data: "1.2.3.4", * dnsZone: "domain.tld", * name: "www", * type: "A", * }); * const byId = scaleway.getDomainRecord({ * dnsZone: "domain.tld", * recordId: "11111111-1111-1111-1111-111111111111", * }); * ``` */ export declare function getDomainRecord(args?: GetDomainRecordArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getDomainRecord. */ export interface GetDomainRecordArgs { /** * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data?: string; /** * The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. */ dnsZone?: string; /** * The name of the record, which can be an empty string for a root record. Cannot be used with `recordId`. */ name?: string; /** * ). The ID of the Project associated with the domain. */ projectId?: string; /** * The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. */ recordId?: string; /** * The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `recordId`. */ type?: string; } /** * A collection of values returned by getDomainRecord. */ export interface GetDomainRecordResult { readonly data?: string; readonly dnsZone?: string; readonly fqdn: string; /** * Information about dynamic records based on user geolocation. Find out more about dynamic records. */ readonly geoIps: outputs.GetDomainRecordGeoIp[]; /** * Information about dynamic records based on URL resolution. Find out more about dynamic records. */ readonly httpServices: outputs.GetDomainRecordHttpService[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly keepEmptyZone: boolean; readonly name?: string; /** * The priority of the record, mainly used with `MX` records. */ readonly priority: number; readonly projectId?: string; readonly recordId?: string; readonly rootZone: boolean; /** * The Time To Live (TTL) of the record in seconds. */ readonly ttl: number; readonly type?: string; /** * Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records. */ readonly views: outputs.GetDomainRecordView[]; /** * Information about dynamic records based on IP weights. Find out more about dynamic records. */ readonly weighteds: outputs.GetDomainRecordWeighted[]; } /** * The `scaleway.DomainRecord` data source is used to get information about an existing domain record. * * Refer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information. * * ## Query domain records * * The following commands allow you to: * * - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). * - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * * const byContent = scaleway.getDomainRecord({ * data: "1.2.3.4", * dnsZone: "domain.tld", * name: "www", * type: "A", * }); * const byId = scaleway.getDomainRecord({ * dnsZone: "domain.tld", * recordId: "11111111-1111-1111-1111-111111111111", * }); * ``` */ export declare function getDomainRecordOutput(args?: GetDomainRecordOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getDomainRecord. */ export interface GetDomainRecordOutputArgs { /** * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data?: pulumi.Input; /** * The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. */ dnsZone?: pulumi.Input; /** * The name of the record, which can be an empty string for a root record. Cannot be used with `recordId`. */ name?: pulumi.Input; /** * ). The ID of the Project associated with the domain. */ projectId?: pulumi.Input; /** * The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. */ recordId?: pulumi.Input; /** * The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `recordId`. */ type?: pulumi.Input; }