import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a HDInsight Kafka 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 exampleAccount = new azure.storage.Account("example", { * name: "hdinsightstor", * resourceGroupName: example.name, * location: example.location, * accountTier: "Standard", * accountReplicationType: "LRS", * }); * const exampleContainer = new azure.storage.Container("example", { * name: "hdinsight", * storageAccountName: exampleAccount.name, * containerAccessType: "private", * }); * const exampleKafkaCluster = new azure.hdinsight.KafkaCluster("example", { * name: "example-hdicluster", * resourceGroupName: example.name, * location: example.location, * clusterVersion: "4.0", * tier: "Standard", * componentVersion: { * kafka: "2.1", * }, * gateway: { * username: "acctestusrgw", * password: "Password123!", * }, * storageAccounts: [{ * storageContainerId: exampleContainer.id, * storageAccountKey: exampleAccount.primaryAccessKey, * isDefault: true, * }], * roles: { * headNode: { * vmSize: "Standard_D3_V2", * username: "acctestusrvm", * password: "AccTestvdSC4daf986!", * }, * workerNode: { * vmSize: "Standard_D3_V2", * username: "acctestusrvm", * password: "AccTestvdSC4daf986!", * numberOfDisksPerNode: 3, * targetInstanceCount: 3, * }, * zookeeperNode: { * vmSize: "Standard_D3_V2", * username: "acctestusrvm", * password: "AccTestvdSC4daf986!", * }, * }, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.HDInsight` - 2021-06-01 * * ## Import * * HDInsight Kafka Clusters can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:hdinsight/kafkaCluster:KafkaCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.HDInsight/clusters/cluster1 * ``` */ export declare class KafkaCluster extends pulumi.CustomResource { /** * Get an existing KafkaCluster 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?: KafkaClusterState, opts?: pulumi.CustomResourceOptions): KafkaCluster; /** * Returns true if the given object is an instance of KafkaCluster. 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 KafkaCluster; /** * Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created. */ readonly clusterVersion: pulumi.Output; /** * A `componentVersion` block as defined below. */ readonly componentVersion: pulumi.Output; /** * A `computeIsolation` block as defined below. */ readonly computeIsolation: pulumi.Output; /** * One or more `diskEncryption` block as defined below. * * > **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/). */ readonly diskEncryptions: pulumi.Output; /** * Whether encryption in transit is enabled for this HDInsight Kafka Cluster. Changing this forces a new resource to be created. */ readonly encryptionInTransitEnabled: pulumi.Output; /** * An `extension` block as defined below. */ readonly extension: pulumi.Output; /** * A `gateway` block as defined below. */ readonly gateway: pulumi.Output; /** * The HTTPS Connectivity Endpoint for this HDInsight Kafka Cluster. */ readonly httpsEndpoint: pulumi.Output; /** * The Kafka Rest Proxy Endpoint for this HDInsight Kafka Cluster. */ readonly kafkaRestProxyEndpoint: pulumi.Output; /** * Specifies the Azure Region which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * A `metastores` block as defined below. */ readonly metastores: pulumi.Output; /** * A `monitor` block as defined below. */ readonly monitor: pulumi.Output; /** * Specifies the name for this HDInsight Kafka Cluster. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * A `network` block as defined below. */ readonly network: pulumi.Output; /** * A `privateLinkConfiguration` block as defined below. */ readonly privateLinkConfiguration: pulumi.Output; /** * Specifies the name of the Resource Group in which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * A `restProxy` block as defined below. */ readonly restProxy: pulumi.Output; /** * A `roles` block as defined below. */ readonly roles: pulumi.Output; /** * A `securityProfile` block as defined below. Changing this forces a new resource to be created. */ readonly securityProfile: pulumi.Output; /** * The SSH Connectivity Endpoint for this HDInsight Kafka Cluster. */ readonly sshEndpoint: pulumi.Output; /** * A `storageAccountGen2` block as defined below. */ readonly storageAccountGen2: pulumi.Output; /** * One or more `storageAccount` block as defined below. */ readonly storageAccounts: pulumi.Output; /** * A map of Tags which should be assigned to this HDInsight Kafka Cluster. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Specifies the Tier which should be used for this HDInsight Kafka Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created. */ readonly tier: pulumi.Output; /** * The minimal supported TLS version. Possible values are `1.0`, `1.1` or `1.2`. Changing this forces a new resource to be created. */ readonly tlsMinVersion: pulumi.Output; /** * Create a KafkaCluster 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: KafkaClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering KafkaCluster resources. */ export interface KafkaClusterState { /** * Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created. */ clusterVersion?: pulumi.Input; /** * A `componentVersion` block as defined below. */ componentVersion?: pulumi.Input; /** * A `computeIsolation` block as defined below. */ computeIsolation?: pulumi.Input; /** * One or more `diskEncryption` block as defined below. * * > **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/). */ diskEncryptions?: pulumi.Input[]>; /** * Whether encryption in transit is enabled for this HDInsight Kafka Cluster. Changing this forces a new resource to be created. */ encryptionInTransitEnabled?: pulumi.Input; /** * An `extension` block as defined below. */ extension?: pulumi.Input; /** * A `gateway` block as defined below. */ gateway?: pulumi.Input; /** * The HTTPS Connectivity Endpoint for this HDInsight Kafka Cluster. */ httpsEndpoint?: pulumi.Input; /** * The Kafka Rest Proxy Endpoint for this HDInsight Kafka Cluster. */ kafkaRestProxyEndpoint?: pulumi.Input; /** * Specifies the Azure Region which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * A `metastores` block as defined below. */ metastores?: pulumi.Input; /** * A `monitor` block as defined below. */ monitor?: pulumi.Input; /** * Specifies the name for this HDInsight Kafka Cluster. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A `network` block as defined below. */ network?: pulumi.Input; /** * A `privateLinkConfiguration` block as defined below. */ privateLinkConfiguration?: pulumi.Input; /** * Specifies the name of the Resource Group in which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * A `restProxy` block as defined below. */ restProxy?: pulumi.Input; /** * A `roles` block as defined below. */ roles?: pulumi.Input; /** * A `securityProfile` block as defined below. Changing this forces a new resource to be created. */ securityProfile?: pulumi.Input; /** * The SSH Connectivity Endpoint for this HDInsight Kafka Cluster. */ sshEndpoint?: pulumi.Input; /** * A `storageAccountGen2` block as defined below. */ storageAccountGen2?: pulumi.Input; /** * One or more `storageAccount` block as defined below. */ storageAccounts?: pulumi.Input[]>; /** * A map of Tags which should be assigned to this HDInsight Kafka Cluster. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Specifies the Tier which should be used for this HDInsight Kafka Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created. */ tier?: pulumi.Input; /** * The minimal supported TLS version. Possible values are `1.0`, `1.1` or `1.2`. Changing this forces a new resource to be created. */ tlsMinVersion?: pulumi.Input; } /** * The set of arguments for constructing a KafkaCluster resource. */ export interface KafkaClusterArgs { /** * Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created. */ clusterVersion: pulumi.Input; /** * A `componentVersion` block as defined below. */ componentVersion: pulumi.Input; /** * A `computeIsolation` block as defined below. */ computeIsolation?: pulumi.Input; /** * One or more `diskEncryption` block as defined below. * * > **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/). */ diskEncryptions?: pulumi.Input[]>; /** * Whether encryption in transit is enabled for this HDInsight Kafka Cluster. Changing this forces a new resource to be created. */ encryptionInTransitEnabled?: pulumi.Input; /** * An `extension` block as defined below. */ extension?: pulumi.Input; /** * A `gateway` block as defined below. */ gateway: pulumi.Input; /** * Specifies the Azure Region which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * A `metastores` block as defined below. */ metastores?: pulumi.Input; /** * A `monitor` block as defined below. */ monitor?: pulumi.Input; /** * Specifies the name for this HDInsight Kafka Cluster. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A `network` block as defined below. */ network?: pulumi.Input; /** * A `privateLinkConfiguration` block as defined below. */ privateLinkConfiguration?: pulumi.Input; /** * Specifies the name of the Resource Group in which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * A `restProxy` block as defined below. */ restProxy?: pulumi.Input; /** * A `roles` block as defined below. */ roles: pulumi.Input; /** * A `securityProfile` block as defined below. Changing this forces a new resource to be created. */ securityProfile?: pulumi.Input; /** * A `storageAccountGen2` block as defined below. */ storageAccountGen2?: pulumi.Input; /** * One or more `storageAccount` block as defined below. */ storageAccounts?: pulumi.Input[]>; /** * A map of Tags which should be assigned to this HDInsight Kafka Cluster. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Specifies the Tier which should be used for this HDInsight Kafka Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created. */ tier: pulumi.Input; /** * The minimal supported TLS version. Possible values are `1.0`, `1.1` or `1.2`. Changing this forces a new resource to be created. */ tlsMinVersion?: pulumi.Input; }