import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Use this resource to manage Simple Monitor/Failover (SF) pool records in UltraDNS. * * ## Example Usage * ### Create SF pool record of type A (1) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const sfPool = new ultradns.SfPool("a", { * backupRecord: { * description: "Backup record", * rdata: "192.1.1.4", * }, * liveRecordDescription: "Maintenance", * liveRecordState: "NOT_FORCED", * monitor: { * method: "GET", * url: "https://example.com", * }, * ownerName: "a", * poolDescription: "SF Pool Resource of Type A", * recordDatas: ["192.1.1.3"], * recordType: "A", * regionFailureSensitivity: "HIGH", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create SF pool record of type AAAA (28) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const aaaa = new ultradns.SfPool("aaaa", { * backupRecord: { * description: "Backup record", * rdata: "2001:db8:85a3:0:0:8a2e:370:7324", * }, * monitor: { * method: "POST", * url: "https://example.com", * }, * ownerName: "aaaa", * recordDatas: ["2001:db8:85a3:0:0:8a2e:370:7334"], * recordType: "AAAA", * regionFailureSensitivity: "LOW", * ttl: 120, * zoneName: "example.com.", * }); * ``` * * ## Import * * Simple Monitor/Failover (SF) pool records can be imported by combining their `owner_name`, `zone_name` and `record_type`, separated by a colon.
Example `www.example.com.:example.com.:A (1)`. -> For import, the `owner_name` and `zone_name` must be a FQDN, and `record_type` should have the type as well as the corresponding number as shown in the example below. Exampleterraform * * ```sh * $ pulumi import ultradns:index/sfPool:SfPool example "www.example.com.:example.com.:A (1)" * ``` */ export declare class SfPool extends pulumi.CustomResource { /** * Get an existing SfPool 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?: SfPoolState, opts?: pulumi.CustomResourceOptions): SfPool; /** * Returns true if the given object is an instance of SfPool. 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 SfPool; /** * (Block Set) Nested block describing the information for the backup record. The structure of this block is described below. */ readonly backupRecord: pulumi.Output; /** * (String) An optional description of the live record. */ readonly liveRecordDescription: pulumi.Output; /** * (String) Whether or not the live record is currently active. Valid values are:
* `FORCED_INACTIVE` – the backup record should always be returned by a DNS query.
* `NOT_FORCED` – the monitor should determine if the live record or the backup record is returned by a DNS query. */ readonly liveRecordState: pulumi.Output; /** * (Block Set) Nested block describing the information for the monitor. The structure of this block is described below. */ readonly monitor: pulumi.Output; /** * (String) The domain name of the owner of the RRSet. Can be either a fully qualified domain name (FQDN) or a relative domain name. If provided as a FQDN, it must be contained within the zone name's FQDN. */ readonly ownerName: pulumi.Output; /** * (String) An optional description of the Simple Failover field. */ readonly poolDescription: pulumi.Output; /** * (String List) The list of IPv4 or IPv6 addresses. */ readonly recordDatas: pulumi.Output; /** * (String) Must be formatted as a well-known resource record type (A or AAAA), or the corresponding number for the type (1 or 28).
* Below are the supported resource record types with the corresponding number:
* `A (1)` * `AAAA (28)` */ readonly recordType: pulumi.Output; /** * (String) Specifies the sensitivity to the number of regions that need to fail for the backup record to be made active. Valid values are `LOW`, `HIGH`. */ readonly regionFailureSensitivity: pulumi.Output; /** * (Computed) (String) Current status of the serving record. Valid values are:
* `OK` – Live record is being served.
* `CRITICAL` – The backup record is being served due to the monitor detecting a failure.
* `MANUAL` – The backup record is being served due to user forcing the live record to be inactive. */ readonly status: pulumi.Output; /** * (Integer) The time to live (in seconds) for the record. Must be a value between 0 and 2147483647, inclusive. */ readonly ttl: pulumi.Output; /** * (String) Name of the zone. */ readonly zoneName: pulumi.Output; /** * Create a SfPool 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: SfPoolArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SfPool resources. */ export interface SfPoolState { /** * (Block Set) Nested block describing the information for the backup record. The structure of this block is described below. */ backupRecord?: pulumi.Input; /** * (String) An optional description of the live record. */ liveRecordDescription?: pulumi.Input; /** * (String) Whether or not the live record is currently active. Valid values are:
* `FORCED_INACTIVE` – the backup record should always be returned by a DNS query.
* `NOT_FORCED` – the monitor should determine if the live record or the backup record is returned by a DNS query. */ liveRecordState?: pulumi.Input; /** * (Block Set) Nested block describing the information for the monitor. The structure of this block is described below. */ monitor?: pulumi.Input; /** * (String) The domain name of the owner of the RRSet. Can be either a fully qualified domain name (FQDN) or a relative domain name. If provided as a FQDN, it must be contained within the zone name's FQDN. */ ownerName?: pulumi.Input; /** * (String) An optional description of the Simple Failover field. */ poolDescription?: pulumi.Input; /** * (String List) The list of IPv4 or IPv6 addresses. */ recordDatas?: pulumi.Input[]>; /** * (String) Must be formatted as a well-known resource record type (A or AAAA), or the corresponding number for the type (1 or 28).
* Below are the supported resource record types with the corresponding number:
* `A (1)` * `AAAA (28)` */ recordType?: pulumi.Input; /** * (String) Specifies the sensitivity to the number of regions that need to fail for the backup record to be made active. Valid values are `LOW`, `HIGH`. */ regionFailureSensitivity?: pulumi.Input; /** * (Computed) (String) Current status of the serving record. Valid values are:
* `OK` – Live record is being served.
* `CRITICAL` – The backup record is being served due to the monitor detecting a failure.
* `MANUAL` – The backup record is being served due to user forcing the live record to be inactive. */ status?: pulumi.Input; /** * (Integer) The time to live (in seconds) for the record. Must be a value between 0 and 2147483647, inclusive. */ ttl?: pulumi.Input; /** * (String) Name of the zone. */ zoneName?: pulumi.Input; } /** * The set of arguments for constructing a SfPool resource. */ export interface SfPoolArgs { /** * (Block Set) Nested block describing the information for the backup record. The structure of this block is described below. */ backupRecord?: pulumi.Input; /** * (String) An optional description of the live record. */ liveRecordDescription?: pulumi.Input; /** * (String) Whether or not the live record is currently active. Valid values are:
* `FORCED_INACTIVE` – the backup record should always be returned by a DNS query.
* `NOT_FORCED` – the monitor should determine if the live record or the backup record is returned by a DNS query. */ liveRecordState?: pulumi.Input; /** * (Block Set) Nested block describing the information for the monitor. The structure of this block is described below. */ monitor: pulumi.Input; /** * (String) The domain name of the owner of the RRSet. Can be either a fully qualified domain name (FQDN) or a relative domain name. If provided as a FQDN, it must be contained within the zone name's FQDN. */ ownerName: pulumi.Input; /** * (String) An optional description of the Simple Failover field. */ poolDescription?: pulumi.Input; /** * (String List) The list of IPv4 or IPv6 addresses. */ recordDatas: pulumi.Input[]>; /** * (String) Must be formatted as a well-known resource record type (A or AAAA), or the corresponding number for the type (1 or 28).
* Below are the supported resource record types with the corresponding number:
* `A (1)` * `AAAA (28)` */ recordType: pulumi.Input; /** * (String) Specifies the sensitivity to the number of regions that need to fail for the backup record to be made active. Valid values are `LOW`, `HIGH`. */ regionFailureSensitivity: pulumi.Input; /** * (Integer) The time to live (in seconds) for the record. Must be a value between 0 and 2147483647, inclusive. */ ttl?: pulumi.Input; /** * (String) Name of the zone. */ zoneName: pulumi.Input; }