From aaddd2fbd4db1f44906239e489bd51a3c5bd9571 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Wed, 22 Sep 2021 06:40:02 +0000 Subject: [PATCH] CodeGen from PR 16049 in Azure/azure-rest-api-specs 2021-09-01-privatepreview and rename folder to match resource provider name Microsoft.ServiceFabric (#16049) Co-authored-by: Alfredo Santamaria Gomez --- .../2016-09-01/Microsoft.ServiceFabric.json | 763 ------ .../Microsoft.ServiceFabric.json | 1864 ------------- .../2018-02-01/Microsoft.ServiceFabric.json | 990 ------- .../Microsoft.ServiceFabric.json | 2166 --------------- .../2019-03-01/Microsoft.ServiceFabric.json | 2166 --------------- .../Microsoft.ServiceFabric.json | 2265 ---------------- .../Microsoft.ServiceFabric.json | 2331 ----------------- .../Microsoft.ServiceFabric.json | 842 ------ .../Microsoft.ServiceFabric.json | 1672 ++++++------ .../Microsoft.ServiceFabric.json | 1779 +++++++------ .../Microsoft.ServiceFabric.json | 1794 +++++++------ schemas/common/autogeneratedResources.json | 114 +- 12 files changed, 2886 insertions(+), 15860 deletions(-) delete mode 100644 schemas/2016-09-01/Microsoft.ServiceFabric.json delete mode 100644 schemas/2017-07-01-preview/Microsoft.ServiceFabric.json delete mode 100644 schemas/2018-02-01/Microsoft.ServiceFabric.json delete mode 100644 schemas/2019-03-01-preview/Microsoft.ServiceFabric.json delete mode 100644 schemas/2019-03-01/Microsoft.ServiceFabric.json delete mode 100644 schemas/2019-06-01-preview/Microsoft.ServiceFabric.json delete mode 100644 schemas/2019-11-01-preview/Microsoft.ServiceFabric.json delete mode 100644 schemas/2020-01-01-preview/Microsoft.ServiceFabric.json rename schemas/{2020-12-01-preview => 2021-01-01-preview}/Microsoft.ServiceFabric.json (67%) rename schemas/{2020-03-01 => 2021-05-01}/Microsoft.ServiceFabric.json (64%) rename schemas/{2021-06-01 => 2021-07-01-preview}/Microsoft.ServiceFabric.json (68%) diff --git a/schemas/2016-09-01/Microsoft.ServiceFabric.json b/schemas/2016-09-01/Microsoft.ServiceFabric.json deleted file mode 100644 index 54d2a93d5c..0000000000 --- a/schemas/2016-09-01/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,763 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2016-09-01/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The cluster resource properties" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - } - }, - "definitions": { - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id" - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id" - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id" - } - }, - "description": "The settings to enable AAD authentication on the cluster" - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate" - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate" - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Certificate details" - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "Certificate common name to be granted access; be careful using wild card common names" - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "Certificate issuer thumbprint" - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Is this certificate used for admin access from the client, if false , it is used or query only access" - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Client certificate details using common name" - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "Certificate thumbprint" - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Is this certificate used for admin access from the client, if false, it is used or query only access" - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Client certificate details using thumbprint" - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10. " - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10. " - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." - }, - "ClusterProperties": { - "type": "object", - "properties": { - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster" - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Certificate details" - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": " List of client certificates to whitelist based on common names" - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The client thumbprint details ,it is used for client access for cluster operation" - }, - "clusterCodeVersion": { - "type": "string", - "description": "The ServiceFabric code version running in your cluster" - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Diagnostics storage account config" - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster" - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types that make up the cluster" - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Cluster reliability level indicates replica set size of system service." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Certificate details" - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Cluster upgrade policy" - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Cluster upgrade mode indicates if fabric upgrade is initiated automatically by the system or not." - }, - "vmImage": { - "type": "string", - "description": "The name of VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "The cluster resource properties" - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional unhealthy applications percentage" - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional unhealthy nodes percentage" - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional unhealthy nodes percentage per upgrade domain " - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Delta health policy for the cluster" - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Delta health policy for the cluster" - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Force node to restart or not" - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The length of time that health checks can fail continuously,it represents .Net TimeSpan" - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The length of time that health checks must pass continuously,it represents .Net TimeSpan" - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks, it represents .Net TimeSpan" - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." - }, - "overrideUserUpgradePolicy": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Use the user defined upgrade policy or not" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The timeout for any upgrade domain,it represents .Net TimeSpan" - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "description": "Timeout for replica set upgrade to complete,it represents .Net TimeSpan" - }, - "upgradeTimeout": { - "type": "string", - "description": "The upgrade timeout,it represents .Net TimeSpan" - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Cluster upgrade policy" - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "Diagnostics storage account blob endpoint" - }, - "protectedAccountKeyName": { - "type": "string", - "description": "Protected Diagnostics storage key name" - }, - "queueEndpoint": { - "type": "string", - "description": "Diagnostics storage account queue endpoint" - }, - "storageAccountName": { - "type": "string", - "description": "Diagnostics storage account name" - }, - "tableEndpoint": { - "type": "string", - "description": "Diagnostics storage account table endpoint" - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "Diagnostics storage account config" - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much of a resource a node has" - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port" - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Node type durability Level." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port" - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Mark this as the primary node type" - }, - "name": { - "type": "string", - "description": "Name of the node type" - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run" - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Endpoint used by reverse proxy" - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of node instances in the node type" - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster" - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of settings property" - }, - "value": { - "type": "string", - "description": "The value of the property" - } - }, - "required": [ - "name", - "value" - ], - "description": "ServiceFabric settings under sections" - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of settings section" - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Collection of settings in the section, each setting is a tuple consisting of setting name and value" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "ServiceFabric section settings" - } - } -} \ No newline at end of file diff --git a/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json b/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json deleted file mode 100644 index b55990487d..0000000000 --- a/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,1864 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the cluster resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_childResource" - }, - { - "$ref": "#/definitions/clusters_applications_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - }, - "clusters_applications": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applications_services_childResource" - } - ] - } - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" - } - ] - } - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationMetricDescription": { - "type": "object", - "properties": { - "MaximumCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" - }, - "Name": { - "type": "string", - "description": "The name of the metric." - }, - "ReservationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" - }, - "TotalApplicationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" - } - }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" - }, - "ApplicationResourceProperties": { - "type": "object", - "properties": { - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, - "parameters": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application parameters with overridden values from their default values specified in the application manifest." - }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, - "upgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy for a monitored application upgrade." - } - }, - "description": "The application resource properties." - }, - "ApplicationTypeResourceProperties": { - "type": "object", - "properties": {}, - "description": "The application type name properties" - }, - "ApplicationTypeVersionResourceProperties": { - "type": "object", - "properties": { - "appPackageUrl": { - "type": "string", - "description": "The URL to the application package" - } - }, - "required": [ - "appPackageUrl" - ], - "description": "The properties of the application type version resource." - }, - "ApplicationUpgradePolicy": { - "type": "object", - "properties": { - "applicationHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmApplicationHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "rollingUpgradeMonitoringPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy used for monitoring the application upgrade" - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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)." - } - }, - "description": "Describes the policy for a monitored application upgrade." - }, - "ArmApplicationHealthPolicy": { - "type": "object", - "properties": { - "ConsiderWarningAsError": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether warnings are treated with the same severity as errors." - }, - "DefaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "MaxPercentUnhealthyDeployedApplications": { - "oneOf": [ - { - "type": "integer", - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - }, - "ServiceTypeHealthPolicyMap": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Rollback", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - } - }, - "description": "The policy used for monitoring the application upgrade" - }, - "ArmServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyPartitionsPerService": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyReplicasPerPartition": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10. " - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10. " - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." - }, - "ClusterProperties": { - "type": "object", - "properties": { - "addOnFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "RepairManager", - "DnsService", - "BackupRestoreService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of add-on features to enable in the cluster." - }, - "availableClusterVersions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClusterVersionDetails" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The Service Fabric runtime versions available for this cluster." - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "clusterState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "WaitingForNodes", - "Deploying", - "BaselineUpgrade", - "UpdatingUserConfiguration", - "UpdatingUserCertificate", - "UpdatingInfrastructure", - "EnforcingClusterVersion", - "UpgradeServiceUnreachable", - "AutoScale", - "Ready" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "Describes the cluster resource properties." - }, - "clusters_applications_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "type": { - "type": "string", - "enum": [ - "applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "type": { - "type": "string", - "enum": [ - "services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "type": { - "type": "string", - "enum": [ - "applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-07-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades. The delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this." - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits." - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. " - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "ClusterVersionDetails": { - "type": "object", - "properties": { - "codeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster." - }, - "environment": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if this version is for Windows or Linux operating system." - }, - "supportExpiryUtc": { - "type": "string", - "description": "The date of expiry of support of the version." - } - }, - "description": "The detail of the Service Fabric runtime version result" - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port." - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port." - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The endpoint used by reverse proxy." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "PartitionSchemeDescription": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" - } - ], - "properties": {}, - "description": "Describes how the service is partitioned." - }, - "ServiceCorrelationDescription": { - "type": "object", - "properties": { - "Scheme": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Affinity", - "AlignedAffinity", - "NonAlignedAffinity" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." - }, - "ServiceName": { - "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." - } - }, - "required": [ - "Scheme", - "ServiceName" - ], - "description": "Creates a particular correlation between services." - }, - "ServiceLoadMetricDescription": { - "type": "object", - "properties": { - "DefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." - }, - "Name": { - "type": "string", - "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." - }, - "PrimaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "SecondaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "Weight": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." - } - }, - "required": [ - "Name" - ], - "description": "Specifies a metric to load balance a service during runtime." - }, - "ServicePlacementPolicyDescription": { - "type": "object", - "properties": {}, - "description": "Describes the policy to be used for placement of a Service Fabric service." - }, - "ServiceResourceProperties": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/StatefulServiceProperties" - }, - { - "$ref": "#/definitions/StatelessServiceProperties" - } - ], - "properties": { - "correlationScheme": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "defaultMoveCost": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the move cost for the service." - }, - "partitionDescription": { - "oneOf": [ - { - "$ref": "#/definitions/PartitionSchemeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes how the service is partitioned." - }, - "placementConstraints": { - "type": "string", - "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)\"." - }, - "serviceLoadMetrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." - }, - "servicePlacementPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "serviceTypeName": { - "type": "string", - "description": "The name of the service type" - } - }, - "description": "The service resource properties." - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - }, - "SingletonPartitionSchemeDescription": { - "type": "object", - "properties": { - "PartitionScheme": { - "type": "string", - "enum": [ - "Singleton" - ] - } - }, - "required": [ - "PartitionScheme" - ], - "description": "SingletonPartitionSchemeDescription" - }, - "StatefulServiceProperties": { - "type": "object", - "properties": { - "hasPersistedState": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "minReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum replica set size as a number." - }, - "quorumLossWaitDuration": { - "type": "string", - "format": "date-time", - "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.s)." - }, - "replicaRestartWaitDuration": { - "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateful" - ] - }, - "standByReplicaKeepDuration": { - "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "targetReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The target replica set size as a number." - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateful service resource." - }, - "StatelessServiceProperties": { - "type": "object", - "properties": { - "instanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": -1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The instance count." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateless" - ] - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateless service resource." - } - } -} \ No newline at end of file diff --git a/schemas/2018-02-01/Microsoft.ServiceFabric.json b/schemas/2018-02-01/Microsoft.ServiceFabric.json deleted file mode 100644 index 1e92fe485d..0000000000 --- a/schemas/2018-02-01/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,990 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2018-02-01/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2018-02-01" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the cluster resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "serviceTypeDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "serviceTypeHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "ClusterProperties": { - "type": "object", - "properties": { - "addOnFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "RepairManager", - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of add-on features to enable in the cluster." - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "certificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "reverseProxyCertificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "Describes the cluster resource properties." - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "applicationDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port." - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM SKUs like D15_V2, G5 etc.\n." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port." - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The endpoint used by reverse proxy." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "ServerCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the server certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the server certificate." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" - ], - "description": "Describes the server certificate details using common name." - }, - "ServerCertificateCommonNames": { - "type": "object", - "properties": { - "commonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "ServiceTypeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - } - } -} \ No newline at end of file diff --git a/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json b/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json deleted file mode 100644 index 11111ab100..0000000000 --- a/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,2166 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the cluster resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_childResource" - }, - { - "$ref": "#/definitions/clusters_applications_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - }, - "clusters_applications": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applications_services_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "serviceTypeDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "serviceTypeHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { - "type": "object", - "properties": { - "maximumCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" - }, - "name": { - "type": "string", - "description": "The name of the metric." - }, - "reservationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" - }, - "totalApplicationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" - } - }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" - }, - "ApplicationResourceProperties": { - "type": "object", - "properties": { - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, - "parameters": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application parameters with overridden values from their default values specified in the application manifest." - }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, - "upgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy for a monitored application upgrade." - } - }, - "description": "The application resource properties." - }, - "ApplicationTypeResourceProperties": { - "type": "object", - "properties": {}, - "description": "The application type name properties" - }, - "ApplicationTypeVersionResourceProperties": { - "type": "object", - "properties": { - "appPackageUrl": { - "type": "string", - "description": "The URL to the application package" - } - }, - "required": [ - "appPackageUrl" - ], - "description": "The properties of the application type version resource." - }, - "ApplicationUpgradePolicy": { - "type": "object", - "properties": { - "applicationHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmApplicationHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "rollingUpgradeMonitoringPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy used for monitoring the application upgrade" - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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)." - } - }, - "description": "Describes the policy for a monitored application upgrade." - }, - "ArmApplicationHealthPolicy": { - "type": "object", - "properties": { - "considerWarningAsError": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether warnings are treated with the same severity as errors." - }, - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "maxPercentUnhealthyDeployedApplications": { - "oneOf": [ - { - "type": "integer", - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - }, - "serviceTypeHealthPolicyMap": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Rollback", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - } - }, - "description": "The policy used for monitoring the application upgrade" - }, - "ArmServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyPartitionsPerService": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyReplicasPerPartition": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "ClusterProperties": { - "type": "object", - "properties": { - "addOnFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "RepairManager", - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of add-on features to enable in the cluster." - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "certificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "eventStoreServiceEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the event store service is enabled." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "reverseProxyCertificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "Describes the cluster resource properties." - }, - "clusters_applications_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "applicationDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port." - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port." - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The endpoint used by reverse proxy." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "PartitionSchemeDescription": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" - } - ], - "properties": {}, - "description": "Describes how the service is partitioned." - }, - "ServerCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the server certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the server certificate." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" - ], - "description": "Describes the server certificate details using common name." - }, - "ServerCertificateCommonNames": { - "type": "object", - "properties": { - "commonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "ServiceCorrelationDescription": { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Affinity", - "AlignedAffinity", - "NonAlignedAffinity" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." - }, - "serviceName": { - "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." - } - }, - "required": [ - "scheme", - "serviceName" - ], - "description": "Creates a particular correlation between services." - }, - "ServiceLoadMetricDescription": { - "type": "object", - "properties": { - "defaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." - }, - "name": { - "type": "string", - "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." - }, - "primaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "secondaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "weight": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." - } - }, - "required": [ - "name" - ], - "description": "Specifies a metric to load balance a service during runtime." - }, - "ServicePlacementPolicyDescription": { - "type": "object", - "properties": {}, - "description": "Describes the policy to be used for placement of a Service Fabric service." - }, - "ServiceResourceProperties": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/StatefulServiceProperties" - }, - { - "$ref": "#/definitions/StatelessServiceProperties" - } - ], - "properties": { - "correlationScheme": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "defaultMoveCost": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the move cost for the service." - }, - "partitionDescription": { - "oneOf": [ - { - "$ref": "#/definitions/PartitionSchemeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes how the service is partitioned." - }, - "placementConstraints": { - "type": "string", - "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)\"." - }, - "serviceLoadMetrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." - }, - "servicePackageActivationMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SharedProcess", - "ExclusiveProcess" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "servicePlacementPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "serviceTypeName": { - "type": "string", - "description": "The name of the service type" - } - }, - "description": "The service resource properties." - }, - "ServiceTypeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - }, - "SingletonPartitionSchemeDescription": { - "type": "object", - "properties": { - "partitionScheme": { - "type": "string", - "enum": [ - "Singleton" - ] - } - }, - "required": [ - "partitionScheme" - ], - "description": "SingletonPartitionSchemeDescription" - }, - "StatefulServiceProperties": { - "type": "object", - "properties": { - "hasPersistedState": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "minReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum replica set size as a number." - }, - "quorumLossWaitDuration": { - "type": "string", - "format": "date-time", - "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.s)." - }, - "replicaRestartWaitDuration": { - "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateful" - ] - }, - "standByReplicaKeepDuration": { - "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "targetReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The target replica set size as a number." - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateful service resource." - }, - "StatelessServiceProperties": { - "type": "object", - "properties": { - "instanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": -1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The instance count." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateless" - ] - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateless service resource." - } - } -} \ No newline at end of file diff --git a/schemas/2019-03-01/Microsoft.ServiceFabric.json b/schemas/2019-03-01/Microsoft.ServiceFabric.json deleted file mode 100644 index 8beacb4d44..0000000000 --- a/schemas/2019-03-01/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,2166 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the cluster resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_childResource" - }, - { - "$ref": "#/definitions/clusters_applications_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - }, - "clusters_applications": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applications_services_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "serviceTypeDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "serviceTypeHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { - "type": "object", - "properties": { - "maximumCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" - }, - "name": { - "type": "string", - "description": "The name of the metric." - }, - "reservationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" - }, - "totalApplicationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" - } - }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" - }, - "ApplicationResourceProperties": { - "type": "object", - "properties": { - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, - "parameters": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application parameters with overridden values from their default values specified in the application manifest." - }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, - "upgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy for a monitored application upgrade." - } - }, - "description": "The application resource properties." - }, - "ApplicationTypeResourceProperties": { - "type": "object", - "properties": {}, - "description": "The application type name properties" - }, - "ApplicationTypeVersionResourceProperties": { - "type": "object", - "properties": { - "appPackageUrl": { - "type": "string", - "description": "The URL to the application package" - } - }, - "required": [ - "appPackageUrl" - ], - "description": "The properties of the application type version resource." - }, - "ApplicationUpgradePolicy": { - "type": "object", - "properties": { - "applicationHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmApplicationHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "rollingUpgradeMonitoringPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy used for monitoring the application upgrade" - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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)." - } - }, - "description": "Describes the policy for a monitored application upgrade." - }, - "ArmApplicationHealthPolicy": { - "type": "object", - "properties": { - "considerWarningAsError": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether warnings are treated with the same severity as errors." - }, - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "maxPercentUnhealthyDeployedApplications": { - "oneOf": [ - { - "type": "integer", - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - }, - "serviceTypeHealthPolicyMap": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Rollback", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - } - }, - "description": "The policy used for monitoring the application upgrade" - }, - "ArmServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyPartitionsPerService": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyReplicasPerPartition": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "ClusterProperties": { - "type": "object", - "properties": { - "addOnFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "RepairManager", - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of add-on features to enable in the cluster." - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "certificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "eventStoreServiceEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the event store service is enabled." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "reverseProxyCertificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "Describes the cluster resource properties." - }, - "clusters_applications_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "applicationDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port." - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port." - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The endpoint used by reverse proxy." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "PartitionSchemeDescription": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" - } - ], - "properties": {}, - "description": "Describes how the service is partitioned." - }, - "ServerCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the server certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the server certificate." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" - ], - "description": "Describes the server certificate details using common name." - }, - "ServerCertificateCommonNames": { - "type": "object", - "properties": { - "commonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "ServiceCorrelationDescription": { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Affinity", - "AlignedAffinity", - "NonAlignedAffinity" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." - }, - "serviceName": { - "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." - } - }, - "required": [ - "scheme", - "serviceName" - ], - "description": "Creates a particular correlation between services." - }, - "ServiceLoadMetricDescription": { - "type": "object", - "properties": { - "defaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." - }, - "name": { - "type": "string", - "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." - }, - "primaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "secondaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "weight": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." - } - }, - "required": [ - "name" - ], - "description": "Specifies a metric to load balance a service during runtime." - }, - "ServicePlacementPolicyDescription": { - "type": "object", - "properties": {}, - "description": "Describes the policy to be used for placement of a Service Fabric service." - }, - "ServiceResourceProperties": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/StatefulServiceProperties" - }, - { - "$ref": "#/definitions/StatelessServiceProperties" - } - ], - "properties": { - "correlationScheme": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "defaultMoveCost": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the move cost for the service." - }, - "partitionDescription": { - "oneOf": [ - { - "$ref": "#/definitions/PartitionSchemeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes how the service is partitioned." - }, - "placementConstraints": { - "type": "string", - "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)\"." - }, - "serviceLoadMetrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." - }, - "servicePackageActivationMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SharedProcess", - "ExclusiveProcess" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "servicePlacementPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "serviceTypeName": { - "type": "string", - "description": "The name of the service type" - } - }, - "description": "The service resource properties." - }, - "ServiceTypeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - }, - "SingletonPartitionSchemeDescription": { - "type": "object", - "properties": { - "partitionScheme": { - "type": "string", - "enum": [ - "Singleton" - ] - } - }, - "required": [ - "partitionScheme" - ], - "description": "SingletonPartitionSchemeDescription" - }, - "StatefulServiceProperties": { - "type": "object", - "properties": { - "hasPersistedState": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "minReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum replica set size as a number." - }, - "quorumLossWaitDuration": { - "type": "string", - "format": "date-time", - "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.s)." - }, - "replicaRestartWaitDuration": { - "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateful" - ] - }, - "standByReplicaKeepDuration": { - "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "targetReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The target replica set size as a number." - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateful service resource." - }, - "StatelessServiceProperties": { - "type": "object", - "properties": { - "instanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": -1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The instance count." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateless" - ] - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateless service resource." - } - } -} \ No newline at end of file diff --git a/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json b/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json deleted file mode 100644 index 7164a62211..0000000000 --- a/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,2265 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the cluster resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_childResource" - }, - { - "$ref": "#/definitions/clusters_applications_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - }, - "clusters_applications": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "identity": { - "oneOf": [ - { - "$ref": "#/definitions/ManagedIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the managed identities for an Azure resource." - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applications_services_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "serviceTypeDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "serviceTypeHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { - "type": "object", - "properties": { - "maximumCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" - }, - "name": { - "type": "string", - "description": "The name of the metric." - }, - "reservationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" - }, - "totalApplicationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" - } - }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" - }, - "ApplicationResourceProperties": { - "type": "object", - "properties": { - "managedIdentities": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationUserAssignedIdentity" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of user assigned identities for the application, each mapped to a friendly name." - }, - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, - "parameters": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application parameters with overridden values from their default values specified in the application manifest." - }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, - "upgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy for a monitored application upgrade." - } - }, - "description": "The application resource properties." - }, - "ApplicationTypeResourceProperties": { - "type": "object", - "properties": {}, - "description": "The application type name properties" - }, - "ApplicationTypeVersionResourceProperties": { - "type": "object", - "properties": { - "appPackageUrl": { - "type": "string", - "description": "The URL to the application package" - } - }, - "required": [ - "appPackageUrl" - ], - "description": "The properties of the application type version resource." - }, - "ApplicationUpgradePolicy": { - "type": "object", - "properties": { - "applicationHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmApplicationHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "rollingUpgradeMonitoringPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy used for monitoring the application upgrade" - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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)." - } - }, - "description": "Describes the policy for a monitored application upgrade." - }, - "ApplicationUserAssignedIdentity": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The friendly name of user assigned identity." - }, - "principalId": { - "type": "string", - "description": "The principal id of user assigned identity." - } - }, - "required": [ - "name", - "principalId" - ] - }, - "ArmApplicationHealthPolicy": { - "type": "object", - "properties": { - "considerWarningAsError": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether warnings are treated with the same severity as errors." - }, - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "maxPercentUnhealthyDeployedApplications": { - "oneOf": [ - { - "type": "integer", - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - }, - "serviceTypeHealthPolicyMap": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Rollback", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - } - }, - "description": "The policy used for monitoring the application upgrade" - }, - "ArmServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyPartitionsPerService": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyReplicasPerPartition": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "ClusterProperties": { - "type": "object", - "properties": { - "addOnFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "RepairManager", - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of add-on features to enable in the cluster." - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "certificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "eventStoreServiceEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the event store service is enabled." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "reverseProxyCertificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "Describes the cluster resource properties." - }, - "clusters_applications_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "identity": { - "oneOf": [ - { - "$ref": "#/definitions/ManagedIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the managed identities for an Azure resource." - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "applicationDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "protectedAccountKeyName2": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "ManagedIdentity": { - "type": "object", - "properties": { - "type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of managed identity for the resource." - }, - "userAssignedIdentities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - } - }, - "description": "Describes the managed identities for an Azure resource." - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port." - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port." - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The endpoint used by reverse proxy." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "PartitionSchemeDescription": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" - } - ], - "properties": {}, - "description": "Describes how the service is partitioned." - }, - "ServerCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the server certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the server certificate." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" - ], - "description": "Describes the server certificate details using common name." - }, - "ServerCertificateCommonNames": { - "type": "object", - "properties": { - "commonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "ServiceCorrelationDescription": { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Affinity", - "AlignedAffinity", - "NonAlignedAffinity" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." - }, - "serviceName": { - "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." - } - }, - "required": [ - "scheme", - "serviceName" - ], - "description": "Creates a particular correlation between services." - }, - "ServiceLoadMetricDescription": { - "type": "object", - "properties": { - "defaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." - }, - "name": { - "type": "string", - "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." - }, - "primaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "secondaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "weight": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." - } - }, - "required": [ - "name" - ], - "description": "Specifies a metric to load balance a service during runtime." - }, - "ServicePlacementPolicyDescription": { - "type": "object", - "properties": {}, - "description": "Describes the policy to be used for placement of a Service Fabric service." - }, - "ServiceResourceProperties": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/StatefulServiceProperties" - }, - { - "$ref": "#/definitions/StatelessServiceProperties" - } - ], - "properties": { - "correlationScheme": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "defaultMoveCost": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the move cost for the service." - }, - "partitionDescription": { - "oneOf": [ - { - "$ref": "#/definitions/PartitionSchemeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes how the service is partitioned." - }, - "placementConstraints": { - "type": "string", - "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)\"." - }, - "serviceLoadMetrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." - }, - "servicePackageActivationMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SharedProcess", - "ExclusiveProcess" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "servicePlacementPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "serviceTypeName": { - "type": "string", - "description": "The name of the service type" - } - }, - "description": "The service resource properties." - }, - "ServiceTypeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - }, - "SingletonPartitionSchemeDescription": { - "type": "object", - "properties": { - "partitionScheme": { - "type": "string", - "enum": [ - "Singleton" - ] - } - }, - "required": [ - "partitionScheme" - ], - "description": "SingletonPartitionSchemeDescription" - }, - "StatefulServiceProperties": { - "type": "object", - "properties": { - "hasPersistedState": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "minReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum replica set size as a number." - }, - "quorumLossWaitDuration": { - "type": "string", - "format": "date-time", - "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.s)." - }, - "replicaRestartWaitDuration": { - "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateful" - ] - }, - "standByReplicaKeepDuration": { - "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "targetReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The target replica set size as a number." - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateful service resource." - }, - "StatelessServiceProperties": { - "type": "object", - "properties": { - "instanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": -1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The instance count." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateless" - ] - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateless service resource." - }, - "UserAssignedIdentity": { - "type": "object", - "properties": {} - } - } -} \ No newline at end of file diff --git a/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json b/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json deleted file mode 100644 index 589858c9fe..0000000000 --- a/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,2331 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the cluster resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_childResource" - }, - { - "$ref": "#/definitions/clusters_applications_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters" - }, - "clusters_applications": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "identity": { - "oneOf": [ - { - "$ref": "#/definitions/ManagedIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the managed identities for an Azure resource." - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applications_services_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "serviceTypeDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "serviceTypeHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { - "type": "object", - "properties": { - "maximumCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" - }, - "name": { - "type": "string", - "description": "The name of the metric." - }, - "reservationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" - }, - "totalApplicationCapacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" - } - }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" - }, - "ApplicationResourceProperties": { - "type": "object", - "properties": { - "managedIdentities": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationUserAssignedIdentity" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of user assigned identities for the application, each mapped to a friendly name." - }, - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, - "parameters": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application parameters with overridden values from their default values specified in the application manifest." - }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, - "upgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy for a monitored application upgrade." - } - }, - "description": "The application resource properties." - }, - "ApplicationTypeResourceProperties": { - "type": "object", - "properties": {}, - "description": "The application type name properties" - }, - "ApplicationTypeVersionResourceProperties": { - "type": "object", - "properties": { - "appPackageUrl": { - "type": "string", - "description": "The URL to the application package" - } - }, - "required": [ - "appPackageUrl" - ], - "description": "The properties of the application type version resource." - }, - "ApplicationTypeVersionsCleanupPolicy": { - "type": "object", - "properties": { - "maxUnusedVersionsToKeep": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of unused versions per application type to keep." - } - }, - "required": [ - "maxUnusedVersionsToKeep" - ] - }, - "ApplicationUpgradePolicy": { - "type": "object", - "properties": { - "applicationHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmApplicationHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "recreateApplication": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed and it will result in availability loss." - }, - "rollingUpgradeMonitoringPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy used for monitoring the application upgrade" - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "UnmonitoredAuto", - "UnmonitoredManual", - "Monitored" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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)." - } - }, - "description": "Describes the policy for a monitored application upgrade." - }, - "ApplicationUserAssignedIdentity": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The friendly name of user assigned identity." - }, - "principalId": { - "type": "string", - "description": "The principal id of user assigned identity." - } - }, - "required": [ - "name", - "principalId" - ] - }, - "ArmApplicationHealthPolicy": { - "type": "object", - "properties": { - "considerWarningAsError": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether warnings are treated with the same severity as errors." - }, - "defaultServiceTypeHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "maxPercentUnhealthyDeployedApplications": { - "oneOf": [ - { - "type": "integer", - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - }, - "serviceTypeHealthPolicyMap": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Rollback", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - } - }, - "description": "The policy used for monitoring the application upgrade" - }, - "ArmServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyPartitionsPerService": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyReplicasPerPartition": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "ClusterProperties": { - "type": "object", - "properties": { - "addOnFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "RepairManager", - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of add-on features to enable in the cluster." - }, - "applicationTypeVersionsCleanupPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "certificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "certificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "clientCertificateCommonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." - }, - "clientCertificateThumbprints": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "diagnosticsStorageAccountConfig": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "eventStoreServiceEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the event store service is enabled." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "reverseProxyCertificateCommonNames": { - "oneOf": [ - { - "$ref": "#/definitions/ServerCertificateCommonNames" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "upgradeDescription": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - } - }, - "required": [ - "managementEndpoint", - "nodeTypes" - ], - "description": "Describes the cluster resource properties." - }, - "clusters_applications_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "identity": { - "oneOf": [ - { - "$ref": "#/definitions/ManagedIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the managed identities for an Azure resource." - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applications" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications" - }, - "clusters_applications_services_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the service resource in the format of {applicationName}~{serviceName}." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service resource properties." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "services" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" - }, - "clusters_applicationTypes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The name of the application type name resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The application type name properties" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "applicationTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" - }, - "clusters_applicationTypes_versions_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." - }, - "name": { - "type": "string", - "description": "The application type version." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the application type version resource." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - }, - "ClusterUpgradeDeltaHealthPolicy": { - "type": "object", - "properties": { - "applicationDeltaHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentDeltaUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" - }, - "maxPercentDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" - } - }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "ClusterUpgradePolicy": { - "type": "object", - "properties": { - "deltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the delta health policies for the cluster upgrade." - }, - "forceRestart": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "protectedAccountKeyName2": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "ManagedIdentity": { - "type": "object", - "properties": { - "type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of managed identity for the resource." - }, - "userAssignedIdentities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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" - } - }, - "description": "Describes the managed identities for an Azure resource." - }, - "NodeTypeDescription": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "clientConnectionEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The TCP cluster management endpoint port." - }, - "durabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "httpGatewayEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The HTTP cluster management endpoint port." - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "reverseProxyEndpointPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The endpoint used by reverse proxy." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "PartitionSchemeDescription": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" - } - ], - "properties": {}, - "description": "Describes how the service is partitioned." - }, - "ServerCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the server certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the server certificate." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" - ], - "description": "Describes the server certificate details using common name." - }, - "ServerCertificateCommonNames": { - "type": "object", - "properties": { - "commonNames": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." - }, - "x509StoreName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The local certificate store location." - } - }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "ServiceCorrelationDescription": { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Affinity", - "AlignedAffinity", - "NonAlignedAffinity" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." - }, - "serviceName": { - "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." - } - }, - "required": [ - "scheme", - "serviceName" - ], - "description": "Creates a particular correlation between services." - }, - "ServiceLoadMetricDescription": { - "type": "object", - "properties": { - "defaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." - }, - "name": { - "type": "string", - "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." - }, - "primaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "secondaryDefaultLoad": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "weight": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." - } - }, - "required": [ - "name" - ], - "description": "Specifies a metric to load balance a service during runtime." - }, - "ServicePlacementPolicyDescription": { - "type": "object", - "properties": {}, - "description": "Describes the policy to be used for placement of a Service Fabric service." - }, - "ServiceResourceProperties": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/StatefulServiceProperties" - }, - { - "$ref": "#/definitions/StatelessServiceProperties" - } - ], - "properties": { - "correlationScheme": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "defaultMoveCost": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Zero", - "Low", - "Medium", - "High" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the move cost for the service." - }, - "partitionDescription": { - "oneOf": [ - { - "$ref": "#/definitions/PartitionSchemeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes how the service is partitioned." - }, - "placementConstraints": { - "type": "string", - "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)\"." - }, - "serviceDnsName": { - "type": "string", - "description": "Dns name used for the service. If this is specified, then the service can be accessed via its DNS name instead of service name." - }, - "serviceLoadMetrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." - }, - "servicePackageActivationMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SharedProcess", - "ExclusiveProcess" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "servicePlacementPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list that describes the correlation of the service with other services." - }, - "serviceTypeName": { - "type": "string", - "description": "The name of the service type" - } - }, - "description": "The service resource properties." - }, - "ServiceTypeDeltaHealthPolicy": { - "type": "object", - "properties": { - "maxPercentDeltaUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - }, - "SingletonPartitionSchemeDescription": { - "type": "object", - "properties": { - "partitionScheme": { - "type": "string", - "enum": [ - "Singleton" - ] - } - }, - "required": [ - "partitionScheme" - ], - "description": "SingletonPartitionSchemeDescription" - }, - "StatefulServiceProperties": { - "type": "object", - "properties": { - "hasPersistedState": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "minReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum replica set size as a number." - }, - "quorumLossWaitDuration": { - "type": "string", - "format": "date-time", - "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.s)." - }, - "replicaRestartWaitDuration": { - "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateful" - ] - }, - "standByReplicaKeepDuration": { - "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." - }, - "targetReplicaSetSize": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The target replica set size as a number." - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateful service resource." - }, - "StatelessServiceProperties": { - "type": "object", - "properties": { - "instanceCloseDelayDuration": { - "type": "string", - "description": "Delay duration for RequestDrain feature to ensures that the endpoint advertised by the stateless instance is removed before the delay starts prior to closing the instance. This delay enables existing requests to drain gracefully before the instance actually goes down (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-advanced#avoid-connection-drops-during-stateless-service-planned-downtime-preview). It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "instanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": -1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The instance count." - }, - "serviceKind": { - "type": "string", - "enum": [ - "Stateless" - ] - } - }, - "required": [ - "serviceKind" - ], - "description": "The properties of a stateless service resource." - }, - "UserAssignedIdentity": { - "type": "object", - "properties": {} - } - } -} \ No newline at end of file diff --git a/schemas/2020-01-01-preview/Microsoft.ServiceFabric.json b/schemas/2020-01-01-preview/Microsoft.ServiceFabric.json deleted file mode 100644 index 0764493274..0000000000 --- a/schemas/2020-01-01-preview/Microsoft.ServiceFabric.json +++ /dev/null @@ -1,842 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.ServiceFabric.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ServiceFabric", - "description": "Microsoft ServiceFabric Resource Types", - "resourceDefinitions": { - "managedClusters": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-01-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Azure resource location." - }, - "name": { - "type": "string", - "description": "The name of the cluster resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ManagedClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the managed cluster resource properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/managedClusters_nodeTypes_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Sku definition" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/managedClusters" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/managedClusters" - }, - "managedClusters_nodeTypes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-01-01-preview" - ] - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/NodeTypeProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/managedClusters/nodeTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" - } - }, - "definitions": { - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "ClientCertificate": { - "type": "object", - "properties": { - "commonName": { - "type": "string", - "description": "Certificate Common name." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether the certificate is admin or not." - }, - "issuerThumbprint": { - "type": "string", - "description": "Issuer thumbprint for the certificate. Only used together with CommonName." - }, - "thumbprint": { - "type": "string", - "description": "Certificate Thumbprint." - } - }, - "required": [ - "isAdmin" - ], - "description": "Client Certificate definition." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "End port of a range of ports" - }, - "startPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "LoadBalancingRule": { - "type": "object", - "properties": { - "backendPort": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 65534 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." - }, - "frontendPort": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 65534 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "probeProtocol": { - "oneOf": [ - { - "type": "string", - "enum": [ - "tcp", - "http", - "https" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "the reference to the load balancer probe used by the load balancing rule." - }, - "probeRequestPath": { - "type": "string", - "description": "The probe request path. Only supported for HTTP/HTTPS probes." - }, - "protocol": { - "oneOf": [ - { - "type": "string", - "enum": [ - "tcp", - "udp" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reference to the transport protocol used by the load balancing rule." - } - }, - "required": [ - "backendPort", - "frontendPort", - "probeProtocol", - "protocol" - ], - "description": "Describes a load balancing rule." - }, - "ManagedClusterProperties": { - "type": "object", - "properties": { - "addonFeatures": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "client certificates for the cluster." - }, - "adminPassword": { - "type": "string", - "format": "password", - "description": "vm admin user password." - }, - "adminUserName": { - "type": "string", - "description": "vm admin user name." - }, - "azureActiveDirectory": { - "oneOf": [ - { - "$ref": "#/definitions/AzureActiveDirectory" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The settings to enable AAD authentication on the cluster." - }, - "clientConnectionPort": { - "oneOf": [ - { - "type": "integer", - "default": "19000" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The port used for client connections to the cluster." - }, - "clients": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificate" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "client certificates for the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." - }, - "dnsName": { - "type": "string", - "description": "The cluster dns name." - }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "httpGatewayConnectionPort": { - "oneOf": [ - { - "type": "integer", - "default": "19080" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The port used for http connections to the cluster." - }, - "loadBalancingRules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/LoadBalancingRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes load balancing rules." - } - }, - "required": [ - "adminUserName", - "dnsName" - ], - "description": "Describes the managed cluster resource properties." - }, - "managedClusters_nodeTypes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-01-01-preview" - ] - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/NodeTypeProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "nodeTypes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" - }, - "NodeTypeProperties": { - "type": "object", - "properties": { - "applicationPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "capacities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "dataDiskSizeGB": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Disk size for each vm in the node type in GBs." - }, - "ephemeralPorts": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointRangeDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Port range details" - }, - "isPrimary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." - }, - "placementProperties": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." - }, - "vmExtensions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VMSSExtension" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Set of extensions that should be installed onto the virtual machines." - }, - "vmImageOffer": { - "type": "string", - "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." - }, - "vmImagePublisher": { - "type": "string", - "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." - }, - "vmImageSku": { - "type": "string", - "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." - }, - "vmImageVersion": { - "type": "string", - "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'." - }, - "vmInstanceCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of nodes in the node type." - }, - "vmSecrets": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VaultSecretGroup" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The secrets to install in the virtual machines." - }, - "vmSize": { - "type": "string", - "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." - } - }, - "required": [ - "dataDiskSizeGB", - "isPrimary", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "SettingsParameterDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The parameter name of fabric setting." - }, - "value": { - "type": "string", - "description": "The parameter value of fabric setting." - } - }, - "required": [ - "name", - "value" - ], - "description": "Describes a parameter in fabric settings of the cluster." - }, - "SettingsSectionDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The section name of the fabric settings." - }, - "parameters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsParameterDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The collection of parameters in the section." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Describes a section in the fabric settings of the cluster." - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Basic", - "Standard" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Sku Name." - } - }, - "required": [ - "name" - ], - "description": "Sku definition" - }, - "SubResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Azure resource identifier." - } - }, - "description": "Azure resource identifier." - }, - "VaultCertificate": { - "type": "object", - "properties": { - "certificateStore": { - "type": "string", - "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.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." - }, - "certificateUrl": { - "type": "string", - "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:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" - } - }, - "required": [ - "certificateStore", - "certificateUrl" - ], - "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." - }, - "VaultSecretGroup": { - "type": "object", - "properties": { - "sourceVault": { - "oneOf": [ - { - "$ref": "#/definitions/SubResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure resource identifier." - }, - "vaultCertificates": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VaultCertificate" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of key vault references in SourceVault which contain certificates." - } - }, - "required": [ - "sourceVault", - "vaultCertificates" - ], - "description": "Specifies set of certificates that should be installed onto the virtual machines." - }, - "VMSSExtension": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the extension." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VMSSExtensionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the properties of a Virtual Machine Scale Set Extension." - } - }, - "required": [ - "name", - "properties" - ], - "description": "Specifies set of extensions that should be installed onto the virtual machines." - }, - "VMSSExtensionProperties": { - "type": "object", - "properties": { - "autoUpgradeMinorVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "forceUpdateTag": { - "type": "string", - "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." - }, - "protectedSettings": { - "type": "object", - "properties": {}, - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." - }, - "provisionAfterExtensions": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Collection of extension names after which this extension needs to be provisioned." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "settings": { - "type": "object", - "properties": {}, - "description": "Json formatted public settings for the extension." - }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion" - ], - "description": "Describes the properties of a Virtual Machine Scale Set Extension." - } - } -} \ No newline at end of file diff --git a/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json b/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json similarity index 67% rename from schemas/2020-12-01-preview/Microsoft.ServiceFabric.json rename to schemas/2021-01-01-preview/Microsoft.ServiceFabric.json index 84e775784d..8f58b147b2 100644 --- a/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json @@ -1,16 +1,16 @@ { - "id": "https://schema.management.azure.com/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json#", + "id": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.ServiceFabric", "description": "Microsoft ServiceFabric Resource Types", "resourceDefinitions": { - "clusters": { + "managedClusters": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { @@ -24,27 +24,41 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/ManagedClusterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the cluster resource properties." + "description": "Describes the managed cluster resource properties." }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applicationTypes_childResource" + "$ref": "#/definitions/managedclusters_applicationTypes_childResource" }, { - "$ref": "#/definitions/clusters_applications_childResource" + "$ref": "#/definitions/managedclusters_applications_childResource" + }, + { + "$ref": "#/definitions/managedClusters_nodeTypes_childResource" } ] } }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Fabric managed cluster Sku definition" + }, "systemData": { "oneOf": [ { @@ -74,7 +88,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters" + "Microsoft.ServiceFabric/managedClusters" ] } }, @@ -85,15 +99,15 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters" + "description": "Microsoft.ServiceFabric/managedClusters" }, - "clusters_applications": { + "managedclusters_applications": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "identity": { @@ -109,7 +123,7 @@ }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -131,7 +145,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applications_services_childResource" + "$ref": "#/definitions/managedclusters_applications_services_childResource" } ] } @@ -165,7 +179,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applications" + "Microsoft.ServiceFabric/managedclusters/applications" ] } }, @@ -175,20 +189,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications" + "description": "Microsoft.ServiceFabric/managedclusters/applications" }, - "clusters_applications_services": { + "managedclusters_applications_services": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -234,7 +248,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" + "Microsoft.ServiceFabric/managedclusters/applications/services" ] } }, @@ -244,20 +258,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" }, - "clusters_applicationTypes": { + "managedclusters_applicationTypes": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -279,7 +293,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" + "$ref": "#/definitions/managedclusters_applicationTypes_versions_childResource" } ] } @@ -313,7 +327,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" + "Microsoft.ServiceFabric/managedclusters/applicationTypes" ] } }, @@ -323,20 +337,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" }, - "clusters_applicationTypes_versions": { + "managedclusters_applicationTypes_versions": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -382,7 +396,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" ] } }, @@ -392,62 +406,49 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { "type": "object", "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." }, - "serviceTypeDeltaHealthPolicies": { + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} + "$ref": "#/definitions/NodeTypeProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "systemData": { "oneOf": [ { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + "description": "Metadata pertaining to creation and last modification of the resource." }, - "serviceTypeHealthPolicies": { + "tags": { "oneOf": [ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "type": "string" }, "properties": {} }, @@ -455,30 +456,51 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedClusters/nodeTypes" + ] } }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + } + }, + "definitions": { + "ApplicationHealthPolicy": { "type": "object", "properties": { - "maximumCapacity": { + "considerWarningAsError": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" + "description": "Indicates whether warnings are treated with the same severity as errors." }, - "name": { - "type": "string", - "description": "The name of the metric." + "defaultServiceTypeHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, - "reservationCapacity": { + "maxPercentUnhealthyDeployedApplications": { "oneOf": [ { "type": "integer" @@ -487,21 +509,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" + "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" }, - "totalApplicationCapacity": { + "serviceTypeHealthPolicyMap": { "oneOf": [ { - "type": "integer" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" } }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" + "required": [ + "considerWarningAsError", + "maxPercentUnhealthyDeployedApplications" + ], + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" }, "ApplicationResourceProperties": { "type": "object", @@ -520,45 +550,6 @@ ], "description": "List of user assigned identities for the application, each mapped to a friendly name." }, - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, "parameters": { "oneOf": [ { @@ -574,25 +565,6 @@ ], "description": "List of application parameters with overridden values from their default values specified in the application manifest." }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, "upgradePolicy": { "oneOf": [ { @@ -603,6 +575,10 @@ } ], "description": "Describes the policy for a monitored application upgrade." + }, + "version": { + "type": "string", + "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" } }, "description": "The application resource properties." @@ -643,7 +619,8 @@ }, "required": [ "maxUnusedVersionsToKeep" - ] + ], + "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." }, "ApplicationUpgradePolicy": { "type": "object", @@ -651,7 +628,7 @@ "applicationHealthPolicy": { "oneOf": [ { - "$ref": "#/definitions/ArmApplicationHealthPolicy" + "$ref": "#/definitions/ApplicationHealthPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -671,6 +648,17 @@ ], "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)." }, + "instanceCloseDelayDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, "recreateApplication": { "oneOf": [ { @@ -680,12 +668,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed and it will result in availability loss." + "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed." }, "rollingUpgradeMonitoringPolicy": { "oneOf": [ { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -698,20 +686,24 @@ { "type": "string", "enum": [ - "Invalid", - "UnmonitoredAuto", - "UnmonitoredManual", - "Monitored" + "Monitored", + "UnmonitoredAuto" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + ] }, "upgradeReplicaSetCheckTimeout": { - "type": "string", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], "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)." } }, @@ -734,327 +726,171 @@ "principalId" ] }, - "ArmApplicationHealthPolicy": { + "AzureActiveDirectory": { "type": "object", "properties": { - "considerWarningAsError": { + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { + "type": "object", + "properties": { + "commonName": { + "type": "string", + "description": "Certificate common name." + }, + "isAdmin": { "oneOf": [ { - "type": "boolean", - "default": false + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether warnings are treated with the same severity as errors." + "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." }, - "defaultServiceTypeHealthPolicy": { + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + } + }, + "required": [ + "isAdmin" + ], + "description": "Client certificate definition." + }, + "EndpointRangeDescription": { + "type": "object", + "properties": { + "endPort": { "oneOf": [ { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + "description": "End port of a range of ports" }, - "maxPercentUnhealthyDeployedApplications": { + "startPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Starting port of a range of ports" + } + }, + "required": [ + "endPort", + "startPort" + ], + "description": "Port range details" + }, + "LoadBalancingRule": { + "type": "object", + "properties": { + "backendPort": { "oneOf": [ { "type": "integer", - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." }, - "serviceTypeHealthPolicyMap": { + "frontendPort": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} + "type": "integer", + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { + "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." + }, + "probeProtocol": { "oneOf": [ { "type": "string", "enum": [ - "Rollback", - "Manual" + "tcp", + "http", + "https" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The activation Mode of the service package." + "description": "the reference to the load balancer probe used by the load balancing rule." }, - "healthCheckRetryTimeout": { + "probeRequestPath": { "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "description": "The probe request path. Only supported for HTTP/HTTPS probes." }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - } - }, - "description": "The policy used for monitoring the application upgrade" - }, - "ArmServiceTypeHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyPartitionsPerService": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyReplicasPerPartition": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" - }, - "maxPercentUnhealthyServices": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { + "protocol": { "oneOf": [ { "type": "string", "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" + "tcp", + "udp" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { - "type": "string", - "description": "The thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + "description": "The reference to the transport protocol used by the load balancing rule." } }, "required": [ - "certificateThumbprint", - "isAdmin" + "backendPort", + "frontendPort", + "probeProtocol", + "protocol" ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + "description": "Describes a load balancing rule." }, - "ClusterProperties": { + "ManagedClusterProperties": { "type": "object", "properties": { - "addOnFeatures": { + "addonFeatures": { "oneOf": [ { "type": "array", "items": { "type": "string", "enum": [ - "RepairManager", "DnsService", "BackupRestoreService", "ResourceMonitorService" @@ -1065,95 +901,101 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of add-on features to enable in the cluster." + "description": "List of add-on features to enable on the cluster." }, - "applicationTypeVersionsCleanupPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." }, - "azureActiveDirectory": { + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { "oneOf": [ { - "$ref": "#/definitions/AzureActiveDirectory" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The settings to enable AAD authentication on the cluster." + "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." }, - "certificate": { + "applicationTypeVersionsCleanupPolicy": { "oneOf": [ { - "$ref": "#/definitions/CertificateDescription" + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the certificate details." + "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." }, - "certificateCommonNames": { + "azureActiveDirectory": { "oneOf": [ { - "$ref": "#/definitions/ServerCertificateCommonNames" + "$ref": "#/definitions/AzureActiveDirectory" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "description": "The settings to enable AAD authentication on the cluster." }, - "clientCertificateCommonNames": { + "clientConnectionPort": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } + "type": "integer", + "default": "19000" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." + "description": "The port used for client connections to the cluster." }, - "clientCertificateThumbprints": { + "clients": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" + "$ref": "#/definitions/ClientCertificate" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." + "description": "Client certificates that are allowed to manage the cluster." }, "clusterCodeVersion": { "type": "string", "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." }, - "diagnosticsStorageAccountConfig": { + "clusterUpgradeCadence": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage account information for storing Service Fabric diagnostic logs." + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." }, - "eventStoreServiceEnabled": { + "enableAutoOSUpgrade": { "oneOf": [ { "type": "boolean" @@ -1162,7 +1004,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates if the event store service is enabled." + "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." }, "fabricSettings": { "oneOf": [ @@ -1178,108 +1020,60 @@ ], "description": "The list of custom fabric settings to configure the cluster." }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." - }, - "reverseProxyCertificate": { - "oneOf": [ - { - "$ref": "#/definitions/CertificateDescription" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes the certificate details." - }, - "reverseProxyCertificateCommonNames": { + "httpGatewayConnectionPort": { "oneOf": [ { - "$ref": "#/definitions/ServerCertificateCommonNames" + "type": "integer", + "default": "19080" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "description": "The port used for HTTP connections to the cluster." }, - "upgradeDescription": { + "loadBalancingRules": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradePolicy" + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the policy used when upgrading the cluster." + "description": "Load balancing rules that are applied to the public load balancer of the cluster." }, - "upgradeMode": { + "networkSecurityRules": { "oneOf": [ { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." + "description": "Custom Network Security Rules that are applied to the virtual network of the cluster." } }, "required": [ - "managementEndpoint", - "nodeTypes" + "adminUserName", + "dnsName" ], - "description": "Describes the cluster resource properties." + "description": "Describes the managed cluster resource properties." }, - "clusters_applications_childResource": { + "managedclusters_applications_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "identity": { @@ -1295,7 +1089,7 @@ }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1351,20 +1145,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications" + "description": "Microsoft.ServiceFabric/managedclusters/applications" }, - "clusters_applications_services_childResource": { + "managedclusters_applications_services_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1420,20 +1214,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" }, - "clusters_applicationTypes_childResource": { + "managedclusters_applicationTypes_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1489,20 +1283,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" }, - "clusters_applicationTypes_versions_childResource": { + "managedclusters_applicationTypes_versions_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-12-01-preview" + "2021-01-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1558,253 +1352,251 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" }, - "ClusterUpgradeDeltaHealthPolicy": { + "managedClusters_nodeTypes_childResource": { "type": "object", "properties": { - "applicationDeltaHealthPolicies": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} + "$ref": "#/definitions/NodeTypeProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "maxPercentDeltaUnhealthyApplications": { + "systemData": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" + "description": "Metadata pertaining to creation and last modification of the resource." }, - "maxPercentDeltaUnhealthyNodes": { + "tags": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" + "description": "Azure resource tags." }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": { + "type": "string", + "enum": [ + "nodeTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" + "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" } }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." + "description": "Describes the managed identities for an Azure resource." }, - "ClusterUpgradePolicy": { + "NetworkSecurityRule": { "type": "object", "properties": { - "deltaHealthPolicy": { + "access": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" + "type": "string", + "enum": [ + "allow", + "deny" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the delta health policies for the cluster upgrade." + "description": "The network traffic is allowed or denied." }, - "forceRestart": { + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefixes": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + "description": "The destination address prefixes. CIDR or destination IP ranges." }, - "healthPolicy": { + "destinationPortRanges": { "oneOf": [ { - "$ref": "#/definitions/ClusterHealthPolicy" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + "description": "The destination port ranges." }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "protectedAccountKeyName2": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { + "direction": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "inbound", + "outbound" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "End port of a range of ports" + "description": "Network security rule direction." }, - "startPort": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { "oneOf": [ { - "type": "integer" + "type": "integer", + "minimum": 1000, + "maximum": 3000 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "ManagedIdentity": { - "type": "object", - "properties": { - "type": { + "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." + }, + "protocol": { "oneOf": [ { "type": "string", "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of managed identity for the resource." + "description": "Network protocol this rule applies to." }, - "userAssignedIdentities": { + "sourceAddressPrefixes": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" + "description": "The CIDR or source IP ranges." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." } }, - "description": "Describes the managed identities for an Azure resource." + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." }, - "NodeTypeDescription": { + "NodeTypeProperties": { "type": "object", "properties": { "applicationPorts": { @@ -1833,7 +1625,7 @@ ], "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." }, - "clientConnectionEndpointPort": { + "dataDiskSizeGB": { "oneOf": [ { "type": "integer" @@ -1842,180 +1634,227 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The TCP cluster management endpoint port." + "description": "Disk size for each vm in the node type in GBs." }, - "durabilityLevel": { + "ephemeralPorts": { "oneOf": [ { - "type": "string", - "enum": [ - "Bronze", - "Silver", - "Gold" - ] + "$ref": "#/definitions/EndpointRangeDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n." + "description": "Port range details" }, - "ephemeralPorts": { + "isPrimary": { "oneOf": [ { - "$ref": "#/definitions/EndpointRangeDescription" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Port range details" + "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." }, - "httpGatewayEndpointPort": { + "placementProperties": { "oneOf": [ { - "type": "integer" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The HTTP cluster management endpoint port." + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." }, - "isPrimary": { + "vmExtensions": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/VMSSExtension" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." + "description": "Set of extensions that should be installed onto the virtual machines." }, - "name": { + "vmImageOffer": { "type": "string", - "description": "The name of the node type." + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." }, - "placementProperties": { + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "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'." + }, + "vmInstanceCount": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} + "type": "integer", + "minimum": 1, + "maximum": 2147483647 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." + "description": "The number of nodes in the node type." }, - "reverseProxyEndpointPort": { + "vmManagedIdentity": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VmManagedIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The endpoint used by reverse proxy." + "description": "Identities for the virtual machine scale set under the node type." }, - "vmInstanceCount": { + "vmSecrets": { "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." + "description": "The secrets to install in the virtual machines." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." } }, "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", + "dataDiskSizeGB", "isPrimary", - "name", "vmInstanceCount" ], "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "PartitionSchemeDescription": { + "Partition": { "type": "object", "oneOf": [ { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" + "$ref": "#/definitions/SingletonPartitionScheme" } ], "properties": {}, "description": "Describes how the service is partitioned." }, - "ServerCertificateCommonName": { + "RollingUpgradeMonitoringPolicy": { "type": "object", "properties": { - "certificateCommonName": { + "failureAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Rollback", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "healthCheckRetryTimeout": { + "type": "string", + "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\"." + }, + "healthCheckStableDuration": { "type": "string", - "description": "The common name of the server certificate." + "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\"." }, - "certificateIssuerThumbprint": { + "healthCheckWaitDuration": { "type": "string", - "description": "The issuer thumbprint of the server certificate." + "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\"." + }, + "upgradeDomainTimeout": { + "type": "string", + "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\"." + }, + "upgradeTimeout": { + "type": "string", + "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\"." } }, "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" ], - "description": "Describes the server certificate details using common name." + "description": "The policy used for monitoring the application upgrade" }, - "ServerCertificateCommonNames": { + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { "type": "object", "properties": { - "commonNames": { + "scalingMechanism": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } + "$ref": "#/definitions/ScalingMechanism" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." + "description": "Describes the mechanism for performing a scaling operation." }, - "x509StoreName": { + "scalingTrigger": { "oneOf": [ { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] + "$ref": "#/definitions/ScalingTrigger" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The local certificate store location." + "description": "Describes the trigger for performing a scaling operation." } }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "required": [ + "scalingMechanism", + "scalingTrigger" + ], + "description": "Specifies a metric to load balance a service during runtime." }, - "ServiceCorrelationDescription": { + "ScalingTrigger": { + "type": "object", + "properties": {}, + "description": "Describes the trigger for performing a scaling operation." + }, + "ServiceCorrelation": { "type": "object", "properties": { "scheme": { @@ -2023,8 +1862,6 @@ { "type": "string", "enum": [ - "Invalid", - "Affinity", "AlignedAffinity", "NonAlignedAffinity" ] @@ -2037,7 +1874,7 @@ }, "serviceName": { "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." + "description": "The full ARM Resource ID describing the service resource" } }, "required": [ @@ -2046,7 +1883,7 @@ ], "description": "Creates a particular correlation between services." }, - "ServiceLoadMetricDescription": { + "ServiceLoadMetric": { "type": "object", "properties": { "defaultLoad": { @@ -2109,8 +1946,28 @@ ], "description": "Specifies a metric to load balance a service during runtime." }, - "ServicePlacementPolicyDescription": { + "ServicePlacementNonPartiallyPlaceServicePolicy": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "NonPartiallyPlaceService" + ] + } + }, + "required": [ + "type" + ], + "description": "ServicePlacementNonPartiallyPlaceServicePolicy" + }, + "ServicePlacementPolicy": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ServicePlacementNonPartiallyPlaceServicePolicy" + } + ], "properties": {}, "description": "Describes the policy to be used for placement of a Service Fabric service." }, @@ -2130,7 +1987,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" + "$ref": "#/definitions/ServiceCorrelation" } }, { @@ -2153,13 +2010,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the move cost for the service." + ] }, "partitionDescription": { "oneOf": [ { - "$ref": "#/definitions/PartitionSchemeDescription" + "$ref": "#/definitions/Partition" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2171,23 +2027,33 @@ "type": "string", "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)\"." }, - "serviceDnsName": { - "type": "string", - "description": "Dns name used for the service. If this is specified, then the service can be accessed via its DNS name instead of service name." + "scalingPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling policies for this service." }, "serviceLoadMetrics": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" + "$ref": "#/definitions/ServiceLoadMetric" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + "description": "The service load metrics is given as an array of ServiceLoadMetric objects." }, "servicePackageActivationMode": { "oneOf": [ @@ -2209,7 +2075,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" + "$ref": "#/definitions/ServicePlacementPolicy" } }, { @@ -2223,46 +2089,60 @@ "description": "The name of the service type" } }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], "description": "The service resource properties." }, - "ServiceTypeDeltaHealthPolicy": { + "ServiceTypeHealthPolicy": { "type": "object", "properties": { - "maxPercentDeltaUnhealthyServices": { + "maxPercentUnhealthyPartitionsPerService": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100, - "default": "0" + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { + "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" + }, + "maxPercentUnhealthyReplicasPerPartition": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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" + }, "maxPercentUnhealthyServices": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100, - "default": "0" + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" + "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" } }, + "required": [ + "maxPercentUnhealthyPartitionsPerService", + "maxPercentUnhealthyReplicasPerPartition", + "maxPercentUnhealthyServices" + ], "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, "SettingsParameterDescription": { @@ -2311,7 +2191,7 @@ ], "description": "Describes a section in the fabric settings of the cluster." }, - "SingletonPartitionSchemeDescription": { + "SingletonPartitionScheme": { "type": "object", "properties": { "partitionScheme": { @@ -2324,7 +2204,31 @@ "required": [ "partitionScheme" ], - "description": "SingletonPartitionSchemeDescription" + "description": "SingletonPartitionScheme" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku Name." + } + }, + "required": [ + "name" + ], + "description": "Service Fabric managed cluster Sku definition" }, "StatefulServiceProperties": { "type": "object", @@ -2354,13 +2258,11 @@ }, "quorumLossWaitDuration": { "type": "string", - "format": "date-time", - "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.s)." + "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\"." }, "replicaRestartWaitDuration": { "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." + "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." }, "serviceKind": { "type": "string", @@ -2368,10 +2270,13 @@ "Stateful" ] }, + "servicePlacementTimeLimit": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\"." + }, "standByReplicaKeepDuration": { "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." }, "targetReplicaSetSize": { "oneOf": [ @@ -2394,10 +2299,6 @@ "StatelessServiceProperties": { "type": "object", "properties": { - "instanceCloseDelayDuration": { - "type": "string", - "description": "Delay duration for RequestDrain feature to ensures that the endpoint advertised by the stateless instance is removed before the delay starts prior to closing the instance. This delay enables existing requests to drain gracefully before the instance actually goes down (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-advanced#avoid-connection-drops-during-stateless-service-planned-downtime-preview). It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, "instanceCount": { "oneOf": [ { @@ -2410,6 +2311,28 @@ ], "description": "The instance count." }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "minInstancePercentage": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, "serviceKind": { "type": "string", "enum": [ @@ -2418,10 +2341,21 @@ } }, "required": [ + "instanceCount", "serviceKind" ], "description": "The properties of a stateless service resource." }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier." + }, "SystemData": { "type": "object", "properties": { @@ -2435,54 +2369,188 @@ "description": "The identity that created the resource." }, "createdByType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "User", - "Application", - "ManagedIdentity", - "Key" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], + "type": "string", "description": "The type of identity that created the resource." }, "lastModifiedAt": { "type": "string", "format": "date-time", - "description": "The type of identity that last modified the resource." + "description": "The timestamp of resource last modification (UTC)." }, "lastModifiedBy": { "type": "string", "description": "The identity that last modified the resource." }, "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "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.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "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:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + } + }, + "required": [ + "certificateStore", + "certificateUrl" + ], + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { "oneOf": [ { - "type": "string", - "enum": [ - "User", - "Application", - "ManagedIdentity", - "Key" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of identity that last modified the resource." + "description": "Azure resource identifier." + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." } }, - "description": "Metadata pertaining to creation and last modification of the resource." + "required": [ + "sourceVault", + "vaultCertificates" + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines." }, - "UserAssignedIdentity": { + "VmManagedIdentity": { "type": "object", - "properties": {} + "properties": { + "userAssignedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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}'." + } + }, + "description": "Identities for the virtual machine scale set under the node type." + }, + "VMSSExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VMSSExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "forceUpdateTag": { + "type": "string", + "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." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisionAfterExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } } } \ No newline at end of file diff --git a/schemas/2020-03-01/Microsoft.ServiceFabric.json b/schemas/2021-05-01/Microsoft.ServiceFabric.json similarity index 64% rename from schemas/2020-03-01/Microsoft.ServiceFabric.json rename to schemas/2021-05-01/Microsoft.ServiceFabric.json index b5daf8c6f5..c41d897d08 100644 --- a/schemas/2020-03-01/Microsoft.ServiceFabric.json +++ b/schemas/2021-05-01/Microsoft.ServiceFabric.json @@ -1,16 +1,16 @@ { - "id": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.ServiceFabric.json#", + "id": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.ServiceFabric", "description": "Microsoft ServiceFabric Resource Types", "resourceDefinitions": { - "clusters": { + "managedClusters": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { @@ -24,27 +24,52 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/ManagedClusterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the cluster resource properties." + "description": "Describes the managed cluster resource properties." }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applicationTypes_childResource" + "$ref": "#/definitions/managedclusters_applicationTypes_childResource" }, { - "$ref": "#/definitions/clusters_applications_childResource" + "$ref": "#/definitions/managedclusters_applications_childResource" + }, + { + "$ref": "#/definitions/managedClusters_nodeTypes_childResource" } ] } }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Fabric managed cluster Sku definition" + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -63,7 +88,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters" + "Microsoft.ServiceFabric/managedClusters" ] } }, @@ -74,15 +99,15 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters" + "description": "Microsoft.ServiceFabric/managedClusters" }, - "clusters_applications": { + "managedclusters_applications": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "identity": { @@ -98,7 +123,7 @@ }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -120,11 +145,22 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applications_services_childResource" + "$ref": "#/definitions/managedclusters_applications_services_childResource" } ] } }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -143,7 +179,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applications" + "Microsoft.ServiceFabric/managedclusters/applications" ] } }, @@ -153,20 +189,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications" + "description": "Microsoft.ServiceFabric/managedclusters/applications" }, - "clusters_applications_services": { + "managedclusters_applications_services": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -183,6 +219,17 @@ ], "description": "The service resource properties." }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -201,7 +248,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" + "Microsoft.ServiceFabric/managedclusters/applications/services" ] } }, @@ -211,20 +258,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" }, - "clusters_applicationTypes": { + "managedclusters_applicationTypes": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -246,11 +293,22 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" + "$ref": "#/definitions/managedclusters_applicationTypes_versions_childResource" } ] } }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -269,7 +327,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" + "Microsoft.ServiceFabric/managedclusters/applicationTypes" ] } }, @@ -279,20 +337,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" }, - "clusters_applicationTypes_versions": { + "managedclusters_applicationTypes_versions": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -309,6 +367,17 @@ ], "description": "The properties of the application type version resource." }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -327,7 +396,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" ] } }, @@ -337,62 +406,49 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { "type": "object", "properties": { - "defaultServiceTypeDeltaHealthPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." }, - "serviceTypeDeltaHealthPolicies": { + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} + "$ref": "#/definitions/NodeTypeProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "systemData": { "oneOf": [ { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + "description": "Metadata pertaining to creation and last modification of the resource." }, - "serviceTypeHealthPolicies": { + "tags": { "oneOf": [ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "type": "string" }, "properties": {} }, @@ -400,30 +456,51 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedClusters/nodeTypes" + ] } }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + } + }, + "definitions": { + "ApplicationHealthPolicy": { "type": "object", "properties": { - "maximumCapacity": { + "considerWarningAsError": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" + "description": "Indicates whether warnings are treated with the same severity as errors." }, - "name": { - "type": "string", - "description": "The name of the metric." + "defaultServiceTypeHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, - "reservationCapacity": { + "maxPercentUnhealthyDeployedApplications": { "oneOf": [ { "type": "integer" @@ -432,21 +509,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" + "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" }, - "totalApplicationCapacity": { + "serviceTypeHealthPolicyMap": { "oneOf": [ { - "type": "integer" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" } }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" + "required": [ + "considerWarningAsError", + "maxPercentUnhealthyDeployedApplications" + ], + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" }, "ApplicationResourceProperties": { "type": "object", @@ -465,45 +550,6 @@ ], "description": "List of user assigned identities for the application, each mapped to a friendly name." }, - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, "parameters": { "oneOf": [ { @@ -519,25 +565,6 @@ ], "description": "List of application parameters with overridden values from their default values specified in the application manifest." }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, "upgradePolicy": { "oneOf": [ { @@ -548,6 +575,10 @@ } ], "description": "Describes the policy for a monitored application upgrade." + }, + "version": { + "type": "string", + "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" } }, "description": "The application resource properties." @@ -588,7 +619,8 @@ }, "required": [ "maxUnusedVersionsToKeep" - ] + ], + "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." }, "ApplicationUpgradePolicy": { "type": "object", @@ -596,7 +628,7 @@ "applicationHealthPolicy": { "oneOf": [ { - "$ref": "#/definitions/ArmApplicationHealthPolicy" + "$ref": "#/definitions/ApplicationHealthPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -616,6 +648,17 @@ ], "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)." }, + "instanceCloseDelayDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, "recreateApplication": { "oneOf": [ { @@ -625,12 +668,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed and it will result in availability loss." + "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed." }, "rollingUpgradeMonitoringPolicy": { "oneOf": [ { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -643,20 +686,24 @@ { "type": "string", "enum": [ - "Invalid", - "UnmonitoredAuto", - "UnmonitoredManual", - "Monitored" + "Monitored", + "UnmonitoredAuto" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + ] }, "upgradeReplicaSetCheckTimeout": { - "type": "string", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], "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)." } }, @@ -679,327 +726,184 @@ "principalId" ] }, - "ArmApplicationHealthPolicy": { + "AzureActiveDirectory": { "type": "object", "properties": { - "considerWarningAsError": { + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { + "type": "object", + "properties": { + "commonName": { + "type": "string", + "description": "Certificate common name." + }, + "isAdmin": { "oneOf": [ { - "type": "boolean", - "default": false + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether warnings are treated with the same severity as errors." + "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." }, - "defaultServiceTypeHealthPolicy": { + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + } + }, + "required": [ + "isAdmin" + ], + "description": "Client certificate definition." + }, + "EndpointRangeDescription": { + "type": "object", + "properties": { + "endPort": { "oneOf": [ { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + "description": "End port of a range of ports" }, - "maxPercentUnhealthyDeployedApplications": { + "startPort": { "oneOf": [ { - "type": "integer", - "default": "0" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" - }, - "serviceTypeHealthPolicyMap": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ArmRollingUpgradeMonitoringPolicy": { - "type": "object", - "properties": { - "failureAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Rollback", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The activation Mode of the service package." - }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { - "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckWaitDuration": { - "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeTimeout": { - "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "description": "Starting port of a range of ports" } }, - "description": "The policy used for monitoring the application upgrade" + "required": [ + "endPort", + "startPort" + ], + "description": "Port range details" }, - "ArmServiceTypeHealthPolicy": { + "LoadBalancingRule": { "type": "object", "properties": { - "maxPercentUnhealthyPartitionsPerService": { + "backendPort": { "oneOf": [ { "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." }, - "maxPercentUnhealthyReplicasPerPartition": { + "frontendPort": { "oneOf": [ { "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" + "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." }, - "maxPercentUnhealthyServices": { + "probePort": { "oneOf": [ { "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." - }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." }, - "x509StoreName": { + "probeProtocol": { "oneOf": [ { "type": "string", "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" + "tcp", + "http", + "https" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The local certificate store location." - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." + "description": "the reference to the load balancer probe used by the load balancing rule." }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { + "probeRequestPath": { "type": "string", - "description": "The thumbprint of the client certificate." + "description": "The probe request path. Only supported for HTTP/HTTPS probes." }, - "isAdmin": { + "protocol": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "tcp", + "udp" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + "description": "The reference to the transport protocol used by the load balancing rule." } }, "required": [ - "certificateThumbprint", - "isAdmin" + "backendPort", + "frontendPort", + "probeProtocol", + "protocol" ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + "description": "Describes a load balancing rule." }, - "ClusterProperties": { + "ManagedClusterProperties": { "type": "object", "properties": { - "addOnFeatures": { + "addonFeatures": { "oneOf": [ { "type": "array", "items": { "type": "string", "enum": [ - "RepairManager", "DnsService", "BackupRestoreService", "ResourceMonitorService" @@ -1010,221 +914,205 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of add-on features to enable in the cluster." + "description": "List of add-on features to enable on the cluster." }, - "applicationTypeVersionsCleanupPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." }, - "azureActiveDirectory": { + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { "oneOf": [ { - "$ref": "#/definitions/AzureActiveDirectory" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The settings to enable AAD authentication on the cluster." + "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." }, - "certificate": { + "applicationTypeVersionsCleanupPolicy": { "oneOf": [ { - "$ref": "#/definitions/CertificateDescription" + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the certificate details." + "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." }, - "certificateCommonNames": { + "azureActiveDirectory": { "oneOf": [ { - "$ref": "#/definitions/ServerCertificateCommonNames" + "$ref": "#/definitions/AzureActiveDirectory" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "description": "The settings to enable AAD authentication on the cluster." }, - "clientCertificateCommonNames": { + "clientConnectionPort": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } + "type": "integer", + "default": "19000" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." + "description": "The port used for client connections to the cluster." }, - "clientCertificateThumbprints": { + "clients": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" + "$ref": "#/definitions/ClientCertificate" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." + "description": "Client certificates that are allowed to manage the cluster." }, "clusterCodeVersion": { "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." + "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**." }, - "diagnosticsStorageAccountConfig": { + "clusterUpgradeCadence": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage account information for storing Service Fabric diagnostic logs." + "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'." }, - "eventStoreServiceEnabled": { + "clusterUpgradeMode": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates if the event store service is enabled." + ] }, - "fabricSettings": { + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of custom fabric settings to configure the cluster." - }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." + "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." }, - "nodeTypes": { + "fabricSettings": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/NodeTypeDescription" + "$ref": "#/definitions/SettingsSectionDescription" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of node types in the cluster." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n." + "description": "The list of custom fabric settings to configure the cluster." }, - "reverseProxyCertificate": { + "httpGatewayConnectionPort": { "oneOf": [ { - "$ref": "#/definitions/CertificateDescription" + "type": "integer", + "default": "19080" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the certificate details." + "description": "The port used for HTTP connections to the cluster." }, - "reverseProxyCertificateCommonNames": { + "loadBalancingRules": { "oneOf": [ { - "$ref": "#/definitions/ServerCertificateCommonNames" + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "description": "Load balancing rules that are applied to the public load balancer of the cluster." }, - "upgradeDescription": { + "networkSecurityRules": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradePolicy" + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the policy used when upgrading the cluster." + "description": "Custom Network Security Rules that are applied to the virtual network of the cluster." }, - "upgradeMode": { + "zonalResiliency": { "oneOf": [ { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n." - }, - "vmImage": { - "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." + "description": "Indicates if the cluster has zone resiliency." } }, "required": [ - "managementEndpoint", - "nodeTypes" + "adminUserName", + "dnsName" ], - "description": "Describes the cluster resource properties." + "description": "Describes the managed cluster resource properties." }, - "clusters_applications_childResource": { + "managedclusters_applications_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "identity": { @@ -1240,7 +1128,7 @@ }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1257,6 +1145,17 @@ ], "description": "The application resource properties." }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -1285,20 +1184,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications" + "description": "Microsoft.ServiceFabric/managedclusters/applications" }, - "clusters_applications_services_childResource": { + "managedclusters_applications_services_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1315,20 +1214,31 @@ ], "description": "The service resource properties." }, - "tags": { + "systemData": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Azure resource tags." + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." }, "type": { "type": "string", @@ -1343,20 +1253,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" }, - "clusters_applicationTypes_childResource": { + "managedclusters_applicationTypes_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1373,6 +1283,17 @@ ], "description": "The application type name properties" }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -1401,20 +1322,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" }, - "clusters_applicationTypes_versions_childResource": { + "managedclusters_applicationTypes_versions_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2020-03-01" + "2021-05-01" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1431,6 +1352,17 @@ ], "description": "The properties of the application type version resource." }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, "tags": { "oneOf": [ { @@ -1459,253 +1391,251 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" }, - "ClusterUpgradeDeltaHealthPolicy": { + "managedClusters_nodeTypes_childResource": { "type": "object", "properties": { - "applicationDeltaHealthPolicies": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} + "$ref": "#/definitions/NodeTypeProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "maxPercentDeltaUnhealthyApplications": { + "systemData": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" + "description": "Metadata pertaining to creation and last modification of the resource." }, - "maxPercentDeltaUnhealthyNodes": { + "tags": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" + "description": "Azure resource tags." }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": { + "type": "string", + "enum": [ + "nodeTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" + "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" } }, - "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." + "description": "Describes the managed identities for an Azure resource." }, - "ClusterUpgradePolicy": { + "NetworkSecurityRule": { "type": "object", "properties": { - "deltaHealthPolicy": { + "access": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" + "type": "string", + "enum": [ + "allow", + "deny" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the delta health policies for the cluster upgrade." + "description": "The network traffic is allowed or denied." }, - "forceRestart": { + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefixes": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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)." + "description": "The destination address prefixes. CIDR or destination IP ranges." }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { + "destinationPortRanges": { "oneOf": [ { - "$ref": "#/definitions/ClusterHealthPolicy" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." + "description": "The destination port ranges." }, - "protectedAccountKeyName2": { - "type": "string", - "description": "The protected diagnostics storage key name." - }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." - }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." - }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { + "direction": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "inbound", + "outbound" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "End port of a range of ports" + "description": "Network security rule direction." }, - "startPort": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { "oneOf": [ { - "type": "integer" + "type": "integer", + "minimum": 1000, + "maximum": 3000 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "ManagedIdentity": { - "type": "object", - "properties": { - "type": { + "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." + }, + "protocol": { "oneOf": [ { "type": "string", "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of managed identity for the resource." + "description": "Network protocol this rule applies to." }, - "userAssignedIdentities": { + "sourceAddressPrefixes": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" + "description": "The CIDR or source IP ranges." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." } }, - "description": "Describes the managed identities for an Azure resource." + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." }, - "NodeTypeDescription": { + "NodeTypeProperties": { "type": "object", "properties": { "applicationPorts": { @@ -1734,7 +1664,7 @@ ], "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." }, - "clientConnectionEndpointPort": { + "dataDiskSizeGB": { "oneOf": [ { "type": "integer" @@ -1743,23 +1673,22 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The TCP cluster management endpoint port." + "description": "Disk size for each vm in the node type in GBs." }, - "durabilityLevel": { + "dataDiskType": { "oneOf": [ { "type": "string", "enum": [ - "Bronze", - "Silver", - "Gold" + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n." + ] }, "ephemeralPorts": { "oneOf": [ @@ -1772,31 +1701,40 @@ ], "description": "Port range details" }, - "httpGatewayEndpointPort": { + "isPrimary": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The HTTP cluster management endpoint port." + "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." }, - "isPrimary": { + "isStateless": { "oneOf": [ { - "type": "boolean" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." + "description": "Indicates if the node type can only host Stateless workloads." }, - "name": { - "type": "string", - "description": "The name of the node type." + "multiplePlacementGroups": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if scale set associated with the node type can be composed of multiple placement groups." }, "placementProperties": { "oneOf": [ @@ -1813,16 +1751,35 @@ ], "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." }, - "reverseProxyEndpointPort": { + "vmExtensions": { "oneOf": [ { - "type": "integer" + "type": "array", + "items": { + "$ref": "#/definitions/VMSSExtension" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The endpoint used by reverse proxy." + "description": "Set of extensions that should be installed onto the virtual machines." + }, + "vmImageOffer": { + "type": "string", + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "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'." }, "vmInstanceCount": { "oneOf": [ @@ -1835,88 +1792,147 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource." + "description": "The number of nodes in the node type." + }, + "vmManagedIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/VmManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identities for the virtual machine scale set under the node type." + }, + "vmSecrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secrets to install in the virtual machines." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." } }, "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", + "dataDiskSizeGB", "isPrimary", - "name", "vmInstanceCount" ], "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "PartitionSchemeDescription": { + "Partition": { "type": "object", "oneOf": [ { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" + "$ref": "#/definitions/SingletonPartitionScheme" } ], "properties": {}, "description": "Describes how the service is partitioned." }, - "ServerCertificateCommonName": { + "RollingUpgradeMonitoringPolicy": { "type": "object", "properties": { - "certificateCommonName": { + "failureAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Rollback", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "healthCheckRetryTimeout": { + "type": "string", + "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\"." + }, + "healthCheckStableDuration": { + "type": "string", + "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\"." + }, + "healthCheckWaitDuration": { + "type": "string", + "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\"." + }, + "upgradeDomainTimeout": { "type": "string", - "description": "The common name of the server certificate." + "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\"." }, - "certificateIssuerThumbprint": { + "upgradeTimeout": { "type": "string", - "description": "The issuer thumbprint of the server certificate." + "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\"." } }, "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" ], - "description": "Describes the server certificate details using common name." + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." }, - "ServerCertificateCommonNames": { + "ScalingPolicy": { "type": "object", "properties": { - "commonNames": { + "scalingMechanism": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } + "$ref": "#/definitions/ScalingMechanism" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." + "description": "Describes the mechanism for performing a scaling operation." }, - "x509StoreName": { + "scalingTrigger": { "oneOf": [ { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] + "$ref": "#/definitions/ScalingTrigger" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The local certificate store location." + "description": "Describes the trigger for performing a scaling operation." } }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "required": [ + "scalingMechanism", + "scalingTrigger" + ], + "description": "Specifies a metric to load balance a service during runtime." + }, + "ScalingTrigger": { + "type": "object", + "properties": {}, + "description": "Describes the trigger for performing a scaling operation." }, - "ServiceCorrelationDescription": { + "ServiceCorrelation": { "type": "object", "properties": { "scheme": { @@ -1924,8 +1940,6 @@ { "type": "string", "enum": [ - "Invalid", - "Affinity", "AlignedAffinity", "NonAlignedAffinity" ] @@ -1938,7 +1952,7 @@ }, "serviceName": { "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." + "description": "The full ARM Resource ID describing the service resource" } }, "required": [ @@ -1947,7 +1961,7 @@ ], "description": "Creates a particular correlation between services." }, - "ServiceLoadMetricDescription": { + "ServiceLoadMetric": { "type": "object", "properties": { "defaultLoad": { @@ -2010,8 +2024,28 @@ ], "description": "Specifies a metric to load balance a service during runtime." }, - "ServicePlacementPolicyDescription": { + "ServicePlacementNonPartiallyPlaceServicePolicy": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "NonPartiallyPlaceService" + ] + } + }, + "required": [ + "type" + ], + "description": "ServicePlacementNonPartiallyPlaceServicePolicy" + }, + "ServicePlacementPolicy": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ServicePlacementNonPartiallyPlaceServicePolicy" + } + ], "properties": {}, "description": "Describes the policy to be used for placement of a Service Fabric service." }, @@ -2031,7 +2065,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" + "$ref": "#/definitions/ServiceCorrelation" } }, { @@ -2054,13 +2088,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the move cost for the service." + ] }, "partitionDescription": { "oneOf": [ { - "$ref": "#/definitions/PartitionSchemeDescription" + "$ref": "#/definitions/Partition" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2072,23 +2105,33 @@ "type": "string", "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)\"." }, - "serviceDnsName": { - "type": "string", - "description": "Dns name used for the service. If this is specified, then the service can be accessed via its DNS name instead of service name." + "scalingPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling policies for this service." }, "serviceLoadMetrics": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" + "$ref": "#/definitions/ServiceLoadMetric" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + "description": "The service load metrics is given as an array of ServiceLoadMetric objects." }, "servicePackageActivationMode": { "oneOf": [ @@ -2110,7 +2153,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" + "$ref": "#/definitions/ServicePlacementPolicy" } }, { @@ -2124,46 +2167,60 @@ "description": "The name of the service type" } }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], "description": "The service resource properties." }, - "ServiceTypeDeltaHealthPolicy": { + "ServiceTypeHealthPolicy": { "type": "object", "properties": { - "maxPercentDeltaUnhealthyServices": { + "maxPercentUnhealthyPartitionsPerService": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100, - "default": "0" + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { + "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" + }, + "maxPercentUnhealthyReplicasPerPartition": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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" + }, "maxPercentUnhealthyServices": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100, - "default": "0" + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" + "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" } }, + "required": [ + "maxPercentUnhealthyPartitionsPerService", + "maxPercentUnhealthyReplicasPerPartition", + "maxPercentUnhealthyServices" + ], "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, "SettingsParameterDescription": { @@ -2212,7 +2269,7 @@ ], "description": "Describes a section in the fabric settings of the cluster." }, - "SingletonPartitionSchemeDescription": { + "SingletonPartitionScheme": { "type": "object", "properties": { "partitionScheme": { @@ -2225,7 +2282,31 @@ "required": [ "partitionScheme" ], - "description": "SingletonPartitionSchemeDescription" + "description": "SingletonPartitionScheme" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku Name." + } + }, + "required": [ + "name" + ], + "description": "Service Fabric managed cluster Sku definition" }, "StatefulServiceProperties": { "type": "object", @@ -2255,13 +2336,11 @@ }, "quorumLossWaitDuration": { "type": "string", - "format": "date-time", - "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.s)." + "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\"." }, "replicaRestartWaitDuration": { "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." + "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." }, "serviceKind": { "type": "string", @@ -2269,10 +2348,13 @@ "Stateful" ] }, + "servicePlacementTimeLimit": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\"." + }, "standByReplicaKeepDuration": { "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." }, "targetReplicaSetSize": { "oneOf": [ @@ -2295,10 +2377,6 @@ "StatelessServiceProperties": { "type": "object", "properties": { - "instanceCloseDelayDuration": { - "type": "string", - "description": "Delay duration for RequestDrain feature to ensures that the endpoint advertised by the stateless instance is removed before the delay starts prior to closing the instance. This delay enables existing requests to drain gracefully before the instance actually goes down (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-advanced#avoid-connection-drops-during-stateless-service-planned-downtime-preview). It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, "instanceCount": { "oneOf": [ { @@ -2311,6 +2389,28 @@ ], "description": "The instance count." }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "minInstancePercentage": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, "serviceKind": { "type": "string", "enum": [ @@ -2319,13 +2419,216 @@ } }, "required": [ + "instanceCount", "serviceKind" ], "description": "The properties of a stateless service resource." }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, "UserAssignedIdentity": { "type": "object", "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "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.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "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:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + } + }, + "required": [ + "certificateStore", + "certificateUrl" + ], + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "required": [ + "sourceVault", + "vaultCertificates" + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines." + }, + "VmManagedIdentity": { + "type": "object", + "properties": { + "userAssignedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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}'." + } + }, + "description": "Identities for the virtual machine scale set under the node type." + }, + "VMSSExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VMSSExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "forceUpdateTag": { + "type": "string", + "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." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisionAfterExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } } } \ No newline at end of file diff --git a/schemas/2021-06-01/Microsoft.ServiceFabric.json b/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json similarity index 68% rename from schemas/2021-06-01/Microsoft.ServiceFabric.json rename to schemas/2021-07-01-preview/Microsoft.ServiceFabric.json index d7f892d16a..ea20bdf536 100644 --- a/schemas/2021-06-01/Microsoft.ServiceFabric.json +++ b/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json @@ -1,16 +1,16 @@ { - "id": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#", + "id": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.ServiceFabric", "description": "Microsoft ServiceFabric Resource Types", "resourceDefinitions": { - "clusters": { + "managedClusters": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { @@ -24,27 +24,41 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/ManagedClusterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the cluster resource properties." + "description": "Describes the managed cluster resource properties." }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applicationTypes_childResource" + "$ref": "#/definitions/managedclusters_applicationTypes_childResource" }, { - "$ref": "#/definitions/clusters_applications_childResource" + "$ref": "#/definitions/managedclusters_applications_childResource" + }, + { + "$ref": "#/definitions/managedClusters_nodeTypes_childResource" } ] } }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Fabric managed cluster Sku definition" + }, "systemData": { "oneOf": [ { @@ -74,7 +88,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters" + "Microsoft.ServiceFabric/managedClusters" ] } }, @@ -85,15 +99,15 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters" + "description": "Microsoft.ServiceFabric/managedClusters" }, - "clusters_applications": { + "managedclusters_applications": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "identity": { @@ -109,7 +123,7 @@ }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -131,7 +145,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applications_services_childResource" + "$ref": "#/definitions/managedclusters_applications_services_childResource" } ] } @@ -165,7 +179,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applications" + "Microsoft.ServiceFabric/managedclusters/applications" ] } }, @@ -175,20 +189,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications" + "description": "Microsoft.ServiceFabric/managedclusters/applications" }, - "clusters_applications_services": { + "managedclusters_applications_services": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -234,7 +248,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applications/services" + "Microsoft.ServiceFabric/managedclusters/applications/services" ] } }, @@ -244,20 +258,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" }, - "clusters_applicationTypes": { + "managedclusters_applicationTypes": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -279,7 +293,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" + "$ref": "#/definitions/managedclusters_applicationTypes_versions_childResource" } ] } @@ -313,7 +327,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes" + "Microsoft.ServiceFabric/managedclusters/applicationTypes" ] } }, @@ -323,20 +337,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" }, - "clusters_applicationTypes_versions": { + "managedclusters_applicationTypes_versions": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -382,7 +396,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" ] } }, @@ -392,62 +406,60 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" - } - }, - "definitions": { - "ApplicationDeltaHealthPolicy": { + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { "type": "object", "properties": { - "defaultServiceTypeDeltaHealthPolicy": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" + "$ref": "#/definitions/NodeTypeProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "serviceTypeDeltaHealthPolicies": { + "sku": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" - }, - "properties": {} + "$ref": "#/definitions/NodeTypeSku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n" - } - }, - "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n" - }, - "ApplicationHealthPolicy": { - "type": "object", - "properties": { - "defaultServiceTypeHealthPolicy": { + "description": "Describes a node type sku." + }, + "systemData": { "oneOf": [ { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + "description": "Metadata pertaining to creation and last modification of the resource." }, - "serviceTypeHealthPolicies": { + "tags": { "oneOf": [ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "type": "string" }, "properties": {} }, @@ -455,30 +467,51 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedClusters/nodeTypes" + ] } }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" - }, - "ApplicationMetricDescription": { + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + } + }, + "definitions": { + "ApplicationHealthPolicy": { "type": "object", "properties": { - "maximumCapacity": { + "considerWarningAsError": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\n" + "description": "Indicates whether warnings are treated with the same severity as errors." }, - "name": { - "type": "string", - "description": "The name of the metric." + "defaultServiceTypeHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, - "reservationCapacity": { + "maxPercentUnhealthyDeployedApplications": { "oneOf": [ { "type": "integer" @@ -487,21 +520,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.\n" + "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" }, - "totalApplicationCapacity": { + "serviceTypeHealthPolicyMap": { "oneOf": [ { - "type": "integer" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.\n" + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" } }, - "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.\n" + "required": [ + "considerWarningAsError", + "maxPercentUnhealthyDeployedApplications" + ], + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" }, "ApplicationResourceProperties": { "type": "object", @@ -520,45 +561,6 @@ ], "description": "List of user assigned identities for the application, each mapped to a friendly name." }, - "maximumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node." - }, - "metrics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationMetricDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of application capacity metric description." - }, - "minimumNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property." - }, "parameters": { "oneOf": [ { @@ -574,25 +576,6 @@ ], "description": "List of application parameters with overridden values from their default values specified in the application manifest." }, - "removeApplicationCapacity": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Remove the current application capacity settings." - }, - "typeName": { - "type": "string", - "description": "The application type name as defined in the application manifest." - }, - "typeVersion": { - "type": "string", - "description": "The version of the application type as defined in the application manifest." - }, "upgradePolicy": { "oneOf": [ { @@ -603,6 +586,10 @@ } ], "description": "Describes the policy for a monitored application upgrade." + }, + "version": { + "type": "string", + "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" } }, "description": "The application resource properties." @@ -643,7 +630,8 @@ }, "required": [ "maxUnusedVersionsToKeep" - ] + ], + "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." }, "ApplicationUpgradePolicy": { "type": "object", @@ -651,7 +639,7 @@ "applicationHealthPolicy": { "oneOf": [ { - "$ref": "#/definitions/ArmApplicationHealthPolicy" + "$ref": "#/definitions/ApplicationHealthPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -671,6 +659,17 @@ ], "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)." }, + "instanceCloseDelayDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, "recreateApplication": { "oneOf": [ { @@ -680,12 +679,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed and it will result in availability loss." + "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed." }, "rollingUpgradeMonitoringPolicy": { "oneOf": [ { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -698,10 +697,8 @@ { "type": "string", "enum": [ - "Invalid", - "UnmonitoredAuto", - "UnmonitoredManual", - "Monitored" + "Monitored", + "UnmonitoredAuto" ] }, { @@ -710,7 +707,14 @@ ] }, "upgradeReplicaSetCheckTimeout": { - "type": "string", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], "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)." } }, @@ -733,326 +737,231 @@ "principalId" ] }, - "ArmApplicationHealthPolicy": { + "AzureActiveDirectory": { + "type": "object", + "properties": { + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { "type": "object", "properties": { - "considerWarningAsError": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether warnings are treated with the same severity as errors." + "commonName": { + "type": "string", + "description": "Certificate common name." }, - "defaultServiceTypeHealthPolicy": { + "isAdmin": { "oneOf": [ { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." }, - "maxPercentUnhealthyDeployedApplications": { + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + } + }, + "required": [ + "isAdmin" + ], + "description": "Client certificate definition." + }, + "EndpointRangeDescription": { + "type": "object", + "properties": { + "endPort": { "oneOf": [ { - "type": "integer", - "default": "0" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" + "description": "End port of a range of ports" }, - "serviceTypeHealthPolicyMap": { + "startPort": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ArmServiceTypeHealthPolicy" - }, - "properties": {} + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" + "description": "Starting port of a range of ports" } }, - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" + "required": [ + "endPort", + "startPort" + ], + "description": "Port range details" }, - "ArmRollingUpgradeMonitoringPolicy": { + "FrontendConfiguration": { "type": "object", "properties": { - "failureAction": { + "ipAddressType": { "oneOf": [ { "type": "string", "enum": [ - "Rollback", - "Manual" + "IPv4", + "IPv6" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The activation Mode of the service package." + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." }, - "healthCheckRetryTimeout": { - "type": "string", - "default": "PT0H10M0S", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "healthCheckStableDuration": { + "loadBalancerBackendAddressPoolId": { "type": "string", - "default": "PT0H2M0S", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "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//resourceGroups//providers/Microsoft.Network/loadBalancers//backendAddressPools/'." }, - "healthCheckWaitDuration": { + "loadBalancerInboundNatPoolId": { "type": "string", - "default": "0", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, - "upgradeDomainTimeout": { + "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//resourceGroups//providers/Microsoft.Network/loadBalancers//inboundNatPools/'." + } + }, + "description": "Describes the frontend configurations for the node type." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "description": "The IP tag type." }, - "upgradeTimeout": { + "tag": { "type": "string", - "default": "P10675199DT02H48M05.4775807S", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "description": "The value of the IP tag." } }, - "description": "The policy used for monitoring the application upgrade" + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." }, - "ArmServiceTypeHealthPolicy": { + "LoadBalancingRule": { "type": "object", "properties": { - "maxPercentUnhealthyPartitionsPerService": { + "backendPort": { "oneOf": [ { "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." }, - "maxPercentUnhealthyReplicasPerPartition": { + "frontendPort": { "oneOf": [ { "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" + "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." }, - "maxPercentUnhealthyServices": { + "probePort": { "oneOf": [ { "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "minimum": 1, + "maximum": 65534 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" - } - }, - "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" - }, - "AzureActiveDirectory": { - "type": "object", - "properties": { - "clientApplication": { - "type": "string", - "description": "Azure active directory client application id." - }, - "clusterApplication": { - "type": "string", - "description": "Azure active directory cluster application id." - }, - "tenantId": { - "type": "string", - "description": "Azure active directory tenant id." - } - }, - "description": "The settings to enable AAD authentication on the cluster." - }, - "CertificateDescription": { - "type": "object", - "properties": { - "thumbprint": { - "type": "string", - "description": "Thumbprint of the primary certificate." + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." }, - "thumbprintSecondary": { - "type": "string", - "description": "Thumbprint of the secondary certificate." - }, - "x509StoreName": { + "probeProtocol": { "oneOf": [ { "type": "string", "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" + "tcp", + "http", + "https" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - } - }, - "required": [ - "thumbprint" - ], - "description": "Describes the certificate details." - }, - "ClientCertificateCommonName": { - "type": "object", - "properties": { - "certificateCommonName": { - "type": "string", - "description": "The common name of the client certificate." - }, - "certificateIssuerThumbprint": { - "type": "string", - "description": "The issuer thumbprint of the client certificate." - }, - "isAdmin": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." - } - }, - "required": [ - "certificateCommonName", - "certificateIssuerThumbprint", - "isAdmin" - ], - "description": "Describes the client certificate details using common name." - }, - "ClientCertificateThumbprint": { - "type": "object", - "properties": { - "certificateThumbprint": { + "description": "the reference to the load balancer probe used by the load balancing rule." + }, + "probeRequestPath": { "type": "string", - "description": "The thumbprint of the client certificate." + "description": "The probe request path. Only supported for HTTP/HTTPS probes." }, - "isAdmin": { + "protocol": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "tcp", + "udp" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + "description": "The reference to the transport protocol used by the load balancing rule." } }, "required": [ - "certificateThumbprint", - "isAdmin" + "backendPort", + "frontendPort", + "probeProtocol", + "protocol" ], - "description": "Describes the client certificate details using thumbprint." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "applicationHealthPolicies": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationHealthPolicy" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" - }, - "maxPercentUnhealthyApplications": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n" - }, - "maxPercentUnhealthyNodes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n" - } - }, - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + "description": "Describes a load balancing rule." }, - "ClusterProperties": { + "ManagedClusterProperties": { "type": "object", "properties": { - "addOnFeatures": { + "addonFeatures": { "oneOf": [ { "type": "array", "items": { "type": "string", "enum": [ - "RepairManager", "DnsService", "BackupRestoreService", "ResourceMonitorService" @@ -1063,120 +972,115 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of add-on features to enable in the cluster." + "description": "List of add-on features to enable on the cluster." }, - "applicationTypeVersionsCleanupPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." }, - "azureActiveDirectory": { + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { "oneOf": [ { - "$ref": "#/definitions/AzureActiveDirectory" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The settings to enable AAD authentication on the cluster." + "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." }, - "certificate": { + "applicationTypeVersionsCleanupPolicy": { "oneOf": [ { - "$ref": "#/definitions/CertificateDescription" + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the certificate details." + "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." }, - "certificateCommonNames": { + "azureActiveDirectory": { "oneOf": [ { - "$ref": "#/definitions/ServerCertificateCommonNames" + "$ref": "#/definitions/AzureActiveDirectory" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "description": "The settings to enable AAD authentication on the cluster." }, - "clientCertificateCommonNames": { + "clientConnectionPort": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificateCommonName" - } + "type": "integer", + "default": "19000" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." + "description": "The port used for client connections to the cluster." }, - "clientCertificateThumbprints": { + "clients": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/ClientCertificateThumbprint" + "$ref": "#/definitions/ClientCertificate" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." + "description": "Client certificates that are allowed to manage the cluster." }, "clusterCodeVersion": { "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** 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**." + "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**." }, - "diagnosticsStorageAccountConfig": { + "clusterUpgradeCadence": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsStorageAccountConfig" + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage account information for storing Service Fabric diagnostic logs." + "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'." }, - "eventStoreServiceEnabled": { + "clusterUpgradeMode": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates if the event store service is enabled." + ] }, - "fabricSettings": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SettingsSectionDescription" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of custom fabric settings to configure the cluster." + "dnsName": { + "type": "string", + "description": "The cluster dns name." }, - "infrastructureServiceManager": { + "enableAutoOSUpgrade": { "oneOf": [ { "type": "boolean" @@ -1185,187 +1089,117 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates if infrastructure service manager is enabled." + "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." }, - "managementEndpoint": { - "type": "string", - "description": "The http management endpoint of the cluster." - }, - "nodeTypes": { + "enableIpv6": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/NodeTypeDescription" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of node types in the cluster." + "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." }, - "notifications": { + "fabricSettings": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/Notification" + "$ref": "#/definitions/SettingsSectionDescription" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates a list of notification channels for cluster events." - }, - "reliabilityLevel": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Bronze", - "Silver", - "Gold", - "Platinum" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "description": "The list of custom fabric settings to configure the cluster." }, - "reverseProxyCertificate": { + "httpGatewayConnectionPort": { "oneOf": [ { - "$ref": "#/definitions/CertificateDescription" + "type": "integer", + "default": "19080" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the certificate details." + "description": "The port used for HTTP connections to the cluster." }, - "reverseProxyCertificateCommonNames": { + "ipTags": { "oneOf": [ { - "$ref": "#/definitions/ServerCertificateCommonNames" + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." - }, - "sfZonalUpgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Parallel", - "Hierarchical" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "description": "The list of IP tags associated with the default public IP address of the cluster." }, - "upgradeDescription": { + "loadBalancingRules": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradePolicy" + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the policy used when upgrading the cluster." - }, - "upgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "upgradePauseEndTimestampUtc": { - "type": "string", - "format": "date-time", - "description": "Indicates the end date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC)." + "description": "Load balancing rules that are applied to the public load balancer of the cluster." }, - "upgradePauseStartTimestampUtc": { - "type": "string", - "format": "date-time", - "description": "Indicates the start date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC)." - }, - "upgradeWave": { + "networkSecurityRules": { "oneOf": [ { - "type": "string", - "enum": [ - "Wave0", - "Wave1", - "Wave2" - ] + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. Only applies when **upgradeMode** is set to 'Automatic'." + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." }, - "vmImage": { + "subnetId": { "type": "string", - "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." - }, - "vmssZonalUpgradeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Parallel", - "Hierarchical" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "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." }, - "waveUpgradePaused": { + "zonalResiliency": { "oneOf": [ { - "type": "boolean" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Boolean to pause automatic runtime version upgrades to the cluster." + "description": "Indicates if the cluster has zone resiliency." } }, "required": [ - "managementEndpoint", - "nodeTypes" + "adminUserName", + "dnsName" ], - "description": "Describes the cluster resource properties." + "description": "Describes the managed cluster resource properties." }, - "clusters_applications_childResource": { + "managedclusters_applications_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "identity": { @@ -1381,7 +1215,7 @@ }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1437,20 +1271,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications" + "description": "Microsoft.ServiceFabric/managedclusters/applications" }, - "clusters_applications_services_childResource": { + "managedclusters_applications_services_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1506,20 +1340,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applications/services" + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" }, - "clusters_applicationTypes_childResource": { + "managedclusters_applicationTypes_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1575,20 +1409,20 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" }, - "clusters_applicationTypes_versions_childResource": { + "managedclusters_applicationTypes_versions_childResource": { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ - "2021-06-01" + "2021-07-01-preview" ] }, "location": { "type": "string", - "description": "It will be deprecated in New API, resource location depends on the parent resource." + "description": "Resource location depends on the parent resource." }, "name": { "type": "string", @@ -1644,252 +1478,262 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" }, - "ClusterUpgradeDeltaHealthPolicy": { + "managedClusters_nodeTypes_childResource": { "type": "object", "properties": { - "applicationDeltaHealthPolicies": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ApplicationDeltaHealthPolicy" - }, - "properties": {} + "$ref": "#/definitions/NodeTypeProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n" + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "maxPercentDeltaUnhealthyApplications": { + "sku": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "$ref": "#/definitions/NodeTypeSku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n" + "description": "Describes a node type sku." }, - "maxPercentDeltaUnhealthyNodes": { + "systemData": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "$ref": "#/definitions/SystemData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" + "description": "Metadata pertaining to creation and last modification of the resource." }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { + "tags": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100 + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n" + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "nodeTypes" + ] } }, "required": [ - "maxPercentDeltaUnhealthyApplications", - "maxPercentDeltaUnhealthyNodes", - "maxPercentUpgradeDomainDeltaUnhealthyNodes" + "apiVersion", + "name", + "properties", + "type" ], - "description": "Describes the delta health policies for the cluster upgrade." + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" }, - "ClusterUpgradePolicy": { + "ManagedIdentity": { "type": "object", "properties": { - "deltaHealthPolicy": { + "type": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy" + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the delta health policies for the cluster upgrade." + ] }, - "forceRestart": { + "userAssignedIdentities": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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)." - }, - "healthCheckRetryTimeout": { - "type": "string", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckStableDuration": { - "type": "string", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthCheckWaitDuration": { - "type": "string", - "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "healthPolicy": { + "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" + } + }, + "description": "Describes the managed identities for an Azure resource." + }, + "NetworkSecurityRule": { + "type": "object", + "properties": { + "access": { "oneOf": [ { - "$ref": "#/definitions/ClusterHealthPolicy" + "type": "string", + "enum": [ + "allow", + "deny" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" - }, - "upgradeDomainTimeout": { - "type": "string", - "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeReplicaSetCheckTimeout": { - "type": "string", - "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. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - }, - "upgradeTimeout": { - "type": "string", - "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." - } - }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "healthPolicy", - "upgradeDomainTimeout", - "upgradeReplicaSetCheckTimeout", - "upgradeTimeout" - ], - "description": "Describes the policy used when upgrading the cluster." - }, - "DiagnosticsStorageAccountConfig": { - "type": "object", - "properties": { - "blobEndpoint": { - "type": "string", - "description": "The blob endpoint of the azure storage account." - }, - "protectedAccountKeyName": { - "type": "string", - "description": "The protected diagnostics storage key name." + "description": "The network traffic is allowed or denied." }, - "protectedAccountKeyName2": { + "description": { "type": "string", - "description": "The protected diagnostics storage key name." + "description": "Network security rule description." }, - "queueEndpoint": { - "type": "string", - "description": "The queue endpoint of the azure storage account." + "destinationAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination address prefixes. CIDR or destination IP ranges." }, - "storageAccountName": { - "type": "string", - "description": "The Azure storage account name." + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." }, - "tableEndpoint": { - "type": "string", - "description": "The table endpoint of the azure storage account." - } - }, - "required": [ - "blobEndpoint", - "protectedAccountKeyName", - "queueEndpoint", - "storageAccountName", - "tableEndpoint" - ], - "description": "The storage account information for storing Service Fabric diagnostic logs." - }, - "EndpointRangeDescription": { - "type": "object", - "properties": { - "endPort": { + "direction": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "inbound", + "outbound" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "End port of a range of ports" + "description": "Network security rule direction." }, - "startPort": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { "oneOf": [ { - "type": "integer" + "type": "integer", + "minimum": 1000, + "maximum": 3000 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Starting port of a range of ports" - } - }, - "required": [ - "endPort", - "startPort" - ], - "description": "Port range details" - }, - "ManagedIdentity": { - "type": "object", - "properties": { - "type": { + "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." + }, + "protocol": { "oneOf": [ { "type": "string", "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Network protocol this rule applies to." }, - "userAssignedIdentities": { + "sourceAddressPrefixes": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" + "description": "The CIDR or source IP ranges." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." } }, - "description": "Describes the managed identities for an Azure resource." + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." }, - "NodeTypeDescription": { + "NodeTypeProperties": { "type": "object", "properties": { "applicationPorts": { @@ -1918,7 +1762,7 @@ ], "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." }, - "clientConnectionEndpointPort": { + "dataDiskSizeGB": { "oneOf": [ { "type": "integer" @@ -1927,22 +1771,23 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The TCP cluster management endpoint port." + "description": "Disk size for each vm in the node type in GBs." }, - "durabilityLevel": { + "dataDiskType": { "oneOf": [ { "type": "string", "enum": [ - "Bronze", - "Silver", - "Gold" + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Managed data disk type." }, "ephemeralPorts": { "oneOf": [ @@ -1955,16 +1800,19 @@ ], "description": "Port range details" }, - "httpGatewayEndpointPort": { + "frontendConfigurations": { "oneOf": [ { - "type": "integer" + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The HTTP cluster management endpoint port." + "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." }, "isPrimary": { "oneOf": [ @@ -1975,12 +1823,13 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." + "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." }, "isStateless": { "oneOf": [ { - "type": "boolean" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1988,20 +1837,31 @@ ], "description": "Indicates if the node type can only host Stateless workloads." }, - "multipleAvailabilityZones": { + "multiplePlacementGroups": { "oneOf": [ { - "type": "boolean" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates if the node type is enabled to support multiple zones." + "description": "Indicates if scale set associated with the node type can be composed of multiple placement groups." }, - "name": { - "type": "string", - "description": "The name of the node type." + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations." }, "placementProperties": { "oneOf": [ @@ -2018,214 +1878,218 @@ ], "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." }, - "reverseProxyEndpointPort": { + "vmExtensions": { "oneOf": [ { - "type": "integer" + "type": "array", + "items": { + "$ref": "#/definitions/VMSSExtension" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The endpoint used by reverse proxy." + "description": "Set of extensions that should be installed onto the virtual machines." + }, + "vmImageOffer": { + "type": "string", + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "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'." }, "vmInstanceCount": { "oneOf": [ { "type": "integer", - "minimum": 0, + "minimum": -1, "maximum": 2147483647 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "VMInstanceCount should be 1 to n, where n indicates the number of VM instances corresponding to this nodeType. VMInstanceCount = 0 can be done only in these scenarios: NodeType is a secondary nodeType. Durability = Bronze or Durability >= Bronze and InfrastructureServiceManager = true. If VMInstanceCount = 0, implies the VMs for this nodeType will not be used for the initial cluster size computation." - } - }, - "required": [ - "clientConnectionEndpointPort", - "httpGatewayEndpointPort", - "isPrimary", - "name", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "Notification": { - "type": "object", - "properties": { - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the notification is enabled." - }, - "notificationCategory": { - "oneOf": [ - { - "type": "string", - "enum": [ - "WaveProgress" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The category of notification." + "description": "The number of nodes in the node type.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." }, - "notificationLevel": { + "vmManagedIdentity": { "oneOf": [ { - "type": "string", - "enum": [ - "Critical", - "All" - ] + "$ref": "#/definitions/VmManagedIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The level of notification." + "description": "Identities for the virtual machine scale set under the node type." }, - "notificationTargets": { + "vmSecrets": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/NotificationTarget" + "$ref": "#/definitions/VaultSecretGroup" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of targets that subscribe to the notification." + "description": "The secrets to install in the virtual machines." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." } }, "required": [ - "isEnabled", - "notificationCategory", - "notificationLevel", - "notificationTargets" + "dataDiskSizeGB", + "isPrimary", + "vmInstanceCount" ], - "description": "Describes the notification channel for cluster events." + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, - "NotificationTarget": { + "NodeTypeSku": { "type": "object", "properties": { - "notificationChannel": { + "capacity": { "oneOf": [ { - "type": "string", - "enum": [ - "EmailUser", - "EmailSubscription" - ] + "type": "integer", + "minimum": 1, + "maximum": 2147483647 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The notification channel indicates the type of receivers subscribed to the notification, either user or subscription." + "description": "The number of nodes in the node type.

If present in request it will override properties.vmInstanceCount." }, - "receivers": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of targets that subscribe to the notification." + "name": { + "type": "string", + "description": "The sku name.

Name is internally generated and is used in auto-scale scenarios.
Property does not allow to be changed to other values than generated.
To avoid deployment errors please omit the property." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the node type.

Possible Values:
**Standard**" } }, "required": [ - "notificationChannel", - "receivers" + "capacity" ], - "description": "Describes the notification target properties." + "description": "Describes a node type sku." }, - "PartitionSchemeDescription": { + "Partition": { "type": "object", "oneOf": [ { - "$ref": "#/definitions/SingletonPartitionSchemeDescription" + "$ref": "#/definitions/SingletonPartitionScheme" } ], "properties": {}, "description": "Describes how the service is partitioned." }, - "ServerCertificateCommonName": { + "RollingUpgradeMonitoringPolicy": { "type": "object", "properties": { - "certificateCommonName": { + "failureAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Rollback", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "healthCheckRetryTimeout": { + "type": "string", + "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\"." + }, + "healthCheckStableDuration": { + "type": "string", + "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\"." + }, + "healthCheckWaitDuration": { + "type": "string", + "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\"." + }, + "upgradeDomainTimeout": { "type": "string", - "description": "The common name of the server certificate." + "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\"." }, - "certificateIssuerThumbprint": { + "upgradeTimeout": { "type": "string", - "description": "The issuer thumbprint of the server certificate." + "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\"." } }, "required": [ - "certificateCommonName", - "certificateIssuerThumbprint" + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" ], - "description": "Describes the server certificate details using common name." + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." }, - "ServerCertificateCommonNames": { + "ScalingPolicy": { "type": "object", "properties": { - "commonNames": { + "scalingMechanism": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ServerCertificateCommonName" - } + "$ref": "#/definitions/ScalingMechanism" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of server certificates referenced by common name that are used to secure the cluster." + "description": "Describes the mechanism for performing a scaling operation." }, - "x509StoreName": { + "scalingTrigger": { "oneOf": [ { - "type": "string", - "enum": [ - "AddressBook", - "AuthRoot", - "CertificateAuthority", - "Disallowed", - "My", - "Root", - "TrustedPeople", - "TrustedPublisher" - ] + "$ref": "#/definitions/ScalingTrigger" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the trigger for performing a scaling operation." } }, - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "required": [ + "scalingMechanism", + "scalingTrigger" + ], + "description": "Specifies a metric to load balance a service during runtime." + }, + "ScalingTrigger": { + "type": "object", + "properties": {}, + "description": "Describes the trigger for performing a scaling operation." }, - "ServiceCorrelationDescription": { + "ServiceCorrelation": { "type": "object", "properties": { "scheme": { @@ -2233,8 +2097,6 @@ { "type": "string", "enum": [ - "Invalid", - "Affinity", "AlignedAffinity", "NonAlignedAffinity" ] @@ -2247,7 +2109,7 @@ }, "serviceName": { "type": "string", - "description": "The full name of the service with 'fabric:' URI scheme." + "description": "The full ARM Resource ID describing the service resource" } }, "required": [ @@ -2256,7 +2118,7 @@ ], "description": "Creates a particular correlation between services." }, - "ServiceLoadMetricDescription": { + "ServiceLoadMetric": { "type": "object", "properties": { "defaultLoad": { @@ -2319,8 +2181,28 @@ ], "description": "Specifies a metric to load balance a service during runtime." }, - "ServicePlacementPolicyDescription": { + "ServicePlacementNonPartiallyPlaceServicePolicy": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "NonPartiallyPlaceService" + ] + } + }, + "required": [ + "type" + ], + "description": "ServicePlacementNonPartiallyPlaceServicePolicy" + }, + "ServicePlacementPolicy": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ServicePlacementNonPartiallyPlaceServicePolicy" + } + ], "properties": {}, "description": "Describes the policy to be used for placement of a Service Fabric service." }, @@ -2340,7 +2222,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServiceCorrelationDescription" + "$ref": "#/definitions/ServiceCorrelation" } }, { @@ -2368,7 +2250,7 @@ "partitionDescription": { "oneOf": [ { - "$ref": "#/definitions/PartitionSchemeDescription" + "$ref": "#/definitions/Partition" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2380,23 +2262,33 @@ "type": "string", "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)\"." }, - "serviceDnsName": { - "type": "string", - "description": "Dns name used for the service. If this is specified, then the service can be accessed via its DNS name instead of service name." + "scalingPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling policies for this service." }, "serviceLoadMetrics": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/ServiceLoadMetricDescription" + "$ref": "#/definitions/ServiceLoadMetric" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + "description": "The service load metrics is given as an array of ServiceLoadMetric objects." }, "servicePackageActivationMode": { "oneOf": [ @@ -2418,7 +2310,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServicePlacementPolicyDescription" + "$ref": "#/definitions/ServicePlacementPolicy" } }, { @@ -2432,46 +2324,60 @@ "description": "The name of the service type" } }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], "description": "The service resource properties." }, - "ServiceTypeDeltaHealthPolicy": { + "ServiceTypeHealthPolicy": { "type": "object", "properties": { - "maxPercentDeltaUnhealthyServices": { + "maxPercentUnhealthyPartitionsPerService": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100, - "default": "0" + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n" - } - }, - "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" - }, - "ServiceTypeHealthPolicy": { - "type": "object", - "properties": { + "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" + }, + "maxPercentUnhealthyReplicasPerPartition": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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" + }, "maxPercentUnhealthyServices": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100, - "default": "0" + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" + "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" } }, + "required": [ + "maxPercentUnhealthyPartitionsPerService", + "maxPercentUnhealthyReplicasPerPartition", + "maxPercentUnhealthyServices" + ], "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, "SettingsParameterDescription": { @@ -2520,7 +2426,7 @@ ], "description": "Describes a section in the fabric settings of the cluster." }, - "SingletonPartitionSchemeDescription": { + "SingletonPartitionScheme": { "type": "object", "properties": { "partitionScheme": { @@ -2533,7 +2439,31 @@ "required": [ "partitionScheme" ], - "description": "SingletonPartitionSchemeDescription" + "description": "SingletonPartitionScheme" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku Name." + } + }, + "required": [ + "name" + ], + "description": "Service Fabric managed cluster Sku definition" }, "StatefulServiceProperties": { "type": "object", @@ -2563,13 +2493,11 @@ }, "quorumLossWaitDuration": { "type": "string", - "format": "date-time", - "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.s)." + "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\"." }, "replicaRestartWaitDuration": { "type": "string", - "format": "date-time", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s)." + "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." }, "serviceKind": { "type": "string", @@ -2577,10 +2505,13 @@ "Stateful" ] }, + "servicePlacementTimeLimit": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\"." + }, "standByReplicaKeepDuration": { "type": "string", - "format": "date-time", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s)." + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." }, "targetReplicaSetSize": { "oneOf": [ @@ -2603,10 +2534,6 @@ "StatelessServiceProperties": { "type": "object", "properties": { - "instanceCloseDelayDuration": { - "type": "string", - "description": "Delay duration for RequestDrain feature to ensures that the endpoint advertised by the stateless instance is removed before the delay starts prior to closing the instance. This delay enables existing requests to drain gracefully before the instance actually goes down (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-advanced#avoid-connection-drops-during-stateless-service-planned-downtime-preview). It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." - }, "instanceCount": { "oneOf": [ { @@ -2619,6 +2546,28 @@ ], "description": "The instance count." }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "minInstancePercentage": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, "serviceKind": { "type": "string", "enum": [ @@ -2627,10 +2576,21 @@ } }, "required": [ + "instanceCount", "serviceKind" ], "description": "The properties of a stateless service resource." }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier." + }, "SystemData": { "type": "object", "properties": { @@ -2666,6 +2626,166 @@ "UserAssignedIdentity": { "type": "object", "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "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.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "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:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + } + }, + "required": [ + "certificateStore", + "certificateUrl" + ], + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "required": [ + "sourceVault", + "vaultCertificates" + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines." + }, + "VmManagedIdentity": { + "type": "object", + "properties": { + "userAssignedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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}'." + } + }, + "description": "Identities for the virtual machine scale set under the node type." + }, + "VMSSExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VMSSExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "forceUpdateTag": { + "type": "string", + "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." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisionAfterExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } } } \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 6f2020066f..085048a9d6 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -9155,136 +9155,58 @@ "$ref": "https://schema.management.azure.com/schemas/2021-06-01-preview/Microsoft.ServiceBus.json#/resourceDefinitions/namespaces_topics_subscriptions_rules" }, { - "$ref": "https://schema.management.azure.com/schemas/2016-09-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2017-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-02-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.ServiceFabricMesh.json#/resourceDefinitions/applications"