UNPKG

@pulumi/f5bigip

Version:

A Pulumi package for creating and managing F5 BigIP resources.

226 lines • 9.32 kB
import * as pulumi from "@pulumi/pulumi"; /** * ## # f5bigip.GtmDatacenter * * Manages F5 BIG-IP GTM (Global Traffic Manager) Datacenter resources. * * A GTM datacenter is a logical representation of a physical location where servers reside. Datacenters are fundamental building blocks in GTM topology and are used for geographic load balancing and disaster recovery. * * ## Example Usage * * ### Basic Datacenter * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * * const example = new f5bigip.GtmDatacenter("example", { * name: "example_datacenter", * partition: "Common", * location: "Seattle, WA", * contact: "admin@example.com", * description: "Primary datacenter for west coast operations", * enabled: true, * proberPreference: "inside-datacenter", * proberFallback: "any-available", * }); * ``` * * ### Datacenter with Custom Prober Settings * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * * const customProber = new f5bigip.GtmDatacenter("custom_prober", { * name: "custom_datacenter", * partition: "Common", * location: "New York, NY", * contact: "ops@example.com", * description: "East coast datacenter with custom prober configuration", * enabled: true, * proberPreference: "pool", * proberFallback: "outside-datacenter", * }); * ``` * * ### Disabled Datacenter * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * * const maintenance = new f5bigip.GtmDatacenter("maintenance", { * name: "maintenance_dc", * partition: "Common", * location: "Chicago, IL", * contact: "maintenance@example.com", * description: "Datacenter currently under maintenance", * enabled: false, * proberPreference: "inside-datacenter", * proberFallback: "any-available", * }); * ``` * * ## Notes * * * Datacenters are required before you can create GTM servers and pools. * * The `name` and `partition` cannot be changed after creation. You must destroy and recreate the resource to change these values. * * Disabling a datacenter (`enabled = false`) removes it from load balancing decisions but preserves its configuration. * * Prober settings control how BIG-IP monitors the health of resources in this datacenter. * * ## Import * * GTM datacenters can be imported using the full path, e.g. * * ```sh * $ pulumi import f5bigip:index/gtmDatacenter:GtmDatacenter example /Common/example_datacenter * ``` */ export declare class GtmDatacenter extends pulumi.CustomResource { /** * Get an existing GtmDatacenter 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<pulumi.ID>, state?: GtmDatacenterState, opts?: pulumi.CustomResourceOptions): GtmDatacenter; /** * Returns true if the given object is an instance of GtmDatacenter. 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 GtmDatacenter; /** * Contact information for the datacenter administrator. */ readonly contact: pulumi.Output<string | undefined>; /** * Description of the datacenter. */ readonly description: pulumi.Output<string | undefined>; /** * Enable or disable the datacenter. Default is `true`. When set to `false`, the datacenter is disabled and will not be used for load balancing decisions. */ readonly enabled: pulumi.Output<boolean | undefined>; /** * Physical location of the datacenter. This is a free-form text field. */ readonly location: pulumi.Output<string | undefined>; /** * Name of the GTM datacenter. Cannot be changed after creation. */ readonly name: pulumi.Output<string>; /** * Partition in which to create the datacenter. Default is `Common`. Cannot be changed after creation. */ readonly partition: pulumi.Output<string | undefined>; /** * Specifies the type of prober to use as fallback when the preferred prober is unavailable. Default is `any-available`. Valid options are: * - `any-available` - Use any available prober * - `inside-datacenter` - Fallback to probers inside this datacenter * - `outside-datacenter` - Fallback to probers outside this datacenter */ readonly proberFallback: pulumi.Output<string | undefined>; /** * Specifies the type of prober to prefer when monitoring resources in this datacenter. Default is `inside-datacenter`. Valid options are: * - `inside-datacenter` - Prefer probers inside this datacenter * - `outside-datacenter` - Prefer probers outside this datacenter */ readonly proberPreference: pulumi.Output<string | undefined>; /** * Create a GtmDatacenter 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: GtmDatacenterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering GtmDatacenter resources. */ export interface GtmDatacenterState { /** * Contact information for the datacenter administrator. */ contact?: pulumi.Input<string | undefined>; /** * Description of the datacenter. */ description?: pulumi.Input<string | undefined>; /** * Enable or disable the datacenter. Default is `true`. When set to `false`, the datacenter is disabled and will not be used for load balancing decisions. */ enabled?: pulumi.Input<boolean | undefined>; /** * Physical location of the datacenter. This is a free-form text field. */ location?: pulumi.Input<string | undefined>; /** * Name of the GTM datacenter. Cannot be changed after creation. */ name?: pulumi.Input<string | undefined>; /** * Partition in which to create the datacenter. Default is `Common`. Cannot be changed after creation. */ partition?: pulumi.Input<string | undefined>; /** * Specifies the type of prober to use as fallback when the preferred prober is unavailable. Default is `any-available`. Valid options are: * - `any-available` - Use any available prober * - `inside-datacenter` - Fallback to probers inside this datacenter * - `outside-datacenter` - Fallback to probers outside this datacenter */ proberFallback?: pulumi.Input<string | undefined>; /** * Specifies the type of prober to prefer when monitoring resources in this datacenter. Default is `inside-datacenter`. Valid options are: * - `inside-datacenter` - Prefer probers inside this datacenter * - `outside-datacenter` - Prefer probers outside this datacenter */ proberPreference?: pulumi.Input<string | undefined>; } /** * The set of arguments for constructing a GtmDatacenter resource. */ export interface GtmDatacenterArgs { /** * Contact information for the datacenter administrator. */ contact?: pulumi.Input<string | undefined>; /** * Description of the datacenter. */ description?: pulumi.Input<string | undefined>; /** * Enable or disable the datacenter. Default is `true`. When set to `false`, the datacenter is disabled and will not be used for load balancing decisions. */ enabled?: pulumi.Input<boolean | undefined>; /** * Physical location of the datacenter. This is a free-form text field. */ location?: pulumi.Input<string | undefined>; /** * Name of the GTM datacenter. Cannot be changed after creation. */ name: pulumi.Input<string>; /** * Partition in which to create the datacenter. Default is `Common`. Cannot be changed after creation. */ partition?: pulumi.Input<string | undefined>; /** * Specifies the type of prober to use as fallback when the preferred prober is unavailable. Default is `any-available`. Valid options are: * - `any-available` - Use any available prober * - `inside-datacenter` - Fallback to probers inside this datacenter * - `outside-datacenter` - Fallback to probers outside this datacenter */ proberFallback?: pulumi.Input<string | undefined>; /** * Specifies the type of prober to prefer when monitoring resources in this datacenter. Default is `inside-datacenter`. Valid options are: * - `inside-datacenter` - Prefer probers inside this datacenter * - `outside-datacenter` - Prefer probers outside this datacenter */ proberPreference?: pulumi.Input<string | undefined>; } //# sourceMappingURL=gtmDatacenter.d.ts.map