@pulumi/openstack
Version:
A Pulumi package for creating and managing OpenStack cloud resources.
266 lines (265 loc) • 6.55 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Use this data source to get the ID of an available OpenStack DNS zone.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as openstack from "@pulumi/openstack";
*
* const zone1 = openstack.dns.getDnsZone({
* name: "example.com",
* });
* ```
*/
export declare function getDnsZone(args?: GetDnsZoneArgs, opts?: pulumi.InvokeOptions): Promise<GetDnsZoneResult>;
/**
* A collection of arguments for invoking getDnsZone.
*/
export interface GetDnsZoneArgs {
/**
* Try to obtain zone ID by listing all projects
* (requires admin role by default, depends on your policy configuration)
*/
allProjects?: string;
/**
* Attributes of the DNS Service scheduler.
*/
attributes?: {
[key: string]: string;
};
/**
* The time the zone was created.
*/
createdAt?: string;
/**
* A description of the zone.
*/
description?: string;
/**
* The email contact for the zone record.
*/
email?: string;
/**
* An array of master DNS servers. When `type` is `SECONDARY`.
*/
masters?: string[];
/**
* The name of the zone.
*/
name?: string;
/**
* The ID of the pool hosting the zone.
*/
poolId?: string;
/**
* The ID of the project the DNS zone is obtained from,
* sets `X-Auth-Sudo-Tenant-ID` header (requires an assigned user role in target project)
*/
projectId?: string;
/**
* The region in which to obtain the V2 DNS client.
* A DNS client is needed to retrieve zone ids. If omitted, the
* `region` argument of the provider is used.
*/
region?: string;
/**
* The serial number of the zone.
*/
serial?: number;
/**
* The zone's status.
*/
status?: string;
/**
* The time the zone was transferred.
*/
transferredAt?: string;
/**
* The time to live (TTL) of the zone.
*/
ttl?: number;
/**
* The type of the zone. Can either be `PRIMARY` or `SECONDARY`.
*/
type?: string;
/**
* The time the zone was last updated.
*/
updatedAt?: string;
/**
* The version of the zone.
*/
version?: number;
}
/**
* A collection of values returned by getDnsZone.
*/
export interface GetDnsZoneResult {
readonly allProjects?: string;
/**
* Attributes of the DNS Service scheduler.
*/
readonly attributes: {
[key: string]: string;
};
/**
* The time the zone was created.
*/
readonly createdAt: string;
/**
* See Argument Reference above.
*/
readonly description?: string;
/**
* See Argument Reference above.
*/
readonly email?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* An array of master DNS servers. When `type` is `SECONDARY`.
*/
readonly masters: string[];
/**
* See Argument Reference above.
*/
readonly name?: string;
/**
* The ID of the pool hosting the zone.
*/
readonly poolId: string;
/**
* The project ID that owns the zone.
*/
readonly projectId: string;
/**
* See Argument Reference above.
*/
readonly region: string;
/**
* The serial number of the zone.
*/
readonly serial: number;
/**
* See Argument Reference above.
*/
readonly status?: string;
/**
* The time the zone was transferred.
*/
readonly transferredAt: string;
/**
* See Argument Reference above.
*/
readonly ttl?: number;
/**
* See Argument Reference above.
*/
readonly type?: string;
/**
* The time the zone was last updated.
*/
readonly updatedAt: string;
/**
* The version of the zone.
*/
readonly version: number;
}
/**
* Use this data source to get the ID of an available OpenStack DNS zone.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as openstack from "@pulumi/openstack";
*
* const zone1 = openstack.dns.getDnsZone({
* name: "example.com",
* });
* ```
*/
export declare function getDnsZoneOutput(args?: GetDnsZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDnsZoneResult>;
/**
* A collection of arguments for invoking getDnsZone.
*/
export interface GetDnsZoneOutputArgs {
/**
* Try to obtain zone ID by listing all projects
* (requires admin role by default, depends on your policy configuration)
*/
allProjects?: pulumi.Input<string>;
/**
* Attributes of the DNS Service scheduler.
*/
attributes?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The time the zone was created.
*/
createdAt?: pulumi.Input<string>;
/**
* A description of the zone.
*/
description?: pulumi.Input<string>;
/**
* The email contact for the zone record.
*/
email?: pulumi.Input<string>;
/**
* An array of master DNS servers. When `type` is `SECONDARY`.
*/
masters?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The name of the zone.
*/
name?: pulumi.Input<string>;
/**
* The ID of the pool hosting the zone.
*/
poolId?: pulumi.Input<string>;
/**
* The ID of the project the DNS zone is obtained from,
* sets `X-Auth-Sudo-Tenant-ID` header (requires an assigned user role in target project)
*/
projectId?: pulumi.Input<string>;
/**
* The region in which to obtain the V2 DNS client.
* A DNS client is needed to retrieve zone ids. If omitted, the
* `region` argument of the provider is used.
*/
region?: pulumi.Input<string>;
/**
* The serial number of the zone.
*/
serial?: pulumi.Input<number>;
/**
* The zone's status.
*/
status?: pulumi.Input<string>;
/**
* The time the zone was transferred.
*/
transferredAt?: pulumi.Input<string>;
/**
* The time to live (TTL) of the zone.
*/
ttl?: pulumi.Input<number>;
/**
* The type of the zone. Can either be `PRIMARY` or `SECONDARY`.
*/
type?: pulumi.Input<string>;
/**
* The time the zone was last updated.
*/
updatedAt?: pulumi.Input<string>;
/**
* The version of the zone.
*/
version?: pulumi.Input<number>;
}