import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Service Fabric 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 exampleCluster = new azure.servicefabric.Cluster("example", { * name: "example-servicefabric", * resourceGroupName: example.name, * location: example.location, * reliabilityLevel: "Bronze", * upgradeMode: "Manual", * clusterCodeVersion: "7.1.456.959", * vmImage: "Windows", * managementEndpoint: "https://example:80", * nodeTypes: [{ * name: "first", * instanceCount: 3, * isPrimary: true, * clientEndpointPort: 2020, * httpEndpointPort: 80, * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.ServiceFabric` - 2021-06-01 * * ## Import * * Service Fabric Clusters can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:servicefabric/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceFabric/clusters/cluster1 * ``` */ export declare class Cluster extends pulumi.CustomResource { /** * Get an existing Cluster 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?: ClusterState, opts?: pulumi.CustomResourceOptions): Cluster; /** * Returns true if the given object is an instance of Cluster. 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 Cluster; /** * A List of one or more features which should be enabled, such as `DnsService`. */ readonly addOnFeatures: pulumi.Output; /** * An `azureActiveDirectory` block as defined below. */ readonly azureActiveDirectory: pulumi.Output; /** * A `certificate` block as defined below. Conflicts with `certificateCommonNames`. */ readonly certificate: pulumi.Output; /** * A `certificateCommonNames` block as defined below. Conflicts with `certificate`. */ readonly certificateCommonNames: pulumi.Output; /** * A `clientCertificateCommonName` block as defined below. * * > **Note:** If Client Certificates are enabled then at a Certificate must be configured on the cluster. */ readonly clientCertificateCommonNames: pulumi.Output; /** * One or more `clientCertificateThumbprint` blocks as defined below. */ readonly clientCertificateThumbprints: pulumi.Output; /** * Required if Upgrade Mode set to `Manual`, Specifies the Version of the Cluster Code of the cluster. */ readonly clusterCodeVersion: pulumi.Output; /** * The Cluster Endpoint for this Service Fabric Cluster. */ readonly clusterEndpoint: pulumi.Output; /** * A `diagnosticsConfig` block as defined below. */ readonly diagnosticsConfig: pulumi.Output; /** * One or more `fabricSettings` blocks as defined below. */ readonly fabricSettings: pulumi.Output; /** * Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * Specifies the Management Endpoint of the cluster such as `http://example.com`. Changing this forces a new resource to be created. */ readonly managementEndpoint: pulumi.Output; /** * The name of the Service Fabric Cluster. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * One or more `nodeType` blocks as defined below. */ readonly nodeTypes: pulumi.Output; /** * Specifies the Reliability Level of the Cluster. Possible values include `None`, `Bronze`, `Silver`, `Gold` and `Platinum`. * * > **Note:** The Reliability Level of the Cluster depends on the number of nodes in the Cluster: `Platinum` requires at least 9 VM's, `Gold` requires at least 7 VM's, `Silver` requires at least 5 VM's, `Bronze` requires at least 3 VM's. */ readonly reliabilityLevel: pulumi.Output; /** * The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * A `reverseProxyCertificate` block as defined below. Conflicts with `reverseProxyCertificateCommonNames`. */ readonly reverseProxyCertificate: pulumi.Output; /** * A `reverseProxyCertificateCommonNames` block as defined below. Conflicts with `reverseProxyCertificate`. */ readonly reverseProxyCertificateCommonNames: pulumi.Output; /** * Specifies the logical grouping of VMs in upgrade domains. Possible values are `Hierarchical` or `Parallel`. */ readonly serviceFabricZonalUpgradeMode: pulumi.Output; /** * A mapping of tags to assign to the resource. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Specifies the Upgrade Mode of the cluster. Possible values are `Automatic` or `Manual`. */ readonly upgradeMode: pulumi.Output; /** * A `upgradePolicy` block as defined below. */ readonly upgradePolicy: pulumi.Output; /** * Specifies the Image expected for the Service Fabric Cluster, such as `Windows`. Changing this forces a new resource to be created. */ readonly vmImage: pulumi.Output; /** * Specifies the upgrade mode for the virtual machine scale set updates that happen in all availability zones at once. Possible values are `Hierarchical` or `Parallel`. */ readonly vmssZonalUpgradeMode: pulumi.Output; /** * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Cluster resources. */ export interface ClusterState { /** * A List of one or more features which should be enabled, such as `DnsService`. */ addOnFeatures?: pulumi.Input[]>; /** * An `azureActiveDirectory` block as defined below. */ azureActiveDirectory?: pulumi.Input; /** * A `certificate` block as defined below. Conflicts with `certificateCommonNames`. */ certificate?: pulumi.Input; /** * A `certificateCommonNames` block as defined below. Conflicts with `certificate`. */ certificateCommonNames?: pulumi.Input; /** * A `clientCertificateCommonName` block as defined below. * * > **Note:** If Client Certificates are enabled then at a Certificate must be configured on the cluster. */ clientCertificateCommonNames?: pulumi.Input[]>; /** * One or more `clientCertificateThumbprint` blocks as defined below. */ clientCertificateThumbprints?: pulumi.Input[]>; /** * Required if Upgrade Mode set to `Manual`, Specifies the Version of the Cluster Code of the cluster. */ clusterCodeVersion?: pulumi.Input; /** * The Cluster Endpoint for this Service Fabric Cluster. */ clusterEndpoint?: pulumi.Input; /** * A `diagnosticsConfig` block as defined below. */ diagnosticsConfig?: pulumi.Input; /** * One or more `fabricSettings` blocks as defined below. */ fabricSettings?: pulumi.Input[]>; /** * Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * Specifies the Management Endpoint of the cluster such as `http://example.com`. Changing this forces a new resource to be created. */ managementEndpoint?: pulumi.Input; /** * The name of the Service Fabric Cluster. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * One or more `nodeType` blocks as defined below. */ nodeTypes?: pulumi.Input[]>; /** * Specifies the Reliability Level of the Cluster. Possible values include `None`, `Bronze`, `Silver`, `Gold` and `Platinum`. * * > **Note:** The Reliability Level of the Cluster depends on the number of nodes in the Cluster: `Platinum` requires at least 9 VM's, `Gold` requires at least 7 VM's, `Silver` requires at least 5 VM's, `Bronze` requires at least 3 VM's. */ reliabilityLevel?: pulumi.Input; /** * The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * A `reverseProxyCertificate` block as defined below. Conflicts with `reverseProxyCertificateCommonNames`. */ reverseProxyCertificate?: pulumi.Input; /** * A `reverseProxyCertificateCommonNames` block as defined below. Conflicts with `reverseProxyCertificate`. */ reverseProxyCertificateCommonNames?: pulumi.Input; /** * Specifies the logical grouping of VMs in upgrade domains. Possible values are `Hierarchical` or `Parallel`. */ serviceFabricZonalUpgradeMode?: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Specifies the Upgrade Mode of the cluster. Possible values are `Automatic` or `Manual`. */ upgradeMode?: pulumi.Input; /** * A `upgradePolicy` block as defined below. */ upgradePolicy?: pulumi.Input; /** * Specifies the Image expected for the Service Fabric Cluster, such as `Windows`. Changing this forces a new resource to be created. */ vmImage?: pulumi.Input; /** * Specifies the upgrade mode for the virtual machine scale set updates that happen in all availability zones at once. Possible values are `Hierarchical` or `Parallel`. */ vmssZonalUpgradeMode?: pulumi.Input; } /** * The set of arguments for constructing a Cluster resource. */ export interface ClusterArgs { /** * A List of one or more features which should be enabled, such as `DnsService`. */ addOnFeatures?: pulumi.Input[]>; /** * An `azureActiveDirectory` block as defined below. */ azureActiveDirectory?: pulumi.Input; /** * A `certificate` block as defined below. Conflicts with `certificateCommonNames`. */ certificate?: pulumi.Input; /** * A `certificateCommonNames` block as defined below. Conflicts with `certificate`. */ certificateCommonNames?: pulumi.Input; /** * A `clientCertificateCommonName` block as defined below. * * > **Note:** If Client Certificates are enabled then at a Certificate must be configured on the cluster. */ clientCertificateCommonNames?: pulumi.Input[]>; /** * One or more `clientCertificateThumbprint` blocks as defined below. */ clientCertificateThumbprints?: pulumi.Input[]>; /** * Required if Upgrade Mode set to `Manual`, Specifies the Version of the Cluster Code of the cluster. */ clusterCodeVersion?: pulumi.Input; /** * A `diagnosticsConfig` block as defined below. */ diagnosticsConfig?: pulumi.Input; /** * One or more `fabricSettings` blocks as defined below. */ fabricSettings?: pulumi.Input[]>; /** * Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * Specifies the Management Endpoint of the cluster such as `http://example.com`. Changing this forces a new resource to be created. */ managementEndpoint: pulumi.Input; /** * The name of the Service Fabric Cluster. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * One or more `nodeType` blocks as defined below. */ nodeTypes: pulumi.Input[]>; /** * Specifies the Reliability Level of the Cluster. Possible values include `None`, `Bronze`, `Silver`, `Gold` and `Platinum`. * * > **Note:** The Reliability Level of the Cluster depends on the number of nodes in the Cluster: `Platinum` requires at least 9 VM's, `Gold` requires at least 7 VM's, `Silver` requires at least 5 VM's, `Bronze` requires at least 3 VM's. */ reliabilityLevel: pulumi.Input; /** * The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * A `reverseProxyCertificate` block as defined below. Conflicts with `reverseProxyCertificateCommonNames`. */ reverseProxyCertificate?: pulumi.Input; /** * A `reverseProxyCertificateCommonNames` block as defined below. Conflicts with `reverseProxyCertificate`. */ reverseProxyCertificateCommonNames?: pulumi.Input; /** * Specifies the logical grouping of VMs in upgrade domains. Possible values are `Hierarchical` or `Parallel`. */ serviceFabricZonalUpgradeMode?: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Specifies the Upgrade Mode of the cluster. Possible values are `Automatic` or `Manual`. */ upgradeMode: pulumi.Input; /** * A `upgradePolicy` block as defined below. */ upgradePolicy?: pulumi.Input; /** * Specifies the Image expected for the Service Fabric Cluster, such as `Windows`. Changing this forces a new resource to be created. */ vmImage: pulumi.Input; /** * Specifies the upgrade mode for the virtual machine scale set updates that happen in all availability zones at once. Possible values are `Hierarchical` or `Parallel`. */ vmssZonalUpgradeMode?: pulumi.Input; }