import * as pulumi from "@pulumi/pulumi";
/**
 * Manages a Cassandra Datacenter.
 *
 * > **Note:** In order for the `Azure Managed Instances for Apache Cassandra` to work properly the product requires the `Azure Cosmos DB` Application ID to be present and working in your tenant. If the `Azure Cosmos DB` Application ID is missing in your environment you will need to have an administrator of your tenant run the following command to add the `Azure Cosmos DB` Application ID to your tenant:
 *
 * ## Import
 *
 * Cassandra Datacenters can be imported using the `resource id`, e.g.
 *
 * ```sh
 * $ pulumi import azure:cosmosdb/cassandraDatacenter:CassandraDatacenter example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DocumentDB/cassandraClusters/cluster1/dataCenters/dc1
 * ```
 */
export declare class CassandraDatacenter extends pulumi.CustomResource {
    /**
     * Get an existing CassandraDatacenter 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?: CassandraDatacenterState, opts?: pulumi.CustomResourceOptions): CassandraDatacenter;
    /**
     * Returns true if the given object is an instance of CassandraDatacenter.  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 CassandraDatacenter;
    /**
     * Determines whether availability zones are enabled. Defaults to `true`.
     */
    readonly availabilityZonesEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The key URI of the customer key to use for the encryption of the backup Storage Account.
     */
    readonly backupStorageCustomerKeyUri: pulumi.Output<string | undefined>;
    /**
     * The fragment of the cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this Cassandra Datacenter. The fragment should be Base64 encoded and only a subset of keys is allowed.
     */
    readonly base64EncodedYamlFragment: pulumi.Output<string | undefined>;
    /**
     * The ID of the Cassandra Cluster. Changing this forces a new Cassandra Datacenter to be created.
     */
    readonly cassandraClusterId: pulumi.Output<string>;
    /**
     * The ID of the delegated management subnet for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.
     */
    readonly delegatedManagementSubnetId: pulumi.Output<string>;
    /**
     * Determines the number of p30 disks that are attached to each node.
     */
    readonly diskCount: pulumi.Output<number | undefined>;
    /**
     * The Disk SKU that is used for this Cassandra Datacenter. Defaults to `P30`.
     */
    readonly diskSku: pulumi.Output<string | undefined>;
    /**
     * The Azure Region where the Cassandra Datacenter should exist. Changing this forces a new Cassandra Datacenter to be created.
     */
    readonly location: pulumi.Output<string>;
    /**
     * The key URI of the customer key to use for the encryption of the Managed Disk.
     */
    readonly managedDiskCustomerKeyUri: pulumi.Output<string | undefined>;
    /**
     * The name which should be used for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The number of nodes the Cassandra Datacenter should have. The number should be equal or greater than `3`. Defaults to `3`.
     */
    readonly nodeCount: pulumi.Output<number | undefined>;
    /**
     * A list of IP Address for the seed nodes in this Cassandra Datacenter.
     */
    readonly seedNodeIpAddresses: pulumi.Output<string[]>;
    /**
     * Determines the selected sku. Defaults to `Standard_E16s_v5`.
     *
     * > **Note:** In v4.0 of the provider the `skuName` will have a default value of `Standard_E16s_v5`.
     */
    readonly skuName: pulumi.Output<string | undefined>;
    /**
     * Create a CassandraDatacenter 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: CassandraDatacenterArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering CassandraDatacenter resources.
 */
export interface CassandraDatacenterState {
    /**
     * Determines whether availability zones are enabled. Defaults to `true`.
     */
    availabilityZonesEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The key URI of the customer key to use for the encryption of the backup Storage Account.
     */
    backupStorageCustomerKeyUri?: pulumi.Input<string | undefined>;
    /**
     * The fragment of the cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this Cassandra Datacenter. The fragment should be Base64 encoded and only a subset of keys is allowed.
     */
    base64EncodedYamlFragment?: pulumi.Input<string | undefined>;
    /**
     * The ID of the Cassandra Cluster. Changing this forces a new Cassandra Datacenter to be created.
     */
    cassandraClusterId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the delegated management subnet for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.
     */
    delegatedManagementSubnetId?: pulumi.Input<string | undefined>;
    /**
     * Determines the number of p30 disks that are attached to each node.
     */
    diskCount?: pulumi.Input<number | undefined>;
    /**
     * The Disk SKU that is used for this Cassandra Datacenter. Defaults to `P30`.
     */
    diskSku?: pulumi.Input<string | undefined>;
    /**
     * The Azure Region where the Cassandra Datacenter should exist. Changing this forces a new Cassandra Datacenter to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * The key URI of the customer key to use for the encryption of the Managed Disk.
     */
    managedDiskCustomerKeyUri?: pulumi.Input<string | undefined>;
    /**
     * The name which should be used for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The number of nodes the Cassandra Datacenter should have. The number should be equal or greater than `3`. Defaults to `3`.
     */
    nodeCount?: pulumi.Input<number | undefined>;
    /**
     * A list of IP Address for the seed nodes in this Cassandra Datacenter.
     */
    seedNodeIpAddresses?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Determines the selected sku. Defaults to `Standard_E16s_v5`.
     *
     * > **Note:** In v4.0 of the provider the `skuName` will have a default value of `Standard_E16s_v5`.
     */
    skuName?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a CassandraDatacenter resource.
 */
export interface CassandraDatacenterArgs {
    /**
     * Determines whether availability zones are enabled. Defaults to `true`.
     */
    availabilityZonesEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The key URI of the customer key to use for the encryption of the backup Storage Account.
     */
    backupStorageCustomerKeyUri?: pulumi.Input<string | undefined>;
    /**
     * The fragment of the cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this Cassandra Datacenter. The fragment should be Base64 encoded and only a subset of keys is allowed.
     */
    base64EncodedYamlFragment?: pulumi.Input<string | undefined>;
    /**
     * The ID of the Cassandra Cluster. Changing this forces a new Cassandra Datacenter to be created.
     */
    cassandraClusterId: pulumi.Input<string>;
    /**
     * The ID of the delegated management subnet for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.
     */
    delegatedManagementSubnetId: pulumi.Input<string>;
    /**
     * Determines the number of p30 disks that are attached to each node.
     */
    diskCount?: pulumi.Input<number | undefined>;
    /**
     * The Disk SKU that is used for this Cassandra Datacenter. Defaults to `P30`.
     */
    diskSku?: pulumi.Input<string | undefined>;
    /**
     * The Azure Region where the Cassandra Datacenter should exist. Changing this forces a new Cassandra Datacenter to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * The key URI of the customer key to use for the encryption of the Managed Disk.
     */
    managedDiskCustomerKeyUri?: pulumi.Input<string | undefined>;
    /**
     * The name which should be used for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The number of nodes the Cassandra Datacenter should have. The number should be equal or greater than `3`. Defaults to `3`.
     */
    nodeCount?: pulumi.Input<number | undefined>;
    /**
     * Determines the selected sku. Defaults to `Standard_E16s_v5`.
     *
     * > **Note:** In v4.0 of the provider the `skuName` will have a default value of `Standard_E16s_v5`.
     */
    skuName?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=cassandraDatacenter.d.ts.map