import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Manages an Azure Cosmos DB for PostgreSQL Cluster.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = new azure.core.ResourceGroup("example", {
 *     name: "example-resources",
 *     location: "West Europe",
 * });
 * const examplePostgresqlCluster = new azure.cosmosdb.PostgresqlCluster("example", {
 *     name: "example-cluster",
 *     resourceGroupName: example.name,
 *     location: example.location,
 *     administratorLoginPassword: "H@Sh1CoR3!",
 *     coordinatorStorageQuotaInMb: 131072,
 *     coordinatorVcoreCount: 2,
 *     nodeCount: 0,
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This resource uses the following Azure API Providers:
 *
 * * `Microsoft.DBforPostgreSQL` - 2022-11-08
 *
 * ## Import
 *
 * Azure Cosmos DB for PostgreSQL Clusters can be imported using the `resource id`, e.g.
 *
 * ```sh
 * $ pulumi import azure:cosmosdb/postgresqlCluster:PostgresqlCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/cluster1
 * ```
 */
export declare class PostgresqlCluster extends pulumi.CustomResource {
    /**
     * Get an existing PostgresqlCluster 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?: PostgresqlClusterState, opts?: pulumi.CustomResourceOptions): PostgresqlCluster;
    /**
     * Returns true if the given object is an instance of PostgresqlCluster.  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 PostgresqlCluster;
    /**
     * The password of the administrator login. This is required when `sourceResourceId` is not set.
     */
    readonly administratorLoginPassword: pulumi.Output<string | undefined>;
    /**
     * The citus extension version on the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `8.3`, `9.0`, `9.1`, `9.2`, `9.3`, `9.4`, `9.5`, `10.0`, `10.1`, `10.2`, `11.0`, `11.1`, `11.2`, `11.3` and `12.1`.
     */
    readonly citusVersion: pulumi.Output<string>;
    /**
     * Is public access enabled on coordinator? Defaults to `true`.
     */
    readonly coordinatorPublicIpAccessEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The edition of the coordinator server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose`, and `MemoryOptimized`. Defaults to `GeneralPurpose`.
     *
     * > **Note:** When using `BurstableGeneralPurpose`, the minimum supported value for `coordinatorVcoreCount` is `2`. Setting `coordinatorVcoreCount = 1` with this edition will result in an error from the Azure API. See [Azure Cosmos DB for PostgreSQL compute documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute) for more details.
     */
    readonly coordinatorServerEdition: pulumi.Output<string | undefined>;
    /**
     * The coordinator storage allowed for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4194304`, `8388608`, `16777216`, and `33554432`.
     *
     * > **Note:** More information on [the types of compute resources available for CosmosDB can be found in the product documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute)
     */
    readonly coordinatorStorageQuotaInMb: pulumi.Output<number | undefined>;
    /**
     * The coordinator vCore count for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64` and `96`.
     */
    readonly coordinatorVcoreCount: pulumi.Output<number | undefined>;
    /**
     * The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster.
     */
    readonly earliestRestoreTime: pulumi.Output<string>;
    /**
     * Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to `false`.
     */
    readonly haEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The Azure Region where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.
     */
    readonly location: pulumi.Output<string>;
    /**
     * A `maintenanceWindow` block as defined below.
     */
    readonly maintenanceWindow: pulumi.Output<outputs.cosmosdb.PostgresqlClusterMaintenanceWindow | undefined>;
    /**
     * The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between `0` and `20` except `1`.
     */
    readonly nodeCount: pulumi.Output<number>;
    /**
     * Is public access enabled on worker nodes. Defaults to `false`.
     */
    readonly nodePublicIpAccessEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`.
     */
    readonly nodeServerEdition: pulumi.Output<string | undefined>;
    /**
     * The storage quota in MB on each worker node. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4194304`, `8388608` and `16777216`.
     */
    readonly nodeStorageQuotaInMb: pulumi.Output<number>;
    /**
     * The vCores count on each worker node. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `96` and `104`.
     */
    readonly nodeVcores: pulumi.Output<number>;
    /**
     * The date and time in UTC (ISO8601 format) for the Azure Cosmos DB for PostgreSQL cluster restore. Changing this forces a new resource to be created.
     */
    readonly pointInTimeInUtc: pulumi.Output<string | undefined>;
    /**
     * The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster.
     */
    readonly preferredPrimaryZone: pulumi.Output<string | undefined>;
    /**
     * The name of the Resource Group where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.
     */
    readonly resourceGroupName: pulumi.Output<string>;
    /**
     * A `servers` block as defined below.
     */
    readonly servers: pulumi.Output<outputs.cosmosdb.PostgresqlClusterServer[]>;
    /**
     * Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster.
     */
    readonly shardsOnCoordinatorEnabled: pulumi.Output<boolean>;
    /**
     * The Azure region of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.
     */
    readonly sourceLocation: pulumi.Output<string | undefined>;
    /**
     * The resource ID of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.
     */
    readonly sourceResourceId: pulumi.Output<string | undefined>;
    /**
     * The major PostgreSQL version on the Azure Cosmos DB for PostgreSQL cluster. Possible values are `11`, `12`, `13`, `14`, `15` and `16`.
     */
    readonly sqlVersion: pulumi.Output<string>;
    /**
     * A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Create a PostgresqlCluster 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: PostgresqlClusterArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering PostgresqlCluster resources.
 */
export interface PostgresqlClusterState {
    /**
     * The password of the administrator login. This is required when `sourceResourceId` is not set.
     */
    administratorLoginPassword?: pulumi.Input<string | undefined>;
    /**
     * The citus extension version on the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `8.3`, `9.0`, `9.1`, `9.2`, `9.3`, `9.4`, `9.5`, `10.0`, `10.1`, `10.2`, `11.0`, `11.1`, `11.2`, `11.3` and `12.1`.
     */
    citusVersion?: pulumi.Input<string | undefined>;
    /**
     * Is public access enabled on coordinator? Defaults to `true`.
     */
    coordinatorPublicIpAccessEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The edition of the coordinator server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose`, and `MemoryOptimized`. Defaults to `GeneralPurpose`.
     *
     * > **Note:** When using `BurstableGeneralPurpose`, the minimum supported value for `coordinatorVcoreCount` is `2`. Setting `coordinatorVcoreCount = 1` with this edition will result in an error from the Azure API. See [Azure Cosmos DB for PostgreSQL compute documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute) for more details.
     */
    coordinatorServerEdition?: pulumi.Input<string | undefined>;
    /**
     * The coordinator storage allowed for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4194304`, `8388608`, `16777216`, and `33554432`.
     *
     * > **Note:** More information on [the types of compute resources available for CosmosDB can be found in the product documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute)
     */
    coordinatorStorageQuotaInMb?: pulumi.Input<number | undefined>;
    /**
     * The coordinator vCore count for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64` and `96`.
     */
    coordinatorVcoreCount?: pulumi.Input<number | undefined>;
    /**
     * The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster.
     */
    earliestRestoreTime?: pulumi.Input<string | undefined>;
    /**
     * Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to `false`.
     */
    haEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The Azure Region where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * A `maintenanceWindow` block as defined below.
     */
    maintenanceWindow?: pulumi.Input<inputs.cosmosdb.PostgresqlClusterMaintenanceWindow | undefined>;
    /**
     * The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between `0` and `20` except `1`.
     */
    nodeCount?: pulumi.Input<number | undefined>;
    /**
     * Is public access enabled on worker nodes. Defaults to `false`.
     */
    nodePublicIpAccessEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`.
     */
    nodeServerEdition?: pulumi.Input<string | undefined>;
    /**
     * The storage quota in MB on each worker node. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4194304`, `8388608` and `16777216`.
     */
    nodeStorageQuotaInMb?: pulumi.Input<number | undefined>;
    /**
     * The vCores count on each worker node. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `96` and `104`.
     */
    nodeVcores?: pulumi.Input<number | undefined>;
    /**
     * The date and time in UTC (ISO8601 format) for the Azure Cosmos DB for PostgreSQL cluster restore. Changing this forces a new resource to be created.
     */
    pointInTimeInUtc?: pulumi.Input<string | undefined>;
    /**
     * The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster.
     */
    preferredPrimaryZone?: pulumi.Input<string | undefined>;
    /**
     * The name of the Resource Group where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.
     */
    resourceGroupName?: pulumi.Input<string | undefined>;
    /**
     * A `servers` block as defined below.
     */
    servers?: pulumi.Input<pulumi.Input<inputs.cosmosdb.PostgresqlClusterServer>[] | undefined>;
    /**
     * Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster.
     */
    shardsOnCoordinatorEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The Azure region of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.
     */
    sourceLocation?: pulumi.Input<string | undefined>;
    /**
     * The resource ID of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.
     */
    sourceResourceId?: pulumi.Input<string | undefined>;
    /**
     * The major PostgreSQL version on the Azure Cosmos DB for PostgreSQL cluster. Possible values are `11`, `12`, `13`, `14`, `15` and `16`.
     */
    sqlVersion?: pulumi.Input<string | undefined>;
    /**
     * A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
}
/**
 * The set of arguments for constructing a PostgresqlCluster resource.
 */
export interface PostgresqlClusterArgs {
    /**
     * The password of the administrator login. This is required when `sourceResourceId` is not set.
     */
    administratorLoginPassword?: pulumi.Input<string | undefined>;
    /**
     * The citus extension version on the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `8.3`, `9.0`, `9.1`, `9.2`, `9.3`, `9.4`, `9.5`, `10.0`, `10.1`, `10.2`, `11.0`, `11.1`, `11.2`, `11.3` and `12.1`.
     */
    citusVersion?: pulumi.Input<string | undefined>;
    /**
     * Is public access enabled on coordinator? Defaults to `true`.
     */
    coordinatorPublicIpAccessEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The edition of the coordinator server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose`, and `MemoryOptimized`. Defaults to `GeneralPurpose`.
     *
     * > **Note:** When using `BurstableGeneralPurpose`, the minimum supported value for `coordinatorVcoreCount` is `2`. Setting `coordinatorVcoreCount = 1` with this edition will result in an error from the Azure API. See [Azure Cosmos DB for PostgreSQL compute documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute) for more details.
     */
    coordinatorServerEdition?: pulumi.Input<string | undefined>;
    /**
     * The coordinator storage allowed for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4194304`, `8388608`, `16777216`, and `33554432`.
     *
     * > **Note:** More information on [the types of compute resources available for CosmosDB can be found in the product documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute)
     */
    coordinatorStorageQuotaInMb?: pulumi.Input<number | undefined>;
    /**
     * The coordinator vCore count for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64` and `96`.
     */
    coordinatorVcoreCount?: pulumi.Input<number | undefined>;
    /**
     * Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to `false`.
     */
    haEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The Azure Region where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * A `maintenanceWindow` block as defined below.
     */
    maintenanceWindow?: pulumi.Input<inputs.cosmosdb.PostgresqlClusterMaintenanceWindow | undefined>;
    /**
     * The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between `0` and `20` except `1`.
     */
    nodeCount: pulumi.Input<number>;
    /**
     * Is public access enabled on worker nodes. Defaults to `false`.
     */
    nodePublicIpAccessEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`.
     */
    nodeServerEdition?: pulumi.Input<string | undefined>;
    /**
     * The storage quota in MB on each worker node. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4194304`, `8388608` and `16777216`.
     */
    nodeStorageQuotaInMb?: pulumi.Input<number | undefined>;
    /**
     * The vCores count on each worker node. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `96` and `104`.
     */
    nodeVcores?: pulumi.Input<number | undefined>;
    /**
     * The date and time in UTC (ISO8601 format) for the Azure Cosmos DB for PostgreSQL cluster restore. Changing this forces a new resource to be created.
     */
    pointInTimeInUtc?: pulumi.Input<string | undefined>;
    /**
     * The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster.
     */
    preferredPrimaryZone?: pulumi.Input<string | undefined>;
    /**
     * The name of the Resource Group where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster.
     */
    shardsOnCoordinatorEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The Azure region of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.
     */
    sourceLocation?: pulumi.Input<string | undefined>;
    /**
     * The resource ID of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.
     */
    sourceResourceId?: pulumi.Input<string | undefined>;
    /**
     * The major PostgreSQL version on the Azure Cosmos DB for PostgreSQL cluster. Possible values are `11`, `12`, `13`, `14`, `15` and `16`.
     */
    sqlVersion?: pulumi.Input<string | undefined>;
    /**
     * A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
}
//# sourceMappingURL=postgresqlCluster.d.ts.map