import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Provides a Cloudflare record resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pulumi_cloudflare from "@mapped/pulumi-cloudflare"; * * // Add a record to the domain * const foobar = new cloudflare.Record("foobar", { * zoneId: _var.cloudflare_zone_id, * name: "terraform", * value: "192.168.0.11", * type: "A", * ttl: 3600, * }); * // Add a record requiring a data map * const _sipTls = new cloudflare.Record("_sipTls", { * zoneId: _var.cloudflare_zone_id, * name: "_sip._tls", * type: "SRV", * data: { * service: "_sip", * proto: "_tls", * name: "terraform-srv", * priority: 0, * weight: 0, * port: 443, * target: "example.com", * }, * }); * ``` * * ## Import * * Records can be imported using a composite ID formed of zone ID and record ID, e.g. * * ```sh * $ pulumi import cloudflare:index/record:Record default ae36f999674d196762efcc5abb06b345/d41d8cd98f00b204e9800998ecf8427e * ``` * * where* `ae36f999674d196762efcc5abb06b345` - the zone ID * `d41d8cd98f00b204e9800998ecf8427e` - record ID as returned by [API](https://api.cloudflare.com/#dns-records-for-a-zone-list-dns-records) */ 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; readonly allowOverwrite: pulumi.Output; /** * The RFC3339 timestamp of when the record was created */ readonly createdOn: pulumi.Output; /** * Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or `value` must be specified */ readonly data: pulumi.Output; /** * The FQDN of the record */ readonly hostname: pulumi.Output; /** * A key-value map of string metadata Cloudflare associates with the record */ readonly metadata: pulumi.Output<{ [key: string]: any; }>; /** * The RFC3339 timestamp of when the record was last modified */ readonly modifiedOn: pulumi.Output; /** * The name of the record */ readonly name: pulumi.Output; /** * The priority of the record */ readonly priority: pulumi.Output; /** * Shows whether this record can be proxied, must be true if setting `proxied=true` */ readonly proxiable: pulumi.Output; /** * Whether the record gets Cloudflare's origin protection; defaults to `false`. */ readonly proxied: pulumi.Output; /** * The TTL of the record ([automatic: '1'](https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record)) */ readonly ttl: pulumi.Output; /** * The type of the record */ readonly type: pulumi.Output; /** * The (string) value of the record. Either this or `data` must be specified */ readonly value: pulumi.Output; /** * The DNS zone ID to add the record to */ readonly zoneId: 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 { allowOverwrite?: pulumi.Input; /** * The RFC3339 timestamp of when the record was created */ createdOn?: pulumi.Input; /** * Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or `value` must be specified */ data?: pulumi.Input; /** * The FQDN of the record */ hostname?: pulumi.Input; /** * A key-value map of string metadata Cloudflare associates with the record */ metadata?: pulumi.Input<{ [key: string]: any; }>; /** * The RFC3339 timestamp of when the record was last modified */ modifiedOn?: pulumi.Input; /** * The name of the record */ name?: pulumi.Input; /** * The priority of the record */ priority?: pulumi.Input; /** * Shows whether this record can be proxied, must be true if setting `proxied=true` */ proxiable?: pulumi.Input; /** * Whether the record gets Cloudflare's origin protection; defaults to `false`. */ proxied?: pulumi.Input; /** * The TTL of the record ([automatic: '1'](https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record)) */ ttl?: pulumi.Input; /** * The type of the record */ type?: pulumi.Input; /** * The (string) value of the record. Either this or `data` must be specified */ value?: pulumi.Input; /** * The DNS zone ID to add the record to */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Record resource. */ export interface RecordArgs { allowOverwrite?: pulumi.Input; /** * Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or `value` must be specified */ data?: pulumi.Input; /** * The name of the record */ name: pulumi.Input; /** * The priority of the record */ priority?: pulumi.Input; /** * Whether the record gets Cloudflare's origin protection; defaults to `false`. */ proxied?: pulumi.Input; /** * The TTL of the record ([automatic: '1'](https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record)) */ ttl?: pulumi.Input; /** * The type of the record */ type: pulumi.Input; /** * The (string) value of the record. Either this or `data` must be specified */ value?: pulumi.Input; /** * The DNS zone ID to add the record to */ zoneId: pulumi.Input; }