import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleDnsRecords = cloudflare.getDnsRecords({ * zoneId: "023e105f4ecef8ad9ca31a8372d0c353", * comment: { * absent: "absent", * contains: "ello, worl", * endswith: "o, world", * exact: "Hello, world", * present: "present", * startswith: "Hello, w", * }, * content: { * contains: "7.0.0.", * endswith: ".0.1", * exact: "127.0.0.1", * startswith: "127.0.", * }, * name: { * contains: "w.example.", * endswith: ".example.com", * exact: "www.example.com", * startswith: "www.example", * }, * search: "www.cloudflare.com", * tag: { * absent: "important", * contains: "greeting:ello, worl", * endswith: "greeting:o, world", * exact: "greeting:Hello, world", * present: "important", * startswith: "greeting:Hello, w", * }, * type: "A", * }); * ``` */ export declare function getDnsRecords(args: GetDnsRecordsArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getDnsRecords. */ export interface GetDnsRecordsArgs { comment?: inputs.GetDnsRecordsComment; content?: inputs.GetDnsRecordsContent; /** * Direction to order DNS records in. * Available values: "asc", "desc". */ direction?: string; /** * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead. * Available values: "any", "all". */ match?: string; /** * Max items to fetch, default: 1000 */ maxItems?: number; name?: inputs.GetDnsRecordsName; /** * Field to order DNS records by. * Available values: "type", "name", "content", "ttl", "proxied". */ order?: string; /** * Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** * Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters. */ search?: string; tag?: inputs.GetDnsRecordsTag; /** * Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags. * Available values: "any", "all". */ tagMatch?: string; /** * Record type. * Available values: "A", "AAAA", "CAA", "CERT", "CNAME", "DNSKEY", "DS", "HTTPS", "LOC", "MX", "NAPTR", "NS", "OPENPGPKEY", "PTR", "SMIMEA", "SRV", "SSHFP", "SVCB", "TLSA", "TXT", "URI". */ type?: string; /** * Identifier. */ zoneId: string; } /** * A collection of values returned by getDnsRecords. */ export interface GetDnsRecordsResult { readonly comment?: outputs.GetDnsRecordsComment; readonly content?: outputs.GetDnsRecordsContent; /** * Direction to order DNS records in. * Available values: "asc", "desc". */ readonly direction: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead. * Available values: "any", "all". */ readonly match: string; /** * Max items to fetch, default: 1000 */ readonly maxItems?: number; readonly name?: outputs.GetDnsRecordsName; /** * Field to order DNS records by. * Available values: "type", "name", "content", "ttl", "proxied". */ readonly order: string; /** * Whether the record is receiving the performance and security benefits of Cloudflare. */ readonly proxied: boolean; /** * The items returned by the data source */ readonly results: outputs.GetDnsRecordsResult[]; /** * Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters. */ readonly search?: string; readonly tag?: outputs.GetDnsRecordsTag; /** * Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags. * Available values: "any", "all". */ readonly tagMatch: string; /** * Record type. * Available values: "A", "AAAA", "CAA", "CERT", "CNAME", "DNSKEY", "DS", "HTTPS", "LOC", "MX", "NAPTR", "NS", "OPENPGPKEY", "PTR", "SMIMEA", "SRV", "SSHFP", "SVCB", "TLSA", "TXT", "URI". */ readonly type?: string; /** * Identifier. */ readonly zoneId: string; } /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleDnsRecords = cloudflare.getDnsRecords({ * zoneId: "023e105f4ecef8ad9ca31a8372d0c353", * comment: { * absent: "absent", * contains: "ello, worl", * endswith: "o, world", * exact: "Hello, world", * present: "present", * startswith: "Hello, w", * }, * content: { * contains: "7.0.0.", * endswith: ".0.1", * exact: "127.0.0.1", * startswith: "127.0.", * }, * name: { * contains: "w.example.", * endswith: ".example.com", * exact: "www.example.com", * startswith: "www.example", * }, * search: "www.cloudflare.com", * tag: { * absent: "important", * contains: "greeting:ello, worl", * endswith: "greeting:o, world", * exact: "greeting:Hello, world", * present: "important", * startswith: "greeting:Hello, w", * }, * type: "A", * }); * ``` */ export declare function getDnsRecordsOutput(args: GetDnsRecordsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getDnsRecords. */ export interface GetDnsRecordsOutputArgs { comment?: pulumi.Input; content?: pulumi.Input; /** * Direction to order DNS records in. * Available values: "asc", "desc". */ direction?: pulumi.Input; /** * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead. * Available values: "any", "all". */ match?: pulumi.Input; /** * Max items to fetch, default: 1000 */ maxItems?: pulumi.Input; name?: pulumi.Input; /** * Field to order DNS records by. * Available values: "type", "name", "content", "ttl", "proxied". */ order?: pulumi.Input; /** * Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: pulumi.Input; /** * Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters. */ search?: pulumi.Input; tag?: pulumi.Input; /** * Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags. * Available values: "any", "all". */ tagMatch?: pulumi.Input; /** * Record type. * Available values: "A", "AAAA", "CAA", "CERT", "CNAME", "DNSKEY", "DS", "HTTPS", "LOC", "MX", "NAPTR", "NS", "OPENPGPKEY", "PTR", "SMIMEA", "SRV", "SSHFP", "SVCB", "TLSA", "TXT", "URI". */ type?: pulumi.Input; /** * Identifier. */ zoneId: pulumi.Input; }