import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* Use this resource to manage SiteBacker (SB) pool records in UltraDNS.
*
* ## Example Usage
* ### Create SB pool record of type A (1)
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as ultradns from "@pulumi/ultradns";
*
* const sbPool = new ultradns.SbPool("a", {
* actOnProbes: true,
* backupRecords: [
* {
* failoverDelay: 1,
* rdata: "192.168.1.3",
* },
* {
* failoverDelay: 1,
* rdata: "192.168.1.4",
* },
* ],
* failureThreshold: 2,
* maxActive: 1,
* maxServed: 1,
* order: "ROUND_ROBIN",
* ownerName: "a",
* poolDescription: "SB Pool Resource of Type A",
* rdataInfos: [
* {
* failoverDelay: 2,
* priority: 2,
* rdata: "192.168.1.1",
* runProbes: true,
* state: "ACTIVE",
* threshold: 1,
* },
* {
* 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
*
* SiteBacker (SB) 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/sbPool:SbPool example "www.example.com.:example.com.:A (1)"
* ```
*/
export declare class SbPool extends pulumi.CustomResource {
/**
* Get an existing SbPool 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?: SbPoolState, opts?: pulumi.CustomResourceOptions): SbPool;
/**
* Returns true if the given object is an instance of SbPool. 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 SbPool;
/**
* (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) List of nested blocks describing the information of backup records for the SiteBacker pool. Specifies the records to be served if all other records fail. There can be one or more A records used as backup records, or a single CNAME record. The structure of this block is described below.
*/
readonly backupRecords: 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 and determines when SiteBacker takes backup servers offline.
* For example, consider a pool with six servers. Setting Max Active to 4 means SiteBacker takes two servers offline and sends the four active records in the answer. Default value set to 1.
*/
readonly maxActive: pulumi.Output;
/**
* (Integer) Determines the number of record answers for each query. This is typically All Active records, or a subset of Max Active. Default value set to the value of `maxActive`.
*/
readonly maxServed: pulumi.Output;
/**
* (String) Indicates the order of the records returned by the resolver for the SiteBacker pool. Valid values are `FIXED`, `RANDOM`, and `ROUND_ROBIN`. Default value set to `ROUND_ROBIN`.
*/
readonly order: 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 SiteBacker (SB) 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.ORIf 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 SbPool 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: SbPoolArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering SbPool resources.
*/
export interface SbPoolState {
/**
* (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) List of nested blocks describing the information of backup records for the SiteBacker pool. Specifies the records to be served if all other records fail. There can be one or more A records used as backup records, or a single CNAME record. The structure of this block is described below.
*/
backupRecords?: 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 and determines when SiteBacker takes backup servers offline.
* For example, consider a pool with six servers. Setting Max Active to 4 means SiteBacker takes two servers offline and sends the four active records in the answer. Default value set to 1.
*/
maxActive?: pulumi.Input;
/**
* (Integer) Determines the number of record answers for each query. This is typically All Active records, or a subset of Max Active. Default value set to the value of `maxActive`.
*/
maxServed?: pulumi.Input;
/**
* (String) Indicates the order of the records returned by the resolver for the SiteBacker pool. Valid values are `FIXED`, `RANDOM`, and `ROUND_ROBIN`. Default value set to `ROUND_ROBIN`.
*/
order?: 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 SiteBacker (SB) 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.ORIf 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 SbPool resource.
*/
export interface SbPoolArgs {
/**
* (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) List of nested blocks describing the information of backup records for the SiteBacker pool. Specifies the records to be served if all other records fail. There can be one or more A records used as backup records, or a single CNAME record. The structure of this block is described below.
*/
backupRecords?: 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 and determines when SiteBacker takes backup servers offline.
* For example, consider a pool with six servers. Setting Max Active to 4 means SiteBacker takes two servers offline and sends the four active records in the answer. Default value set to 1.
*/
maxActive?: pulumi.Input;
/**
* (Integer) Determines the number of record answers for each query. This is typically All Active records, or a subset of Max Active. Default value set to the value of `maxActive`.
*/
maxServed?: pulumi.Input;
/**
* (String) Indicates the order of the records returned by the resolver for the SiteBacker pool. Valid values are `FIXED`, `RANDOM`, and `ROUND_ROBIN`. Default value set to `ROUND_ROBIN`.
*/
order?: 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 SiteBacker (SB) 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;
}