import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Use this resource to manage Simple Load Balancing (SLB) pool records in UltraDNS. * * ## Example Usage * ### Create SLB pool record of type A (1) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const slbPool = new ultradns.SlbPool("a", { * allFailRecord: { * rdata: "192.127.127.33", * }, * monitor: { * method: "POST", * url: "https://example.com", * }, * ownerName: "a", * rdataInfos: [ * { * description: "first", * probingEnabled: false, * rdata: "192.201.127.33", * }, * { * description: "second", * probingEnabled: true, * rdata: "192.168.1.2", * }, * ], * recordType: "A", * regionFailureSensitivity: "HIGH", * responseMethod: "ROUND_ROBIN", * servingPreference: "AUTO_SELECT", * ttl: 120, * zoneName: "example.com.", * }); * ``` * ### Create SLB pool record of type AAAA (28) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const aaaa = new ultradns.SlbPool("aaaa", { * allFailRecord: { * rdata: "2001:db8:85a3:0:0:8a2e:370:7324", * }, * monitor: { * method: "GET", * url: "https://example.com", * }, * ownerName: "aaaa", * rdataInfos: [{ * description: "first", * probingEnabled: false, * rdata: "2001:db8:85a3:0:0:8a2e:370:7334", * }], * recordType: "28", * regionFailureSensitivity: "LOW", * responseMethod: "ROUND_ROBIN", * servingPreference: "AUTO_SELECT", * ttl: 120, * zoneName: "example.com.", * }); * ``` * * ## Import * * Simple Load Balancing (SLB) 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/slbPool:SlbPool example "www.example.com.:example.com.:A (1)" * ``` */ export declare class SlbPool extends pulumi.CustomResource { /** * Get an existing SlbPool 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?: SlbPoolState, opts?: pulumi.CustomResourceOptions): SlbPool; /** * Returns true if the given object is an instance of SlbPool. 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 SlbPool; /** * (Block Set) Nested block describing the information for the backup record. The structure of this block is described below. */ readonly allFailRecord: 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 Load Balancing (SLB) field. */ readonly poolDescription: pulumi.Output; /** * (Block Set, Max: 5) Nested block describing the pool records. The structure of this block is described below. */ readonly rdataInfos: 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`, and `HIGH`. */ readonly regionFailureSensitivity: pulumi.Output; /** * (String) The method used to select which record is returned from the primary record pool. Valid values are:
* `PRIORITY_HUNT` – The sequence of the records listed in the primary record pool determines the priority. The first record listed is the highest priority record. Once a record starts being served, it will always be served until the probe detects a failure on this record, or, the record is set to FORCED_INACTIVE.
* `RANDOM` – A random record is returned from the following set of primary records.
* `ROUND_ROBIN` -A record is returned in (a round robin fashion) rotation, based upon the priority of the following active set of records. */ readonly responseMethod: pulumi.Output; /** * (String) It determines if records will be selected from the Primary Records pool or from the All Fail Record. Valid values are:
* `AUTO_SELECT`: Serving method switches from serving Primary Records, to All Fail Record based upon probe results, and the Forced State of the Primary Records.
* `SERVE_PRIMARY`: Only the Primary Records are served based upon the probe results and the Forced State of the Primary Records.
* `SERVE_ALL_FAIL`: Only the All Fail Record will be served, ignoring the probe results and the Forced State of the Primary Records. */ readonly servingPreference: pulumi.Output; /** * (Computed) (String) Current status of the serving record. Valid values are:
* `OK`- Priority record(s) are being served.
* `WARNING` – One of the priority records is not being served due to the monitor detecting a failure, but there is still a priority record to be served.
* `CRITICAL` – The backup All Fail record is being served due to the monitor detecting a failure. */ 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 SlbPool 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: SlbPoolArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SlbPool resources. */ export interface SlbPoolState { /** * (Block Set) Nested block describing the information for the backup record. The structure of this block is described below. */ allFailRecord?: 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 Load Balancing (SLB) field. */ poolDescription?: pulumi.Input; /** * (Block Set, Max: 5) Nested block describing the pool records. The structure of this block is described below. */ rdataInfos?: 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`, and `HIGH`. */ regionFailureSensitivity?: pulumi.Input; /** * (String) The method used to select which record is returned from the primary record pool. Valid values are:
* `PRIORITY_HUNT` – The sequence of the records listed in the primary record pool determines the priority. The first record listed is the highest priority record. Once a record starts being served, it will always be served until the probe detects a failure on this record, or, the record is set to FORCED_INACTIVE.
* `RANDOM` – A random record is returned from the following set of primary records.
* `ROUND_ROBIN` -A record is returned in (a round robin fashion) rotation, based upon the priority of the following active set of records. */ responseMethod?: pulumi.Input; /** * (String) It determines if records will be selected from the Primary Records pool or from the All Fail Record. Valid values are:
* `AUTO_SELECT`: Serving method switches from serving Primary Records, to All Fail Record based upon probe results, and the Forced State of the Primary Records.
* `SERVE_PRIMARY`: Only the Primary Records are served based upon the probe results and the Forced State of the Primary Records.
* `SERVE_ALL_FAIL`: Only the All Fail Record will be served, ignoring the probe results and the Forced State of the Primary Records. */ servingPreference?: pulumi.Input; /** * (Computed) (String) Current status of the serving record. Valid values are:
* `OK`- Priority record(s) are being served.
* `WARNING` – One of the priority records is not being served due to the monitor detecting a failure, but there is still a priority record to be served.
* `CRITICAL` – The backup All Fail record is being served due to the monitor detecting a failure. */ 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 SlbPool resource. */ export interface SlbPoolArgs { /** * (Block Set) Nested block describing the information for the backup record. The structure of this block is described below. */ allFailRecord: 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 Load Balancing (SLB) field. */ poolDescription?: pulumi.Input; /** * (Block Set, Max: 5) Nested block describing the pool records. The structure of this block is described below. */ rdataInfos: 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`, and `HIGH`. */ regionFailureSensitivity: pulumi.Input; /** * (String) The method used to select which record is returned from the primary record pool. Valid values are:
* `PRIORITY_HUNT` – The sequence of the records listed in the primary record pool determines the priority. The first record listed is the highest priority record. Once a record starts being served, it will always be served until the probe detects a failure on this record, or, the record is set to FORCED_INACTIVE.
* `RANDOM` – A random record is returned from the following set of primary records.
* `ROUND_ROBIN` -A record is returned in (a round robin fashion) rotation, based upon the priority of the following active set of records. */ responseMethod: pulumi.Input; /** * (String) It determines if records will be selected from the Primary Records pool or from the All Fail Record. Valid values are:
* `AUTO_SELECT`: Serving method switches from serving Primary Records, to All Fail Record based upon probe results, and the Forced State of the Primary Records.
* `SERVE_PRIMARY`: Only the Primary Records are served based upon the probe results and the Forced State of the Primary Records.
* `SERVE_ALL_FAIL`: Only the All Fail Record will be served, ignoring the probe results and the Forced State of the Primary Records. */ servingPreference: 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; }