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 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, 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; /** * 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; /** * Is public access enabled on coordinator? Defaults to `true`. */ readonly coordinatorPublicIpAccessEnabled: pulumi.Output; /** * 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; /** * 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; /** * 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; /** * The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster. */ readonly earliestRestoreTime: pulumi.Output; /** * Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to `false`. */ readonly haEnabled: pulumi.Output; /** * 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; /** * A `maintenanceWindow` block as defined below. */ readonly maintenanceWindow: pulumi.Output; /** * 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; /** * 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; /** * Is public access enabled on worker nodes. Defaults to `false`. */ readonly nodePublicIpAccessEnabled: pulumi.Output; /** * The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`. */ readonly nodeServerEdition: pulumi.Output; /** * 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; /** * The vCores count on each worker node. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `96` and `104`. */ readonly nodeVcores: pulumi.Output; /** * 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; /** * The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster. */ readonly preferredPrimaryZone: pulumi.Output; /** * 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; /** * A `servers` block as defined below. */ readonly servers: pulumi.Output; /** * Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster. */ readonly shardsOnCoordinatorEnabled: pulumi.Output; /** * 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; /** * 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; /** * 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; /** * 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; /** * 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; /** * Is public access enabled on coordinator? Defaults to `true`. */ coordinatorPublicIpAccessEnabled?: pulumi.Input; /** * 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; /** * 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; /** * 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; /** * The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster. */ earliestRestoreTime?: pulumi.Input; /** * Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to `false`. */ haEnabled?: pulumi.Input; /** * 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; /** * A `maintenanceWindow` block as defined below. */ maintenanceWindow?: pulumi.Input; /** * 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; /** * The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between `0` and `20` except `1`. */ nodeCount?: pulumi.Input; /** * Is public access enabled on worker nodes. Defaults to `false`. */ nodePublicIpAccessEnabled?: pulumi.Input; /** * The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`. */ nodeServerEdition?: pulumi.Input; /** * 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; /** * The vCores count on each worker node. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `96` and `104`. */ nodeVcores?: pulumi.Input; /** * 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; /** * The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster. */ preferredPrimaryZone?: pulumi.Input; /** * 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; /** * A `servers` block as defined below. */ servers?: pulumi.Input[]>; /** * Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster. */ shardsOnCoordinatorEnabled?: pulumi.Input; /** * 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; /** * 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; /** * 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; /** * A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * 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; /** * 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; /** * Is public access enabled on coordinator? Defaults to `true`. */ coordinatorPublicIpAccessEnabled?: pulumi.Input; /** * 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; /** * 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; /** * 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; /** * Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to `false`. */ haEnabled?: pulumi.Input; /** * 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; /** * A `maintenanceWindow` block as defined below. */ maintenanceWindow?: pulumi.Input; /** * 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; /** * The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between `0` and `20` except `1`. */ nodeCount: pulumi.Input; /** * Is public access enabled on worker nodes. Defaults to `false`. */ nodePublicIpAccessEnabled?: pulumi.Input; /** * The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`. */ nodeServerEdition?: pulumi.Input; /** * 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; /** * The vCores count on each worker node. Possible values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `96` and `104`. */ nodeVcores?: pulumi.Input; /** * 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; /** * The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster. */ preferredPrimaryZone?: pulumi.Input; /** * 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; /** * Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster. */ shardsOnCoordinatorEnabled?: pulumi.Input; /** * 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; /** * 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; /** * 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; /** * A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }