azure-resource-manager-schemas/schemas/2022-10-01-preview/Microsoft.ServiceFabric.Man...

3435 строки
120 KiB
JSON
Исходник Постоянная ссылка Ответственный История

Этот файл содержит неоднозначные символы Юникода!

Этот файл содержит неоднозначные символы Юникода, которые могут быть перепутаны с другими в текущей локали. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы подсветить эти символы.

{
"id": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#",
"title": "Microsoft.ServiceFabric",
"description": "Microsoft ServiceFabric Resource Types",
"$schema": "http://json-schema.org/draft-04/schema#",
"resourceDefinitions": {
"managedClusters": {
"description": "Microsoft.ServiceFabric/managedClusters",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Azure resource location.",
"type": "string"
},
"name": {
"description": "The name of the cluster resource.",
"type": "string"
},
"properties": {
"description": "The managed cluster resource properties",
"oneOf": [
{
"$ref": "#/definitions/ManagedClusterProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"resources": {
"items": {
"oneOf": [
{
"$ref": "#/definitions/managedClusters_nodeTypes_childResource"
},
{
"$ref": "#/definitions/managedclusters_applications_childResource"
},
{
"$ref": "#/definitions/managedclusters_applicationTypes_childResource"
}
]
},
"type": "array"
},
"sku": {
"description": "The sku of the managed cluster",
"oneOf": [
{
"$ref": "#/definitions/Sku"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.ServiceFabric/managedClusters"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedClusters_nodeTypes": {
"description": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"name": {
"description": "The name of the node type.",
"type": "string"
},
"properties": {
"description": "The node type properties",
"oneOf": [
{
"$ref": "#/definitions/NodeTypeProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"sku": {
"description": "The node type sku.",
"oneOf": [
{
"$ref": "#/definitions/NodeTypeSku"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.ServiceFabric/managedClusters/nodeTypes"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applicationTypes": {
"description": "Microsoft.ServiceFabric/managedclusters/applicationTypes",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The name of the application type name resource.",
"type": "string"
},
"properties": {
"description": "The application type name properties",
"oneOf": [
{
"$ref": "#/definitions/ApplicationTypeResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"resources": {
"items": {
"oneOf": [
{
"$ref": "#/definitions/managedclusters_applicationTypes_versions_childResource"
}
]
},
"type": "array"
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.ServiceFabric/managedclusters/applicationTypes"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applicationTypes_versions": {
"description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The application type version.",
"type": "string"
},
"properties": {
"description": "The properties of the application type version resource.",
"oneOf": [
{
"$ref": "#/definitions/ApplicationTypeVersionResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.ServiceFabric/managedclusters/applicationTypes/versions"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applications": {
"description": "Microsoft.ServiceFabric/managedclusters/applications",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"identity": {
"description": "Describes the managed identities for an Azure resource.",
"oneOf": [
{
"$ref": "#/definitions/ManagedIdentity"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The name of the application resource.",
"type": "string"
},
"properties": {
"description": "The application resource properties.",
"oneOf": [
{
"$ref": "#/definitions/ApplicationResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"resources": {
"items": {
"oneOf": [
{
"$ref": "#/definitions/managedclusters_applications_services_childResource"
}
]
},
"type": "array"
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.ServiceFabric/managedclusters/applications"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applications_services": {
"description": "Microsoft.ServiceFabric/managedclusters/applications/services",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The name of the service resource in the format of {applicationName}~{serviceName}.",
"type": "string"
},
"properties": {
"description": "The service resource properties.",
"oneOf": [
{
"$ref": "#/definitions/ServiceResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.ServiceFabric/managedclusters/applications/services"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
},
"definitions": {
"ApplicationHealthPolicy": {
"description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n",
"properties": {
"considerWarningAsError": {
"description": "Indicates whether warnings are treated with the same severity as errors.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"defaultServiceTypeHealthPolicy": {
"description": "The health policy used by default to evaluate the health of a service type.",
"oneOf": [
{
"$ref": "#/definitions/ServiceTypeHealthPolicy"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"maxPercentUnhealthyDeployedApplications": {
"description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"serviceTypeHealthPolicyMap": {
"description": "The map with service type health policy per service type name. The map is empty by default.",
"oneOf": [
{
"additionalProperties": {
"$ref": "#/definitions/ServiceTypeHealthPolicy"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"considerWarningAsError",
"maxPercentUnhealthyDeployedApplications"
],
"type": "object"
},
"ApplicationResourceProperties": {
"description": "The application resource properties.",
"properties": {
"managedIdentities": {
"description": "List of user assigned identities for the application, each mapped to a friendly name.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ApplicationUserAssignedIdentity"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"parameters": {
"description": "List of application parameters with overridden values from their default values specified in the application manifest.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"upgradePolicy": {
"description": "Describes the policy for a monitored application upgrade.",
"oneOf": [
{
"$ref": "#/definitions/ApplicationUpgradePolicy"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"version": {
"description": "The version of the application type as defined in the application manifest.\nThis name must be the full Arm Resource ID for the referenced application type version.\n",
"type": "string"
}
},
"type": "object"
},
"ApplicationTypeResourceProperties": {
"description": "The application type name properties",
"properties": {},
"type": "object"
},
"ApplicationTypeVersionResourceProperties": {
"description": "The properties of the application type version resource.",
"properties": {
"appPackageUrl": {
"description": "The URL to the application package",
"type": "string"
}
},
"required": [
"appPackageUrl"
],
"type": "object"
},
"ApplicationTypeVersionsCleanupPolicy": {
"description": "The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3.",
"properties": {
"maxUnusedVersionsToKeep": {
"description": "Number of unused versions per application type to keep.",
"oneOf": [
{
"minimum": 0,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"maxUnusedVersionsToKeep"
],
"type": "object"
},
"ApplicationUpgradePolicy": {
"description": "Describes the policy for a monitored application upgrade.",
"properties": {
"applicationHealthPolicy": {
"description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n",
"oneOf": [
{
"$ref": "#/definitions/ApplicationHealthPolicy"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"forceRestart": {
"description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).",
"oneOf": [
{
"default": false,
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"instanceCloseDelayDuration": {
"description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"recreateApplication": {
"description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"rollingUpgradeMonitoringPolicy": {
"description": "The policy used for monitoring the application upgrade",
"oneOf": [
{
"$ref": "#/definitions/RollingUpgradeMonitoringPolicy"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"upgradeMode": {
"description": "The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.",
"oneOf": [
{
"enum": [
"Monitored",
"UnmonitoredAuto"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"upgradeReplicaSetCheckTimeout": {
"description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"ApplicationUserAssignedIdentity": {
"properties": {
"name": {
"description": "The friendly name of user assigned identity.",
"type": "string"
},
"principalId": {
"description": "The principal id of user assigned identity.",
"type": "string"
}
},
"required": [
"name",
"principalId"
],
"type": "object"
},
"AzureActiveDirectory": {
"description": "The settings to enable AAD authentication on the cluster.",
"properties": {
"clientApplication": {
"description": "Azure active directory client application id.",
"type": "string"
},
"clusterApplication": {
"description": "Azure active directory cluster application id.",
"type": "string"
},
"tenantId": {
"description": "Azure active directory tenant id.",
"type": "string"
}
},
"type": "object"
},
"ClientCertificate": {
"description": "Client certificate definition.",
"properties": {
"commonName": {
"description": "Certificate common name.",
"type": "string"
},
"isAdmin": {
"description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"issuerThumbprint": {
"description": "Issuer thumbprint for the certificate. Only used together with CommonName.",
"type": "string"
},
"thumbprint": {
"description": "Certificate thumbprint.",
"type": "string"
}
},
"required": [
"isAdmin"
],
"type": "object"
},
"EndpointRangeDescription": {
"description": "Port range details",
"properties": {
"endPort": {
"description": "End port of a range of ports",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"startPort": {
"description": "Starting port of a range of ports",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"startPort",
"endPort"
],
"type": "object"
},
"FrontendConfiguration": {
"description": "Describes the frontend configurations for the node type.",
"properties": {
"applicationGatewayBackendAddressPoolId": {
"description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/applicationGateways/<applicationGatewayName>/backendAddressPools/<backendAddressPoolName>'.",
"type": "string"
},
"ipAddressType": {
"description": "The IP address type of this frontend configuration. If omitted the default value is IPv4.",
"oneOf": [
{
"enum": [
"IPv4",
"IPv6"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"loadBalancerBackendAddressPoolId": {
"description": "The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/backendAddressPools/<backendAddressPoolName>'.",
"type": "string"
},
"loadBalancerInboundNatPoolId": {
"description": "The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/inboundNatPools/<inboundNatPoolName>'.",
"type": "string"
}
},
"type": "object"
},
"IPTag": {
"description": "IPTag associated with the object.",
"properties": {
"ipTagType": {
"description": "The IP tag type.",
"type": "string"
},
"tag": {
"description": "The value of the IP tag.",
"type": "string"
}
},
"required": [
"ipTagType",
"tag"
],
"type": "object"
},
"LoadBalancingRule": {
"description": "Describes a load balancing rule.",
"properties": {
"backendPort": {
"description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.",
"oneOf": [
{
"maximum": 65534,
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"frontendPort": {
"description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534.",
"oneOf": [
{
"maximum": 65534,
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"loadDistribution": {
"description": "The load distribution policy for this rule.",
"type": "string"
},
"probePort": {
"description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.",
"oneOf": [
{
"maximum": 65534,
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"probeProtocol": {
"description": "the reference to the load balancer probe used by the load balancing rule.",
"oneOf": [
{
"enum": [
"tcp",
"http",
"https"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"probeRequestPath": {
"description": "The probe request path. Only supported for HTTP/HTTPS probes.",
"type": "string"
},
"protocol": {
"description": "The reference to the transport protocol used by the load balancing rule.",
"oneOf": [
{
"enum": [
"tcp",
"udp"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"frontendPort",
"backendPort",
"protocol",
"probeProtocol"
],
"type": "object"
},
"ManagedClusterProperties": {
"description": "Describes the managed cluster resource properties.",
"properties": {
"addonFeatures": {
"description": "List of add-on features to enable on the cluster.",
"oneOf": [
{
"items": {
"enum": [
"DnsService",
"BackupRestoreService",
"ResourceMonitorService"
],
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"adminPassword": {
"description": "VM admin user password.",
"type": "string"
},
"adminUserName": {
"description": "VM admin user name.",
"type": "string"
},
"allowRdpAccess": {
"description": "Setting this to true enables RDP access to the VM. The default NSG rule opens RDP port to Internet which can be overridden with custom Network Security Rules. The default value for this setting is false.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"applicationTypeVersionsCleanupPolicy": {
"description": "The policy used to clean up unused versions.",
"oneOf": [
{
"$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"auxiliarySubnets": {
"description": "Auxiliary subnets for the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/Subnet"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"azureActiveDirectory": {
"description": "The AAD authentication settings of the cluster.",
"oneOf": [
{
"$ref": "#/definitions/AzureActiveDirectory"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"clientConnectionPort": {
"description": "The port used for client connections to the cluster.",
"oneOf": [
{
"default": 19000,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"clients": {
"description": "Client certificates that are allowed to manage the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ClientCertificate"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"clusterCodeVersion": {
"description": "The Service Fabric runtime version of the cluster. This property is required when **clusterUpgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**.",
"type": "string"
},
"clusterUpgradeCadence": {
"description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. Only applies when **clusterUpgradeMode** is set to 'Automatic'.",
"oneOf": [
{
"enum": [
"Wave0",
"Wave1",
"Wave2"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"clusterUpgradeMode": {
"description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n",
"oneOf": [
{
"enum": [
"Automatic",
"Manual"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"dnsName": {
"description": "The cluster dns name.",
"type": "string"
},
"enableAutoOSUpgrade": {
"description": "Setting this to true enables automatic OS upgrade for the node types that are created using any platform OS image with version 'latest'. The default value for this setting is false.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"enableIpv6": {
"description": "Setting this to true creates IPv6 address space for the default VNet used by the cluster. This setting cannot be changed once the cluster is created. The default value for this setting is false.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"enableServicePublicIP": {
"description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"fabricSettings": {
"description": "The list of custom fabric settings to configure the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/SettingsSectionDescription"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"httpGatewayConnectionPort": {
"description": "The port used for HTTP connections to the cluster.",
"oneOf": [
{
"default": 19080,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"ipTags": {
"description": "The list of IP tags associated with the default public IP address of the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/IPTag"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"loadBalancingRules": {
"description": "Load balancing rules that are applied to the public load balancer of the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/LoadBalancingRule"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"networkSecurityRules": {
"description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/NetworkSecurityRule"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"serviceEndpoints": {
"description": "Service endpoints for subnets in the cluster.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ServiceEndpoint"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"subnetId": {
"description": "If specified, the node types for the cluster are created in this subnet instead of the default VNet. The **networkSecurityRules** specified for the cluster are also applied to this subnet. This setting cannot be changed once the cluster is created.",
"type": "string"
},
"useCustomVnet": {
"description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"zonalResiliency": {
"description": "Indicates if the cluster has zone resiliency.",
"oneOf": [
{
"default": false,
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"zonalUpdateMode": {
"description": "Indicates the update mode for Cross Az clusters.",
"oneOf": [
{
"enum": [
"Standard",
"Fast"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"dnsName",
"adminUserName"
],
"type": "object"
},
"ManagedIdentity": {
"description": "Describes the managed identities for an Azure resource.",
"properties": {
"type": {
"description": "The type of managed identity for the resource.",
"oneOf": [
{
"enum": [
"None",
"SystemAssigned",
"UserAssigned",
"SystemAssigned, UserAssigned"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"userAssignedIdentities": {
"description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n",
"oneOf": [
{
"additionalProperties": {
"$ref": "#/definitions/UserAssignedIdentity"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"NetworkSecurityRule": {
"description": "Describes a network security rule.",
"properties": {
"access": {
"description": "The network traffic is allowed or denied.",
"oneOf": [
{
"enum": [
"allow",
"deny"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"description": {
"description": "Network security rule description.",
"type": "string"
},
"destinationAddressPrefix": {
"description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.",
"type": "string"
},
"destinationAddressPrefixes": {
"description": "The destination address prefixes. CIDR or destination IP ranges.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"destinationPortRange": {
"description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.",
"type": "string"
},
"destinationPortRanges": {
"description": "The destination port ranges.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"direction": {
"description": "Network security rule direction.",
"oneOf": [
{
"enum": [
"inbound",
"outbound"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"name": {
"description": "Network security rule name.",
"type": "string"
},
"priority": {
"description": "The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.",
"oneOf": [
{
"maximum": 3000,
"minimum": 1000,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"protocol": {
"description": "Network protocol this rule applies to.",
"oneOf": [
{
"enum": [
"http",
"https",
"tcp",
"udp",
"icmp",
"ah",
"esp"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"sourceAddressPrefix": {
"description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.",
"type": "string"
},
"sourceAddressPrefixes": {
"description": "The CIDR or source IP ranges.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"sourcePortRange": {
"description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.",
"type": "string"
},
"sourcePortRanges": {
"description": "The source port ranges.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name",
"protocol",
"access",
"priority",
"direction"
],
"type": "object"
},
"NodeTypeProperties": {
"description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster.",
"properties": {
"additionalDataDisks": {
"description": "Additional managed data disks.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/VmssDataDisk"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"applicationPorts": {
"description": "The range of ports from which cluster assigned port to Service Fabric applications.",
"oneOf": [
{
"$ref": "#/definitions/EndpointRangeDescription"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"capacities": {
"description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"dataDiskLetter": {
"description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.",
"oneOf": [
{
"pattern": "^[a-zA-Z]{1}$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"dataDiskSizeGB": {
"description": "Disk size for the managed disk attached to the vms on the node type in GBs.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"dataDiskType": {
"description": "Managed data disk type. Specifies the storage account type for the managed disk",
"oneOf": [
{
"enum": [
"Standard_LRS",
"StandardSSD_LRS",
"Premium_LRS"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"enableAcceleratedNetworking": {
"description": "Specifies whether the network interface is accelerated networking-enabled.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"enableEncryptionAtHost": {
"description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.",
"oneOf": [
{
"default": false,
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"enableOverProvisioning": {
"description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"ephemeralPorts": {
"description": "The range of ephemeral ports that nodes in this node type should be configured with.",
"oneOf": [
{
"$ref": "#/definitions/EndpointRangeDescription"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"evictionPolicy": {
"description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete.",
"oneOf": [
{
"enum": [
"Delete",
"Deallocate"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"frontendConfigurations": {
"description": "Indicates the node type uses its own frontend configurations instead of the default one for the cluster. This setting can only be specified for non-primary node types and can not be added or removed after the node type is created.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/FrontendConfiguration"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"hostGroupId": {
"description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts.",
"type": "string"
},
"isPrimary": {
"description": "Indicates the Service Fabric system services for the cluster will run on this node type. This setting cannot be changed once the node type is created.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"isSpotVM": {
"description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"isStateless": {
"description": "Indicates if the node type can only host Stateless workloads.",
"oneOf": [
{
"default": false,
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"multiplePlacementGroups": {
"description": "Indicates if scale set associated with the node type can be composed of multiple placement groups.",
"oneOf": [
{
"default": false,
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"networkSecurityRules": {
"description": "The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/NetworkSecurityRule"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"placementProperties": {
"description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"spotRestoreTimeout": {
"description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601.",
"type": "string"
},
"subnetId": {
"description": "Indicates the resource id of the subnet for the node type.",
"type": "string"
},
"useDefaultPublicLoadBalancer": {
"description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"useEphemeralOSDisk": {
"description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"useTempDataDisk": {
"description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vmExtensions": {
"description": "Set of extensions that should be installed onto the virtual machines.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/VmssExtension"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vmImageOffer": {
"description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer.",
"type": "string"
},
"vmImagePublisher": {
"description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer.",
"type": "string"
},
"vmImageResourceId": {
"description": "Indicates the resource id of the vm image. This parameter is used for custom vm image.",
"type": "string"
},
"vmImageSku": {
"description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter.",
"type": "string"
},
"vmImageVersion": {
"description": "The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.",
"type": "string"
},
"vmInstanceCount": {
"description": "The number of nodes in the node type. <br /><br />**Values:** <br />-1 - Use when auto scale rules are configured or sku.capacity is defined <br /> 0 - Not supported <br /> >0 - Use for manual scale.",
"oneOf": [
{
"maximum": 2147483647,
"minimum": -1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vmManagedIdentity": {
"description": "Identities to assign to the virtual machine scale set under the node type.",
"oneOf": [
{
"$ref": "#/definitions/VmManagedIdentity"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vmSecrets": {
"description": "The secrets to install in the virtual machines.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/VaultSecretGroup"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vmSetupActions": {
"description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime.",
"oneOf": [
{
"items": {
"enum": [
"EnableContainers",
"EnableHyperV"
],
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vmSize": {
"description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3.",
"type": "string"
},
"zones": {
"description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"isPrimary",
"vmInstanceCount"
],
"type": "object"
},
"NodeTypeSku": {
"description": "Describes a node type sku.",
"properties": {
"capacity": {
"description": "The number of nodes in the node type.<br /><br />If present in request it will override properties.vmInstanceCount.",
"oneOf": [
{
"maximum": 2147483647,
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"name": {
"description": "The sku name. <br /><br />Name is internally generated and is used in auto-scale scenarios.<br /> Property does not allow to be changed to other values than generated.<br /> To avoid deployment errors please omit the property.",
"type": "string"
},
"tier": {
"description": "Specifies the tier of the node type. <br /><br /> Possible Values:<br /> **Standard**",
"type": "string"
}
},
"required": [
"capacity"
],
"type": "object"
},
"Partition": {
"description": "Describes how the service is partitioned.",
"oneOf": [
{
"description": "Describes the named partition scheme of the service.",
"properties": {
"names": {
"description": "Array for the names of the partitions.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"partitionScheme": {
"enum": [
"Named"
],
"type": "string"
}
},
"required": [
"names",
"partitionScheme"
],
"type": "object"
},
{
"description": "SingletonPartitionScheme",
"properties": {
"partitionScheme": {
"enum": [
"Singleton"
],
"type": "string"
}
},
"required": [
"partitionScheme"
],
"type": "object"
},
{
"description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.",
"properties": {
"count": {
"description": "The number of partitions.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"highKey": {
"description": "The upper bound of the partition key range that\nshould be split between the partition Count\n",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"lowKey": {
"description": "The lower bound of the partition key range that\nshould be split between the partition Count\n",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"partitionScheme": {
"enum": [
"UniformInt64Range"
],
"type": "string"
}
},
"required": [
"count",
"lowKey",
"highKey",
"partitionScheme"
],
"type": "object"
}
],
"properties": {},
"type": "object"
},
"RollingUpgradeMonitoringPolicy": {
"description": "The policy used for monitoring the application upgrade",
"properties": {
"failureAction": {
"description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.",
"oneOf": [
{
"enum": [
"Rollback",
"Manual"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"healthCheckRetryTimeout": {
"description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\".",
"type": "string"
},
"healthCheckStableDuration": {
"description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\".",
"type": "string"
},
"healthCheckWaitDuration": {
"description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\".",
"type": "string"
},
"upgradeDomainTimeout": {
"description": "The amount of time each upgrade domain has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\".",
"type": "string"
},
"upgradeTimeout": {
"description": "The amount of time the overall upgrade has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\".",
"type": "string"
}
},
"required": [
"failureAction",
"healthCheckWaitDuration",
"healthCheckStableDuration",
"healthCheckRetryTimeout",
"upgradeTimeout",
"upgradeDomainTimeout"
],
"type": "object"
},
"ScalingMechanism": {
"description": "Describes the mechanism for performing a scaling operation.",
"oneOf": [
{
"description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.",
"properties": {
"kind": {
"enum": [
"AddRemoveIncrementalNamedPartition"
],
"type": "string"
},
"maxPartitionCount": {
"description": "Maximum number of named partitions of the service.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"minPartitionCount": {
"description": "Minimum number of named partitions of the service.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"scaleIncrement": {
"description": "The number of instances to add or remove during a scaling operation.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"minPartitionCount",
"maxPartitionCount",
"scaleIncrement",
"kind"
],
"type": "object"
},
{
"description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.",
"properties": {
"kind": {
"enum": [
"ScalePartitionInstanceCount"
],
"type": "string"
},
"maxInstanceCount": {
"description": "Maximum number of instances of the partition.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"minInstanceCount": {
"description": "Minimum number of instances of the partition.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"scaleIncrement": {
"description": "The number of instances to add or remove during a scaling operation.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"minInstanceCount",
"maxInstanceCount",
"scaleIncrement",
"kind"
],
"type": "object"
}
],
"properties": {},
"type": "object"
},
"ScalingPolicy": {
"description": "Specifies a metric to load balance a service during runtime.",
"properties": {
"scalingMechanism": {
"description": "Specifies the mechanism associated with this scaling policy",
"oneOf": [
{
"$ref": "#/definitions/ScalingMechanism"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"scalingTrigger": {
"description": "Specifies the trigger associated with this scaling policy.",
"oneOf": [
{
"$ref": "#/definitions/ScalingTrigger"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"scalingMechanism",
"scalingTrigger"
],
"type": "object"
},
"ScalingTrigger": {
"description": "Describes the trigger for performing a scaling operation.",
"oneOf": [
{
"description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.",
"properties": {
"kind": {
"enum": [
"AveragePartitionLoadTrigger"
],
"type": "string"
},
"lowerLoadThreshold": {
"description": "The lower limit of the load below which a scale in operation should be performed.",
"oneOf": [
{
"type": "number"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"metricName": {
"description": "The name of the metric for which usage should be tracked.",
"type": "string"
},
"scaleInterval": {
"description": "The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format \"hh:mm:ss\".",
"type": "string"
},
"upperLoadThreshold": {
"description": "The upper limit of the load beyond which a scale out operation should be performed.",
"oneOf": [
{
"type": "number"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"metricName",
"lowerLoadThreshold",
"upperLoadThreshold",
"scaleInterval",
"kind"
],
"type": "object"
},
{
"description": "Represents a scaling policy related to an average load of a metric/resource of a service.",
"properties": {
"kind": {
"enum": [
"AverageServiceLoadTrigger"
],
"type": "string"
},
"lowerLoadThreshold": {
"description": "The lower limit of the load below which a scale in operation should be performed.",
"oneOf": [
{
"type": "number"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"metricName": {
"description": "The name of the metric for which usage should be tracked.",
"type": "string"
},
"scaleInterval": {
"description": "The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format \"hh:mm:ss\".",
"type": "string"
},
"upperLoadThreshold": {
"description": "The upper limit of the load beyond which a scale out operation should be performed.",
"oneOf": [
{
"type": "number"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"useOnlyPrimaryLoad": {
"description": "Flag determines whether only the load of primary replica should be considered for scaling. If set to true, then trigger will only consider the load of primary replicas of stateful service. If set to false, trigger will consider load of all replicas. This parameter cannot be set to true for stateless service.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"metricName",
"lowerLoadThreshold",
"upperLoadThreshold",
"scaleInterval",
"useOnlyPrimaryLoad",
"kind"
],
"type": "object"
}
],
"properties": {},
"type": "object"
},
"ServiceCorrelation": {
"description": "Creates a particular correlation between services.",
"properties": {
"scheme": {
"description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName.",
"oneOf": [
{
"enum": [
"AlignedAffinity",
"NonAlignedAffinity"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"serviceName": {
"description": "The Arm Resource ID of the service that the correlation relationship is established with.",
"type": "string"
}
},
"required": [
"scheme",
"serviceName"
],
"type": "object"
},
"ServiceEndpoint": {
"description": "The service endpoint properties.",
"properties": {
"locations": {
"description": "A list of locations.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"service": {
"description": "The type of the endpoint service.",
"type": "string"
}
},
"required": [
"service"
],
"type": "object"
},
"ServiceLoadMetric": {
"description": "Specifies a metric to load balance a service during runtime.",
"properties": {
"defaultLoad": {
"description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"name": {
"description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive.",
"type": "string"
},
"primaryDefaultLoad": {
"description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"secondaryDefaultLoad": {
"description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"weight": {
"description": "The service load metric relative weight, compared to other metrics configured for this service, as a number.",
"oneOf": [
{
"enum": [
"Zero",
"Low",
"Medium",
"High"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name"
],
"type": "object"
},
"ServicePlacementPolicy": {
"description": "Describes the policy to be used for placement of a Service Fabric service.",
"oneOf": [
{
"description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.",
"properties": {
"domainName": {
"description": "The name of the domain that should not be used for placement.",
"type": "string"
},
"type": {
"enum": [
"InvalidDomain"
],
"type": "string"
}
},
"required": [
"domainName",
"type"
],
"type": "object"
},
{
"description": "ServicePlacementNonPartiallyPlaceServicePolicy",
"properties": {
"type": {
"enum": [
"NonPartiallyPlaceService"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
{
"description": "Describes the policy to be used for placement of a Service Fabric service where the service's \nPrimary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric\ncluster is geographically distributed in order to indicate that a service's primary replica should\nbe located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional\nor datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica\nmay not end up located in this domain due to failures, capacity limits, or other constraints.\n",
"properties": {
"domainName": {
"description": "The name of the domain that should used for placement as per this policy.",
"type": "string"
},
"type": {
"enum": [
"PreferredPrimaryDomain"
],
"type": "string"
}
},
"required": [
"domainName",
"type"
],
"type": "object"
},
{
"description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain.",
"properties": {
"domainName": {
"description": "The name of the domain that should used for placement as per this policy.",
"type": "string"
},
"type": {
"enum": [
"RequiredDomain"
],
"type": "string"
}
},
"required": [
"domainName",
"type"
],
"type": "object"
},
{
"description": "Describes the policy to be used for placement of a Service Fabric service where two replicas\nfrom the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures\ndue to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider\na case where replicas are deployed across different data center, with one replica per location.\nIn the event that one of the datacenters goes offline, normally the replica that was placed in that\ndatacenter will be packed into one of the remaining datacenters. If this is not desirable then this\npolicy should be set.\n",
"properties": {
"domainName": {
"description": "The name of the domain that should used for placement as per this policy.",
"type": "string"
},
"type": {
"enum": [
"RequiredDomainDistribution"
],
"type": "string"
}
},
"required": [
"domainName",
"type"
],
"type": "object"
}
],
"properties": {},
"type": "object"
},
"ServiceResourceProperties": {
"description": "The service resource properties.",
"oneOf": [
{
"description": "The properties of a stateful service resource.",
"properties": {
"hasPersistedState": {
"description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"minReplicaSetSize": {
"description": "The minimum replica set size as a number.",
"oneOf": [
{
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"quorumLossWaitDuration": {
"description": "The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format \"hh:mm:ss\".",
"type": "string"
},
"replicaRestartWaitDuration": {
"description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\".",
"type": "string"
},
"serviceKind": {
"enum": [
"Stateful"
],
"type": "string"
},
"servicePlacementTimeLimit": {
"description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\".",
"type": "string"
},
"standByReplicaKeepDuration": {
"description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\".",
"type": "string"
},
"targetReplicaSetSize": {
"description": "The target replica set size as a number.",
"oneOf": [
{
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"serviceKind"
],
"type": "object"
},
{
"description": "The properties of a stateless service resource.",
"properties": {
"instanceCount": {
"description": "The instance count.",
"oneOf": [
{
"minimum": -1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"minInstanceCount": {
"description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"minInstancePercentage": {
"description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"serviceKind": {
"enum": [
"Stateless"
],
"type": "string"
}
},
"required": [
"instanceCount",
"serviceKind"
],
"type": "object"
}
],
"properties": {
"correlationScheme": {
"description": "A list that describes the correlation of the service with other services.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ServiceCorrelation"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"defaultMoveCost": {
"description": "Specifies the move cost for the service.",
"oneOf": [
{
"enum": [
"Zero",
"Low",
"Medium",
"High"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"partitionDescription": {
"description": "Describes how the service is partitioned.",
"oneOf": [
{
"$ref": "#/definitions/Partition"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"placementConstraints": {
"description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\".",
"type": "string"
},
"scalingPolicies": {
"description": "Scaling policies for this service.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ScalingPolicy"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"serviceDnsName": {
"description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n",
"type": "string"
},
"serviceLoadMetrics": {
"description": "The service load metrics is given as an array of ServiceLoadMetric objects.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ServiceLoadMetric"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"servicePackageActivationMode": {
"description": "The activation Mode of the service package",
"oneOf": [
{
"enum": [
"SharedProcess",
"ExclusiveProcess"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"servicePlacementPolicies": {
"description": "A list that describes the correlation of the service with other services.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ServicePlacementPolicy"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"serviceTypeName": {
"description": "The name of the service type",
"type": "string"
}
},
"required": [
"serviceTypeName",
"partitionDescription"
],
"type": "object"
},
"ServiceTypeHealthPolicy": {
"description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n",
"properties": {
"maxPercentUnhealthyPartitionsPerService": {
"description": "The maximum allowed percentage of unhealthy partitions per service.\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions.\n",
"oneOf": [
{
"maximum": 100,
"minimum": 0,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"maxPercentUnhealthyReplicasPerPartition": {
"description": "The maximum allowed percentage of unhealthy replicas per partition.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas.\n",
"oneOf": [
{
"maximum": 100,
"minimum": 0,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"maxPercentUnhealthyServices": {
"description": "The maximum allowed percentage of unhealthy services.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services.\n",
"oneOf": [
{
"maximum": 100,
"minimum": 0,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"maxPercentUnhealthyServices",
"maxPercentUnhealthyPartitionsPerService",
"maxPercentUnhealthyReplicasPerPartition"
],
"type": "object"
},
"SettingsParameterDescription": {
"description": "Describes a parameter in fabric settings of the cluster.",
"properties": {
"name": {
"description": "The parameter name of fabric setting.",
"type": "string"
},
"value": {
"description": "The parameter value of fabric setting.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"SettingsSectionDescription": {
"description": "Describes a section in the fabric settings of the cluster.",
"properties": {
"name": {
"description": "The section name of the fabric settings.",
"type": "string"
},
"parameters": {
"description": "The collection of parameters in the section.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/SettingsParameterDescription"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name",
"parameters"
],
"type": "object"
},
"Sku": {
"description": "Service Fabric managed cluster Sku definition",
"properties": {
"name": {
"description": "Sku Name.",
"oneOf": [
{
"enum": [
"Basic",
"Standard"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name"
],
"type": "object"
},
"SubResource": {
"description": "Azure resource identifier.",
"properties": {
"id": {
"description": "Azure resource identifier.",
"type": "string"
}
},
"type": "object"
},
"Subnet": {
"description": "Describes a Subnet.",
"properties": {
"enableIpv6": {
"description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"name": {
"description": "Subnet name.",
"type": "string"
},
"networkSecurityGroupId": {
"description": "Full resource id for the network security group.",
"type": "string"
},
"privateEndpointNetworkPolicies": {
"description": "Enable or Disable apply network policies on private end point in the subnet.",
"oneOf": [
{
"enum": [
"enabled",
"disabled"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"privateLinkServiceNetworkPolicies": {
"description": "Enable or Disable apply network policies on private link service in the subnet.",
"oneOf": [
{
"enum": [
"enabled",
"disabled"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name"
],
"type": "object"
},
"UserAssignedIdentity": {
"properties": {},
"type": "object"
},
"VaultCertificate": {
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.",
"properties": {
"certificateStore": {
"description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. <br><br>For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.",
"type": "string"
},
"certificateUrl": {
"description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> \"data\":\"<Base64-encoded-certificate>\",<br> \"dataType\":\"pfx\",<br> \"password\":\"<pfx-file-password>\"<br>}",
"type": "string"
}
},
"required": [
"certificateUrl",
"certificateStore"
],
"type": "object"
},
"VaultSecretGroup": {
"description": "Specifies set of certificates that should be installed onto the virtual machines.",
"properties": {
"sourceVault": {
"description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates.",
"oneOf": [
{
"$ref": "#/definitions/SubResource"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"vaultCertificates": {
"description": "The list of key vault references in SourceVault which contain certificates.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/VaultCertificate"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"sourceVault",
"vaultCertificates"
],
"type": "object"
},
"VmManagedIdentity": {
"description": "Identities for the virtual machine scale set under the node type.",
"properties": {
"userAssignedIdentities": {
"description": "The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"VmssDataDisk": {
"description": "Managed data disk description.",
"properties": {
"diskLetter": {
"description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.",
"oneOf": [
{
"pattern": "^[a-zA-Z]{1}$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"diskSizeGB": {
"description": "Disk size for each vm in the node type in GBs.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"diskType": {
"description": "Managed data disk type. Specifies the storage account type for the managed disk",
"oneOf": [
{
"enum": [
"Standard_LRS",
"StandardSSD_LRS",
"Premium_LRS"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"lun": {
"description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk.",
"oneOf": [
{
"minimum": 1,
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"lun",
"diskSizeGB",
"diskType",
"diskLetter"
],
"type": "object"
},
"VmssExtension": {
"description": "Specifies set of extensions that should be installed onto the virtual machines.",
"properties": {
"name": {
"description": "The name of the extension.",
"type": "string"
},
"properties": {
"description": "Describes the properties of a Virtual Machine Scale Set Extension.",
"oneOf": [
{
"$ref": "#/definitions/VmssExtensionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name",
"properties"
],
"type": "object"
},
"VmssExtensionProperties": {
"description": "Describes the properties of a Virtual Machine Scale Set Extension.",
"properties": {
"autoUpgradeMinorVersion": {
"description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"enableAutomaticUpgrade": {
"description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"forceUpdateTag": {
"description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.",
"type": "string"
},
"protectedSettings": {
"description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.",
"oneOf": [
{
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"provisionAfterExtensions": {
"description": "Collection of extension names after which this extension needs to be provisioned.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"publisher": {
"description": "The name of the extension handler publisher.",
"type": "string"
},
"settings": {
"description": "Json formatted public settings for the extension.",
"oneOf": [
{
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"description": "Specifies the type of the extension; an example is \"CustomScriptExtension\".",
"type": "string"
},
"typeHandlerVersion": {
"description": "Specifies the version of the script handler.",
"type": "string"
}
},
"required": [
"publisher",
"type",
"typeHandlerVersion"
],
"type": "object"
},
"managedClusters_nodeTypes_childResource": {
"description": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"name": {
"description": "The name of the node type.",
"type": "string"
},
"properties": {
"description": "The node type properties",
"oneOf": [
{
"$ref": "#/definitions/NodeTypeProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"sku": {
"description": "The node type sku.",
"oneOf": [
{
"$ref": "#/definitions/NodeTypeSku"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"nodeTypes"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applicationTypes_childResource": {
"description": "Microsoft.ServiceFabric/managedclusters/applicationTypes",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The name of the application type name resource.",
"type": "string"
},
"properties": {
"description": "The application type name properties",
"oneOf": [
{
"$ref": "#/definitions/ApplicationTypeResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"applicationTypes"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applicationTypes_versions_childResource": {
"description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The application type version.",
"type": "string"
},
"properties": {
"description": "The properties of the application type version resource.",
"oneOf": [
{
"$ref": "#/definitions/ApplicationTypeVersionResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"versions"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applications_childResource": {
"description": "Microsoft.ServiceFabric/managedclusters/applications",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"identity": {
"description": "Describes the managed identities for an Azure resource.",
"oneOf": [
{
"$ref": "#/definitions/ManagedIdentity"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The name of the application resource.",
"type": "string"
},
"properties": {
"description": "The application resource properties.",
"oneOf": [
{
"$ref": "#/definitions/ApplicationResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"applications"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"managedclusters_applications_services_childResource": {
"description": "Microsoft.ServiceFabric/managedclusters/applications/services",
"properties": {
"apiVersion": {
"enum": [
"2022-10-01-preview"
],
"type": "string"
},
"location": {
"description": "Resource location depends on the parent resource.",
"type": "string"
},
"name": {
"description": "The name of the service resource in the format of {applicationName}~{serviceName}.",
"type": "string"
},
"properties": {
"description": "The service resource properties.",
"oneOf": [
{
"$ref": "#/definitions/ServiceResourceProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"tags": {
"description": "Azure resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"services"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
}
}