import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Use this resource to manage zones in UltraDNS * * ## Example Usage * ### Create Primary Zone * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const primary = new ultradns.Zone("primary", { * accountName: "account", * primaryCreateInfo: { * createType: "NEW", * notifyAddresses: [ * { * notifyAddress: "192.168.1.3", * }, * { * notifyAddress: "192.168.1.4", * }, * ], * restrictIps: [ * { * singleIp: "192.168.1.1", * }, * { * singleIp: "192.168.1.2", * }, * ], * tsig: { * description: "description", * tsigAlgorithm: "hmac-md5", * tsigKeyName: "example.com.0.325349282751.key.", * tsigKeyValue: "ZWFlY2U1MTBlRmM2Y0NGQ5MTlmYTdmZTE0Njc=", * }, * }, * type: "PRIMARY", * }); * ``` * ### Create Secondary Zone * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const secondary = new ultradns.Zone("secondary", { * accountName: "account", * secondaryCreateInfo: { * notificationEmailAddress: "test@example.com", * primaryNameServer1: { * ip: "192.168.1.1", * }, * }, * type: "SECONDARY", * }); * ``` * ### Create Alias Zone * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const alias = new ultradns.Zone("alias", { * accountName: "account", * aliasCreateInfo: { * originalZoneName: "ultradns.com.", * }, * type: "ALIAS", * }); * ``` * * ## Import * * Zones can be imported using their name (must be a FQDN). Example * * ```sh * $ pulumi import ultradns:index/zone:Zone example "example.com." * ``` */ export declare class Zone extends pulumi.CustomResource { /** * Get an existing Zone 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?: ZoneState, opts?: pulumi.CustomResourceOptions): Zone; /** * Returns true if the given object is an instance of Zone. 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 Zone; /** * (String) Name of the account. It must be provided, but it can also be sourced from the `ULTRADNS_ACCOUNT` environment variable. */ readonly accountName: pulumi.Output; /** * (Block Set, Max: 1) * Nested block describing the info of alias zone. The structure of this block is described below. */ readonly aliasCreateInfo: pulumi.Output; /** * (String) This is used to provide comments on updates. */ readonly changeComment: pulumi.Output; /** * (Computed) (String) Whether or not the zone is signed with DNSSEC. Valid values are `SIGNED` or `UNSIGNED`. */ readonly dnssecStatus: pulumi.Output; /** * (Computed) (String) The last date and time the zone was modified, represented in ISO8601 format (`yyyy-MM-ddTHH:mmZ`).
* Example: `2021-12-07T11:25Z`. */ readonly lastModifiedTime: pulumi.Output; /** * (String) Name of the zone. */ readonly name: pulumi.Output; /** * (Computed) (String) Name of the user that created the zone. */ readonly owner: pulumi.Output; /** * (Block Set, Max: 1) Nested block describing the info of primary zone. The structure of this block is described below. */ readonly primaryCreateInfo: pulumi.Output; /** * (Computed) (Block Set) Nested block describing information about the name server configuration for this zone. The structure of this block is described below. */ readonly registrarInfo: pulumi.Output; /** * (Computed) (Integer) Number of records in the zone. */ readonly resourceRecordCount: pulumi.Output; /** * (Block Set, Max: 1) * Nested block describing the info of secondary zone. The structure of this block is described below. */ readonly secondaryCreateInfo: pulumi.Output; /** * (Computed) (String) Display the status of the zone. */ readonly status: pulumi.Output; /** * (Computed) (Block Set) Nested block describing the zone transfer details. The structure of this block is described below. */ readonly transferStatusDetails: pulumi.Output; /** * (String) This is the type of zone. Valid values are `PRIMARY`, `SECONDARY` or `ALIAS`. */ readonly type: pulumi.Output; /** * Create a Zone 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: ZoneArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Zone resources. */ export interface ZoneState { /** * (String) Name of the account. It must be provided, but it can also be sourced from the `ULTRADNS_ACCOUNT` environment variable. */ accountName?: pulumi.Input; /** * (Block Set, Max: 1) * Nested block describing the info of alias zone. The structure of this block is described below. */ aliasCreateInfo?: pulumi.Input; /** * (String) This is used to provide comments on updates. */ changeComment?: pulumi.Input; /** * (Computed) (String) Whether or not the zone is signed with DNSSEC. Valid values are `SIGNED` or `UNSIGNED`. */ dnssecStatus?: pulumi.Input; /** * (Computed) (String) The last date and time the zone was modified, represented in ISO8601 format (`yyyy-MM-ddTHH:mmZ`).
* Example: `2021-12-07T11:25Z`. */ lastModifiedTime?: pulumi.Input; /** * (String) Name of the zone. */ name?: pulumi.Input; /** * (Computed) (String) Name of the user that created the zone. */ owner?: pulumi.Input; /** * (Block Set, Max: 1) Nested block describing the info of primary zone. The structure of this block is described below. */ primaryCreateInfo?: pulumi.Input; /** * (Computed) (Block Set) Nested block describing information about the name server configuration for this zone. The structure of this block is described below. */ registrarInfo?: pulumi.Input; /** * (Computed) (Integer) Number of records in the zone. */ resourceRecordCount?: pulumi.Input; /** * (Block Set, Max: 1) * Nested block describing the info of secondary zone. The structure of this block is described below. */ secondaryCreateInfo?: pulumi.Input; /** * (Computed) (String) Display the status of the zone. */ status?: pulumi.Input; /** * (Computed) (Block Set) Nested block describing the zone transfer details. The structure of this block is described below. */ transferStatusDetails?: pulumi.Input; /** * (String) This is the type of zone. Valid values are `PRIMARY`, `SECONDARY` or `ALIAS`. */ type?: pulumi.Input; } /** * The set of arguments for constructing a Zone resource. */ export interface ZoneArgs { /** * (String) Name of the account. It must be provided, but it can also be sourced from the `ULTRADNS_ACCOUNT` environment variable. */ accountName?: pulumi.Input; /** * (Block Set, Max: 1) * Nested block describing the info of alias zone. The structure of this block is described below. */ aliasCreateInfo?: pulumi.Input; /** * (String) This is used to provide comments on updates. */ changeComment?: pulumi.Input; /** * (String) Name of the zone. */ name?: pulumi.Input; /** * (Block Set, Max: 1) Nested block describing the info of primary zone. The structure of this block is described below. */ primaryCreateInfo?: pulumi.Input; /** * (Computed) (Block Set) Nested block describing information about the name server configuration for this zone. The structure of this block is described below. */ registrarInfo?: pulumi.Input; /** * (Block Set, Max: 1) * Nested block describing the info of secondary zone. The structure of this block is described below. */ secondaryCreateInfo?: pulumi.Input; /** * (Computed) (Block Set) Nested block describing the zone transfer details. The structure of this block is described below. */ transferStatusDetails?: pulumi.Input; /** * (String) This is the type of zone. Valid values are `PRIMARY`, `SECONDARY` or `ALIAS`. */ type: pulumi.Input; }