import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * This data source provides details about a specific Zone in Oracle Cloud Infrastructure DNS service. * * Gets information about a specific zone by name or OCID. * * Notes: * - When accessing a private zone by name, the `viewId` must be provided and `scope` must be `PRIVATE`. * - The `compartmentId` request parameter is deprecated by the service for GetZone and can generally be omitted. * * ## Example Usage * * Using zone OCID: * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const target = oci.dns.getZone({ * zoneNameOrId: zoneOcid, * scope: "PRIVATE", * viewId: testView.id, * }); * ``` * * Using zone name (private zone): * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const targetByName = oci.dns.getZone({ * zoneNameOrId: `${testTenancy.name}.example.internal.`, * scope: "PRIVATE", * viewId: testView.id, * }); * ``` */ export declare function getZone(args: GetZoneArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getZone. */ export interface GetZoneArgs { /** * The OCID of the compartment the zone belongs to. This parameter is deprecated by the service for `GetZone` and should be omitted in most cases. */ compartmentId?: string; /** * Specifies to operate only on resources that have a matching DNS scope. Allowed values: `GLOBAL`, `PRIVATE`. Required to access private zones by name. */ scope?: string; /** * The OCID of the view the zone is associated with. Required when accessing a private zone by name. */ viewId?: string; /** * The name or OCID of the target zone. */ zoneNameOrId: string; } /** * A collection of values returned by getZone. */ export interface GetZoneResult { /** * The OCID of the compartment containing the zone. */ readonly compartmentId?: string; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). */ readonly definedTags: { [key: string]: string; }; /** * DNSSEC configuration data. */ readonly dnssecConfigs: outputs.Dns.GetZoneDnssecConfig[]; /** * The state of DNSSEC on the zone. */ readonly dnssecState: string; /** * External secondary servers for the zone. */ readonly externalDownstreams: outputs.Dns.GetZoneExternalDownstream[]; /** * External master servers for the zone (required when `zoneType` is `SECONDARY`). */ readonly externalMasters: outputs.Dns.GetZoneExternalMaster[]; /** * Free-form tags for this resource. Each tag is a simple key-value pair. */ readonly freeformTags: { [key: string]: string; }; /** * The OCID of the zone. */ readonly id: string; /** * Whether parts of the resource are protected from explicit management. */ readonly isProtected: boolean; /** * The name of the zone. */ readonly name: string; /** * Nameservers for the zone. */ readonly nameservers: outputs.Dns.GetZoneNameserver[]; /** * The resolution mode for the zone. */ readonly resolutionMode: string; /** * The scope of the zone. */ readonly scope?: string; /** * The canonical absolute URL of the resource. */ readonly self: string; /** * The current serial of the zone (from the SOA record). */ readonly serial: number; /** * The current lifecycle state of the zone. */ readonly state: string; /** * The RFC 3339 timestamp when the zone was created. */ readonly timeCreated: string; /** * The version of the zone from which the SOA serial is derived. */ readonly version: string; /** * The OCID of the private view containing the zone (null for global zones). */ readonly viewId?: string; readonly zoneNameOrId: string; /** * The OCI nameservers that transfer zone data with external nameservers. */ readonly zoneTransferServers: outputs.Dns.GetZoneZoneTransferServer[]; /** * The type of the zone. Must be either `PRIMARY` or `SECONDARY`. `SECONDARY` is supported only for `GLOBAL` zones. */ readonly zoneType: string; } /** * This data source provides details about a specific Zone in Oracle Cloud Infrastructure DNS service. * * Gets information about a specific zone by name or OCID. * * Notes: * - When accessing a private zone by name, the `viewId` must be provided and `scope` must be `PRIVATE`. * - The `compartmentId` request parameter is deprecated by the service for GetZone and can generally be omitted. * * ## Example Usage * * Using zone OCID: * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const target = oci.dns.getZone({ * zoneNameOrId: zoneOcid, * scope: "PRIVATE", * viewId: testView.id, * }); * ``` * * Using zone name (private zone): * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const targetByName = oci.dns.getZone({ * zoneNameOrId: `${testTenancy.name}.example.internal.`, * scope: "PRIVATE", * viewId: testView.id, * }); * ``` */ export declare function getZoneOutput(args: GetZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getZone. */ export interface GetZoneOutputArgs { /** * The OCID of the compartment the zone belongs to. This parameter is deprecated by the service for `GetZone` and should be omitted in most cases. */ compartmentId?: pulumi.Input; /** * Specifies to operate only on resources that have a matching DNS scope. Allowed values: `GLOBAL`, `PRIVATE`. Required to access private zones by name. */ scope?: pulumi.Input; /** * The OCID of the view the zone is associated with. Required when accessing a private zone by name. */ viewId?: pulumi.Input; /** * The name or OCID of the target zone. */ zoneNameOrId: pulumi.Input; } //# sourceMappingURL=getZone.d.ts.map