ClusterArgs

data class ClusterArgs(val addOnFeatures: Output<List<String>>? = null, val azureActiveDirectory: Output<ClusterAzureActiveDirectoryArgs>? = null, val certificate: Output<ClusterCertificateArgs>? = null, val certificateCommonNames: Output<ClusterCertificateCommonNamesArgs>? = null, val clientCertificateCommonNames: Output<List<ClusterClientCertificateCommonNameArgs>>? = null, val clientCertificateThumbprints: Output<List<ClusterClientCertificateThumbprintArgs>>? = null, val clusterCodeVersion: Output<String>? = null, val diagnosticsConfig: Output<ClusterDiagnosticsConfigArgs>? = null, val fabricSettings: Output<List<ClusterFabricSettingArgs>>? = null, val location: Output<String>? = null, val managementEndpoint: Output<String>? = null, val name: Output<String>? = null, val nodeTypes: Output<List<ClusterNodeTypeArgs>>? = null, val reliabilityLevel: Output<String>? = null, val resourceGroupName: Output<String>? = null, val reverseProxyCertificate: Output<ClusterReverseProxyCertificateArgs>? = null, val reverseProxyCertificateCommonNames: Output<ClusterReverseProxyCertificateCommonNamesArgs>? = null, val serviceFabricZonalUpgradeMode: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val upgradeMode: Output<String>? = null, val upgradePolicy: Output<ClusterUpgradePolicyArgs>? = null, val vmImage: Output<String>? = null, val vmssZonalUpgradeMode: Output<String>? = null) : ConvertibleToJava<ClusterArgs>

Manages a Service Fabric Cluster.

