import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Use this resource to manage Traffic Controller (TC) pool records in UltraDNS. * * ## Example Usage * ### Create TC pool record of type A (1) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ultradns from "@pulumi/ultradns"; * * const tcPool = new ultradns.TcPool("a", { * actOnProbes: true, * backupRecord: { * failoverDelay: 1, * rdata: "192.168.1.3", * }, * failureThreshold: 2, * maxToLb: 1, * ownerName: "a", * poolDescription: "TC Pool Resource of Type A", * rdataInfos: [ * { * failoverDelay: 2, * priority: 2, * rdata: "192.168.1.1", * runProbes: true, * state: "ACTIVE", * threshold: 1, * weight: 4, * }, * { * failoverDelay: 1, * priority: 1, * rdata: "192.168.1.2", * runProbes: false, * state: "NORMAL", * threshold: 1, * }, * ], * recordType: "A", * runProbes: true, * ttl: 120, * zoneName: "example.com.", * }); * ``` * * ## Import * * Traffic Controller (TC) 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/tcPool:TcPool example "www.example.com.:example.com.:A (1)" * ``` */ export declare class TcPool extends pulumi.CustomResource { /** * Get an existing TcPool 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?: TcPoolState, opts?: pulumi.CustomResourceOptions): TcPool; /** * Returns true if the given object is an instance of TcPool. 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 TcPool; /** * (Boolean) Indicates whether or not pool records will be enabled (true) or disabled (false) when probes are run. Default value set to true. */ readonly actOnProbes: pulumi.Output; /** * (Block Set, Max: 1) Nested block describing the information of the backup record for the Traffic Controller pool. The backup record is served if all other records fail. There can be one A record, or a single CNAME record. The structure of this block is described below. */ readonly backupRecord: pulumi.Output; /** * (Integer) The minimum number of records that must fail for a pool to be labeled 'FAILED'. If the number of failed records in the pool is greater than or equal to the 'Failure Threshold' value, the pool will be labeled FAILED.
* For example, a pool with six priority records, one all-fail record, and the Failure Threshold value is set to four (4). If four or more priority records are not available to serve, the pool will be labeled FAILED, and the all-fail record will be served.
* Valid value between 0 and the number of priority records in the pool. */ readonly failureThreshold: pulumi.Output; /** * (Integer) Specifies the maximum number of active servers in a pool. The maximum value is the number of pool records. Default value set to 0. */ readonly maxToLb: 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 Traffic Controller (TC) field. */ readonly poolDescription: pulumi.Output; /** * (Block Set) List of nested blocks 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 the corresponding number for the type (1).
* Below are the supported resource record types with the corresponding number:
* `A (1)` */ readonly recordType: pulumi.Output; /** * (Boolean) Indicates whether or not the probes are run for this pool. Default value set to true. */ readonly runProbes: pulumi.Output; /** * (Computed) (String) Current status of the serving record. Valid values are:
* `OK`- If the number of records serving is equal to the Max Active value, and all the active records are top priority records.
* For example, if a pool has a Max Active of 1 and the Priority 1 record is serving.
* `WARNING` – If the number of records serving is equal to the Max Active value, and the active records are not top priority records.
* For example, if a pool has a Max Active of 1, and the Priority 1 record is not serving and the Priority 2 record is serving.
* `CRITICAL` – If the number of records serving is less than the Max Active value, or the All Fail record is being served.
* For example, if a pool has a Max Active of 2, and only one record is serving.
* `FAILED` - If the FailureThreshold value is 0 or null, and no records are serving, and there is no All Fail record configured.
OR
If the number of priority records not available to serve equals or exceeds the FailureThreshold’s value.
* For example, if the Failure Threshold value is 3, and there are 3 or more Priority Records that are not available to serve. */ 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 TcPool 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: TcPoolArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TcPool resources. */ export interface TcPoolState { /** * (Boolean) Indicates whether or not pool records will be enabled (true) or disabled (false) when probes are run. Default value set to true. */ actOnProbes?: pulumi.Input; /** * (Block Set, Max: 1) Nested block describing the information of the backup record for the Traffic Controller pool. The backup record is served if all other records fail. There can be one A record, or a single CNAME record. The structure of this block is described below. */ backupRecord?: pulumi.Input; /** * (Integer) The minimum number of records that must fail for a pool to be labeled 'FAILED'. If the number of failed records in the pool is greater than or equal to the 'Failure Threshold' value, the pool will be labeled FAILED.
* For example, a pool with six priority records, one all-fail record, and the Failure Threshold value is set to four (4). If four or more priority records are not available to serve, the pool will be labeled FAILED, and the all-fail record will be served.
* Valid value between 0 and the number of priority records in the pool. */ failureThreshold?: pulumi.Input; /** * (Integer) Specifies the maximum number of active servers in a pool. The maximum value is the number of pool records. Default value set to 0. */ maxToLb?: 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 Traffic Controller (TC) field. */ poolDescription?: pulumi.Input; /** * (Block Set) List of nested blocks 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 the corresponding number for the type (1).
* Below are the supported resource record types with the corresponding number:
* `A (1)` */ recordType?: pulumi.Input; /** * (Boolean) Indicates whether or not the probes are run for this pool. Default value set to true. */ runProbes?: pulumi.Input; /** * (Computed) (String) Current status of the serving record. Valid values are:
* `OK`- If the number of records serving is equal to the Max Active value, and all the active records are top priority records.
* For example, if a pool has a Max Active of 1 and the Priority 1 record is serving.
* `WARNING` – If the number of records serving is equal to the Max Active value, and the active records are not top priority records.
* For example, if a pool has a Max Active of 1, and the Priority 1 record is not serving and the Priority 2 record is serving.
* `CRITICAL` – If the number of records serving is less than the Max Active value, or the All Fail record is being served.
* For example, if a pool has a Max Active of 2, and only one record is serving.
* `FAILED` - If the FailureThreshold value is 0 or null, and no records are serving, and there is no All Fail record configured.
OR
If the number of priority records not available to serve equals or exceeds the FailureThreshold’s value.
* For example, if the Failure Threshold value is 3, and there are 3 or more Priority Records that are not available to serve. */ 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 TcPool resource. */ export interface TcPoolArgs { /** * (Boolean) Indicates whether or not pool records will be enabled (true) or disabled (false) when probes are run. Default value set to true. */ actOnProbes?: pulumi.Input; /** * (Block Set, Max: 1) Nested block describing the information of the backup record for the Traffic Controller pool. The backup record is served if all other records fail. There can be one A record, or a single CNAME record. The structure of this block is described below. */ backupRecord?: pulumi.Input; /** * (Integer) The minimum number of records that must fail for a pool to be labeled 'FAILED'. If the number of failed records in the pool is greater than or equal to the 'Failure Threshold' value, the pool will be labeled FAILED.
* For example, a pool with six priority records, one all-fail record, and the Failure Threshold value is set to four (4). If four or more priority records are not available to serve, the pool will be labeled FAILED, and the all-fail record will be served.
* Valid value between 0 and the number of priority records in the pool. */ failureThreshold?: pulumi.Input; /** * (Integer) Specifies the maximum number of active servers in a pool. The maximum value is the number of pool records. Default value set to 0. */ maxToLb?: 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 Traffic Controller (TC) field. */ poolDescription?: pulumi.Input; /** * (Block Set) List of nested blocks 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 the corresponding number for the type (1).
* Below are the supported resource record types with the corresponding number:
* `A (1)` */ recordType: pulumi.Input; /** * (Boolean) Indicates whether or not the probes are run for this pool. Default value set to true. */ runProbes?: 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; }