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