azurermServiceFabricManagedCluster
Manages a Resource Group.
Example Usage
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
new azurerm.serviceFabricManagedCluster.ServiceFabricManagedCluster(
this,
"example",
{
client_connection_port: 12345,
http_gateway_port: 4567,
lb_rule: [
{
backend_port: 38080,
frontend_port: 80,
probe_protocol: "http",
probe_request_path: "/test",
protocol: "tcp",
},
],
location: "West Europe",
name: "example",
node_type: [
{
application_port_range: "30000-49000",
data_disk_size_gb: 130,
ephemeral_port_range: "10000-20000",
name: "test1",
primary: true,
vm_image_offer: "WindowsServer",
vm_image_publisher: "MicrosoftWindowsServer",
vm_image_sku: "2019-Datacenter-with-Containers",
vm_image_version: "latest",
vm_instance_count: 5,
vm_size: "Standard_DS1_v2",
},
],
resource_group_name: "example",
}
);
Arguments Reference
The following arguments are supported:
-
clientConnectionPort
- (Required) Port to use when connecting to the cluster. -
httpGatewayPort
- (Required) Port that should be used by the Service Fabric Explorer to visualize applications and cluster status. -
lbRule
- (Required) One or morelbRule
blocks as defined below. -
location
- (Required) The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created. -
name
- (Required) The name which should be used for this Resource Group. Changing this forces a new Resource Group to be created. -
resourceGroupName
- (Required) The name of the Resource Group where the Resource Group should exist. Changing this forces a new Resource Group to be created.
-
authentication
- (Optional) Controls how connections to the cluster are authenticated. Aauthentication
block as defined below. -
backupServiceEnabled
- (Optional) If true, backup service is enabled. -
customFabricSetting
- (Optional) One or morecustomFabricSetting
blocks as defined below. -
dnsName
- (Optional) Hostname for the cluster. If unset the cluster's name will be used.. -
dnsServiceEnabled
- (Optional) If true, DNS service is enabled. -
nodeType
- (Optional) One or morenodeType
blocks as defined below. -
password
- (Optional) Administrator password for the VMs that will be created as part of this cluster. -
sku
- (Optional) SKU for this cluster. Changing this forces a new resource to be created. Default isbasic
, allowed values are eitherbasic
orstandard
. -
tags
- (Optional) A mapping of tags which should be assigned to the Resource Group. -
upgradeWave
- (Optional) Upgrade wave for the fabric runtime. Default iswave0
, allowed value must be one ofwave0
,wave1
, orwave2
. -
username
- (Optional) Administrator password for the VMs that will be created as part of this cluster.
A activeDirectory
block supports the following:
-
clientApplicationId
- (Required) The ID of the Client Application. -
clusterApplicationId
- (Required) The ID of the Cluster Application. -
tenantId
- (Required) The ID of the Tenant.
A authentication
block supports the following:
-
activeDirectory
- (Optional) AactiveDirectory
block as defined above. -
certificate
- (Optional) One or morecertificate
blocks as defined below.
A certificate
block supports the following:
-
thumbprint
- (Required) The thumbprint of the certificate. -
type
- (Required) The type of the certificate. Can beadminClient
orreadOnlyClient
. -
commonName
- (Optional) The certificate's CN.
A certificates
block supports the following:
-
store
- (Required) The certificate store on the Virtual Machine to which the certificate should be added. -
url
- (Required) The URL of a certificate that has been uploaded to Key Vault as a secret
A customFabricSetting
block supports the following:
-
parameter
- (Required) Parameter name. -
section
- (Required) Section name. -
value
- (Required) Parameter value.
A lbRule
block supports the following:
-
backendPort
- (Required) LB Backend port. -
frontendPort
- (Required) LB Frontend port. -
probeProtocol
- (Required) Protocol for the probe. Can be one oftcp
,udp
,http
, orhttps
. -
probeRequestPath
- (Optional) Path for the probe to check, when probe protocol is set tohttp
. -
protocol
- (Required) The transport protocol used in this rule. Can be one oftcp
orudp
.
A nodeType
block supports the following:
-
applicationPortRange
- (Required) Sets the port range available for applications. Format is<fromPort>-<toPort>
, for example1000020000
. -
dataDiskSizeGb
- (Required) The size of the data disk in gigabytes.. -
ephemeralPortRange
- (Required) Sets the port range available for the OS. Format is<fromPort>-<toPort>
, for example1000020000
. There has to be at least 255 ports available and cannot overlap withapplicationPortRange
.. -
name
- (Required) The name which should be used for this node type. -
vmImageOffer
- (Required) The offer type of the marketplace image cluster VMs will use. -
vmImagePublisher
- (Required) The publisher of the marketplace image cluster VMs will use. -
vmImageSku
- (Required) The SKU of the marketplace image cluster VMs will use. -
vmImageVersion
- (Required) The version of the marketplace image cluster VMs will use. -
vmInstanceCount
- (Required) The number of instances this node type will launch. -
vmSize
- (Required) The size of the instances in this node type. -
capacities
- (Optional) Specifies a list of key/value pairs used to set capacity tags for this node type. -
dataDiskType
- (Optional) The type of the disk to use for storing data. It can be one ofpremiumLrs
,standardLrs
, orstandardSsdLrs
. -
multiplePlacementGroupsEnabled
- (Optional) If set the node type can be composed of multiple placement groups. -
placementProperties
- (Optional) Specifies a list of placement tags that can be used to indicate where services should run.. -
primary
- (Optional) If set to true, system services will run on this node type. Only one node type should be marked as primary. Primary node type cannot be deleted or changed once they're created. -
stateless
- (Optional) If set to true, only stateless workloads can run on this node type. -
vmSecrets
- (Optional) One or morevmSecrets
blocks as defined below.
A vmSecrets
block supports the following:
-
certificates
- (Required) One or morecertificates
blocks as defined above. -
vaultId
- (Required) The ID of the Vault that contain the certificates.
Attributes Reference
In addition to the Arguments listed above - the following Attributes are exported:
id
- The ID of the Resource Group.
Timeouts
The timeouts
block allows you to specify timeouts for certain actions:
create
- (Defaults to 90 minutes) Used when creating the Resource Group.read
- (Defaults to 5 minutes) Used when retrieving the Resource Group.update
- (Defaults to 90 minutes) Used when updating the Resource Group.delete
- (Defaults to 90 minutes) Used when deleting the Resource Group.
Import
Resource Groups can be imported using the resourceId
, e.g.