Example Usage

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,
}],
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_cluster = azure.servicefabric.Cluster("example",
name="example-servicefabric",
resource_group_name=example.name,
location=example.location,
reliability_level="Bronze",
upgrade_mode="Manual",
cluster_code_version="7.1.456.959",
vm_image="Windows",
management_endpoint="https://example:80",
node_types=[{
"name": "first",
"instance_count": 3,
"is_primary": True,
"client_endpoint_port": 2020,
"http_endpoint_port": 80,
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleCluster = new Azure.ServiceFabric.Cluster("example", new()
{
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 = new[]
{
new Azure.ServiceFabric.Inputs.ClusterNodeTypeArgs
{
Name = "first",
InstanceCount = 3,
IsPrimary = true,
ClientEndpointPort = 2020,
HttpEndpointPort = 80,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicefabric"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = servicefabric.NewCluster(ctx, "example", &servicefabric.ClusterArgs{
Name: pulumi.String("example-servicefabric"),
ResourceGroupName: example.Name,
Location: example.Location,
ReliabilityLevel: pulumi.String("Bronze"),
UpgradeMode: pulumi.String("Manual"),
ClusterCodeVersion: pulumi.String("7.1.456.959"),
VmImage: pulumi.String("Windows"),
ManagementEndpoint: pulumi.String("https://example:80"),
NodeTypes: servicefabric.ClusterNodeTypeArray{
&servicefabric.ClusterNodeTypeArgs{
Name: pulumi.String("first"),
InstanceCount: pulumi.Int(3),
IsPrimary: pulumi.Bool(true),
ClientEndpointPort: pulumi.Int(2020),
HttpEndpointPort: pulumi.Int(80),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.servicefabric.Cluster;
import com.pulumi.azure.servicefabric.ClusterArgs;
import com.pulumi.azure.servicefabric.inputs.ClusterNodeTypeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
.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(ClusterNodeTypeArgs.builder()
.name("first")
.instanceCount(3)
.isPrimary(true)
.clientEndpointPort(2020)
.httpEndpointPort(80)
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleCluster:
type: azure:servicefabric:Cluster
name: example
properties:
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

Import

Service Fabric Clusters can be imported using the resource id, e.g.

$ pulumi import azure:servicefabric/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceFabric/clusters/cluster1

Constructors

Link copied to clipboard
constructor(addOnFeatures: Output<List<String>>? = null, azureActiveDirectory: Output<ClusterAzureActiveDirectoryArgs>? = null, certificate: Output<ClusterCertificateArgs>? = null, certificateCommonNames: Output<ClusterCertificateCommonNamesArgs>? = null, clientCertificateCommonNames: Output<List<ClusterClientCertificateCommonNameArgs>>? = null, clientCertificateThumbprints: Output<List<ClusterClientCertificateThumbprintArgs>>? = null, clusterCodeVersion: Output<String>? = null, diagnosticsConfig: Output<ClusterDiagnosticsConfigArgs>? = null, fabricSettings: Output<List<ClusterFabricSettingArgs>>? = null, location: Output<String>? = null, managementEndpoint: Output<String>? = null, name: Output<String>? = null, nodeTypes: Output<List<ClusterNodeTypeArgs>>? = null, reliabilityLevel: Output<String>? = null, resourceGroupName: Output<String>? = null, reverseProxyCertificate: Output<ClusterReverseProxyCertificateArgs>? = null, reverseProxyCertificateCommonNames: Output<ClusterReverseProxyCertificateCommonNamesArgs>? = null, serviceFabricZonalUpgradeMode: Output<String>? = null, tags: Output<Map<String, String>>? = null, upgradeMode: Output<String>? = null, upgradePolicy: Output<ClusterUpgradePolicyArgs>? = null, vmImage: Output<String>? = null, vmssZonalUpgradeMode: Output<String>? = null)

Properties

Link copied to clipboard
val addOnFeatures: Output<List<String>>? = null

A List of one or more features which should be enabled, such as DnsService.

Link copied to clipboard

An azure_active_directory block as defined below.

Link copied to clipboard
val certificate: Output<ClusterCertificateArgs>? = null

A certificate block as defined below. Conflicts with certificate_common_names.

Link copied to clipboard

A certificate_common_names block as defined below. Conflicts with certificate.

Link copied to clipboard

A client_certificate_common_name block as defined below.

Link copied to clipboard

One or more client_certificate_thumbprint blocks as defined below.

Link copied to clipboard
val clusterCodeVersion: Output<String>? = null

Required if Upgrade Mode set to Manual, Specifies the Version of the Cluster Code of the cluster.

Link copied to clipboard

A diagnostics_config block as defined below.

Link copied to clipboard

One or more fabric_settings blocks as defined below.

Link copied to clipboard
val location: Output<String>? = null

Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val managementEndpoint: Output<String>? = null

Specifies the Management Endpoint of the cluster such as http://example.com. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

The name of the Service Fabric Cluster. Changing this forces a new resource to be created.

Link copied to clipboard
val nodeTypes: Output<List<ClusterNodeTypeArgs>>? = null

One or more node_type blocks as defined below.

Link copied to clipboard
val reliabilityLevel: Output<String>? = null

Specifies the Reliability Level of the Cluster. Possible values include None, Bronze, Silver, Gold and Platinum.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created.

Link copied to clipboard

A reverse_proxy_certificate block as defined below. Conflicts with reverse_proxy_certificate_common_names.

Link copied to clipboard

A reverse_proxy_certificate_common_names block as defined below. Conflicts with reverse_proxy_certificate.

Link copied to clipboard

Specifies the logical grouping of VMs in upgrade domains. Possible values are Hierarchical or Parallel.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.

Link copied to clipboard
val upgradeMode: Output<String>? = null

Specifies the Upgrade Mode of the cluster. Possible values are Automatic or Manual.

Link copied to clipboard

A upgrade_policy block as defined below.

Link copied to clipboard
val vmImage: Output<String>? = null

Specifies the Image expected for the Service Fabric Cluster, such as Windows. Changing this forces a new resource to be created.

Link copied to clipboard
val vmssZonalUpgradeMode: Output<String>? = null

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.

Functions

Link copied to clipboard
open override fun toJava(): ClusterArgs