From a19be3188f2484f3cc7e9130ef98f635ef77e7c9 Mon Sep 17 00:00:00 2001 From: Xynoclafe Date: Thu, 21 Dec 2023 10:13:13 +0000 Subject: [PATCH 1/6] Update Generated Schemas --- schemas/2018-06-01/Microsoft.DataFactory.json | 383 + schemas/2019-08-01/Microsoft.Web.json | 58 +- schemas/2020-06-01/Microsoft.Web.json | 58 +- schemas/2020-09-01/Microsoft.Web.json | 58 +- schemas/2020-10-01/Microsoft.Web.json | 58 +- schemas/2020-12-01/Microsoft.Web.json | 96 +- schemas/2021-01-01/Microsoft.Web.json | 96 +- schemas/2021-01-15/Microsoft.Web.json | 96 +- schemas/2021-02-01/Microsoft.Web.json | 96 +- schemas/2021-03-01/Microsoft.Web.json | 96 +- schemas/2022-03-01/Microsoft.Web.json | 96 +- schemas/2022-09-01/Microsoft.Web.json | 96 +- schemas/2023-01-01/Microsoft.Web.json | 96 +- .../Microsoft.ApiManagement.json | 13319 ++++++++++++++++ schemas/2023-05-01-preview/Microsoft.Sql.json | 18 +- .../Microsoft.RecoveryServices.json | 934 ++ .../Microsoft.ServiceFabric.json | 2 +- .../Microsoft.ServiceFabric.json | 2 +- .../2023-12-01-preview/Microsoft.Maps.json | 794 + .../Microsoft.ServiceFabric.json | 3751 +++++ .../Microsoft.DevOpsInfrastructure.json | 708 + schemas/common/autogeneratedResources.json | 330 + 22 files changed, 20889 insertions(+), 352 deletions(-) create mode 100644 schemas/2023-05-01-preview/Microsoft.ApiManagement.json create mode 100644 schemas/2023-08-01/Microsoft.RecoveryServices.json create mode 100644 schemas/2023-12-01-preview/Microsoft.Maps.json create mode 100644 schemas/2023-12-01-preview/Microsoft.ServiceFabric.json create mode 100644 schemas/2023-12-13-preview/Microsoft.DevOpsInfrastructure.json diff --git a/schemas/2018-06-01/Microsoft.DataFactory.json b/schemas/2018-06-01/Microsoft.DataFactory.json index 6e4a166437..e9033847e8 100644 --- a/schemas/2018-06-01/Microsoft.DataFactory.json +++ b/schemas/2018-06-01/Microsoft.DataFactory.json @@ -7972,6 +7972,12 @@ }, { "$ref": "#/definitions/LakeHouseTableSink" + }, + { + "$ref": "#/definitions/SalesforceV2Sink" + }, + { + "$ref": "#/definitions/SalesforceServiceCloudV2Sink" } ], "properties": { @@ -8140,6 +8146,9 @@ }, { "$ref": "#/definitions/SharePointOnlineListSource" + }, + { + "$ref": "#/definitions/SalesforceServiceCloudV2Source" } ], "properties": { @@ -9883,6 +9892,12 @@ }, { "$ref": "#/definitions/LakeHouseTableDataset" + }, + { + "$ref": "#/definitions/SalesforceV2ObjectDataset" + }, + { + "$ref": "#/definitions/SalesforceServiceCloudV2ObjectDataset" } ], "properties": { @@ -19110,6 +19125,12 @@ }, { "$ref": "#/definitions/LakeHouseLinkedService" + }, + { + "$ref": "#/definitions/SalesforceV2LinkedService" + }, + { + "$ref": "#/definitions/SalesforceServiceCloudV2LinkedService" } ], "properties": { @@ -25589,6 +25610,181 @@ ], "description": "A copy activity Salesforce Service Cloud source." }, + "SalesforceServiceCloudV2LinkedService": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SalesforceServiceCloudV2" + ] + }, + "typeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SalesforceServiceCloudV2LinkedServiceTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Salesforce Service Cloud V2 linked service properties." + } + }, + "required": [ + "type", + "typeProperties" + ], + "description": "Linked service for Salesforce Service Cloud V2." + }, + "SalesforceServiceCloudV2LinkedServiceTypeProperties": { + "type": "object", + "properties": { + "apiVersion": { + "type": "object", + "properties": {}, + "description": "The Salesforce API version used in ADF. The version must be larger than or equal to 47.0 which is required by Salesforce BULK API 2.0. Type: string (or Expression with resultType string)." + }, + "clientId": { + "type": "object", + "properties": {}, + "description": "The client Id for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance. Type: string (or Expression with resultType string)." + }, + "clientSecret": { + "oneOf": [ + { + "$ref": "#/definitions/SecretBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base definition of a secret type." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + }, + "environmentUrl": { + "type": "object", + "properties": {}, + "description": "The URL of Salesforce Service Cloud instance. For example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string)." + } + }, + "description": "Salesforce Service Cloud V2 linked service properties." + }, + "SalesforceServiceCloudV2ObjectDataset": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SalesforceServiceCloudV2Object" + ] + }, + "typeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SalesforceServiceCloudV2ObjectDatasetTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Salesforce Service Cloud V2 object dataset properties." + } + }, + "required": [ + "type" + ], + "description": "The Salesforce Service Cloud V2 object dataset." + }, + "SalesforceServiceCloudV2ObjectDatasetTypeProperties": { + "type": "object", + "properties": { + "objectApiName": { + "type": "object", + "properties": {}, + "description": "The Salesforce Service Cloud V2 object API name. Type: string (or Expression with resultType string)." + }, + "reportId": { + "type": "object", + "properties": {}, + "description": "The Salesforce Service Cloud V2 reportId. Type: string (or Expression with resultType string)." + } + }, + "description": "Salesforce Service Cloud V2 object dataset properties." + }, + "SalesforceServiceCloudV2Sink": { + "type": "object", + "properties": { + "externalIdFieldName": { + "type": "object", + "properties": {}, + "description": "The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string)." + }, + "ignoreNullValues": { + "type": "object", + "properties": {}, + "description": "The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean)." + }, + "type": { + "type": "string", + "enum": [ + "SalesforceServiceCloudV2Sink" + ] + }, + "writeBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Insert", + "Upsert" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The write behavior for the operation. Default is Insert." + } + }, + "required": [ + "type" + ], + "description": "A copy activity Salesforce Service Cloud V2 sink." + }, + "SalesforceServiceCloudV2Source": { + "type": "object", + "properties": { + "additionalColumns": { + "type": "object", + "properties": {}, + "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)." + }, + "readBehavior": { + "type": "object", + "properties": {}, + "description": "The read behavior for the operation. Default is query. Allowed values: query/queryAll. Type: string (or Expression with resultType string)." + }, + "SOQLQuery": { + "type": "object", + "properties": {}, + "description": "Database query. Type: string (or Expression with resultType string)." + }, + "type": { + "type": "string", + "enum": [ + "SalesforceServiceCloudV2Source" + ] + } + }, + "required": [ + "type" + ], + "description": "A copy activity Salesforce Service Cloud V2 source." + }, "SalesforceSink": { "type": "object", "properties": { @@ -25654,6 +25850,176 @@ ], "description": "A copy activity Salesforce source." }, + "SalesforceV2LinkedService": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SalesforceV2" + ] + }, + "typeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SalesforceV2LinkedServiceTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Salesforce V2 linked service properties." + } + }, + "required": [ + "type", + "typeProperties" + ], + "description": "Linked service for Salesforce V2." + }, + "SalesforceV2LinkedServiceTypeProperties": { + "type": "object", + "properties": { + "apiVersion": { + "type": "object", + "properties": {}, + "description": "The Salesforce API version used in ADF. The version must be larger than or equal to 47.0 which is required by Salesforce BULK API 2.0. Type: string (or Expression with resultType string)." + }, + "clientId": { + "type": "object", + "properties": {}, + "description": "The client Id for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance. Type: string (or Expression with resultType string)." + }, + "clientSecret": { + "oneOf": [ + { + "$ref": "#/definitions/SecretBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base definition of a secret type." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + }, + "environmentUrl": { + "type": "object", + "properties": {}, + "description": "The URL of Salesforce instance. For example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string)." + } + }, + "description": "Salesforce V2 linked service properties." + }, + "SalesforceV2ObjectDataset": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SalesforceV2Object" + ] + }, + "typeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SalesforceV2ObjectDatasetTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Salesforce V2 object dataset properties." + } + }, + "required": [ + "type" + ], + "description": "The Salesforce V2 object dataset." + }, + "SalesforceV2ObjectDatasetTypeProperties": { + "type": "object", + "properties": { + "objectApiName": { + "type": "object", + "properties": {}, + "description": "The Salesforce V2 object API name. Type: string (or Expression with resultType string)." + }, + "reportId": { + "type": "object", + "properties": {}, + "description": "The Salesforce V2 report Id. Type: string (or Expression with resultType string)." + } + }, + "description": "Salesforce V2 object dataset properties." + }, + "SalesforceV2Sink": { + "type": "object", + "properties": { + "externalIdFieldName": { + "type": "object", + "properties": {}, + "description": "The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string)." + }, + "ignoreNullValues": { + "type": "object", + "properties": {}, + "description": "The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean)." + }, + "type": { + "type": "string", + "enum": [ + "SalesforceV2Sink" + ] + }, + "writeBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Insert", + "Upsert" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The write behavior for the operation. Default is Insert." + } + }, + "required": [ + "type" + ], + "description": "A copy activity Salesforce V2 sink." + }, + "SalesforceV2Source": { + "type": "object", + "properties": { + "readBehavior": { + "type": "object", + "properties": {}, + "description": "The read behavior for the operation. Default is query. Allowed values: query/queryAll. Type: string (or Expression with resultType string)." + }, + "SOQLQuery": { + "type": "object", + "properties": {}, + "description": "Database query. Type: string (or Expression with resultType string)." + }, + "type": { + "type": "string", + "enum": [ + "SalesforceV2Source" + ] + } + }, + "required": [ + "type" + ], + "description": "A copy activity Salesforce V2 source." + }, "SapBwCubeDataset": { "type": "object", "properties": { @@ -30031,6 +30397,20 @@ "type": "object", "properties": {}, "description": "The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer)." + }, + "metadata": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specify the custom metadata to be added to sink data. Type: array of objects (or Expression with resultType array of objects)." } }, "description": "Connector write settings." @@ -30847,6 +31227,9 @@ }, { "$ref": "#/definitions/AmazonRedshiftSource" + }, + { + "$ref": "#/definitions/SalesforceV2Source" } ], "properties": { diff --git a/schemas/2019-08-01/Microsoft.Web.json b/schemas/2019-08-01/Microsoft.Web.json index 4a2a93684e..b6c75f389b 100644 --- a/schemas/2019-08-01/Microsoft.Web.json +++ b/schemas/2019-08-01/Microsoft.Web.json @@ -1680,13 +1680,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "type": { "type": "string", @@ -3881,6 +3881,11 @@ }, "description": "AppServicePlan resource specific properties" }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AutoHealActions": { "type": "object", "properties": { @@ -5561,23 +5566,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -5790,6 +5778,34 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnection": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "A remote private endpoint connection" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -7860,13 +7876,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "type": { "type": "string", diff --git a/schemas/2020-06-01/Microsoft.Web.json b/schemas/2020-06-01/Microsoft.Web.json index 8a6a46388b..5a43d0327f 100644 --- a/schemas/2020-06-01/Microsoft.Web.json +++ b/schemas/2020-06-01/Microsoft.Web.json @@ -1716,13 +1716,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "type": { "type": "string", @@ -4025,6 +4025,11 @@ }, "description": "AppServicePlan resource specific properties" }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AuthPlatform": { "type": "object", "properties": { @@ -7060,23 +7065,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -7289,6 +7277,34 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnection": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "A remote private endpoint connection" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -9573,13 +9589,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "type": { "type": "string", diff --git a/schemas/2020-09-01/Microsoft.Web.json b/schemas/2020-09-01/Microsoft.Web.json index 3d03910b40..da87e12ebc 100644 --- a/schemas/2020-09-01/Microsoft.Web.json +++ b/schemas/2020-09-01/Microsoft.Web.json @@ -2079,13 +2079,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "systemData": { "oneOf": [ @@ -4806,6 +4806,11 @@ }, "description": "AppServicePlan resource specific properties" }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AuthPlatform": { "type": "object", "properties": { @@ -8160,23 +8165,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -8400,6 +8388,34 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnection": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "A remote private endpoint connection" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -10937,13 +10953,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "systemData": { "oneOf": [ diff --git a/schemas/2020-10-01/Microsoft.Web.json b/schemas/2020-10-01/Microsoft.Web.json index f709dbdaef..e95a82fd34 100644 --- a/schemas/2020-10-01/Microsoft.Web.json +++ b/schemas/2020-10-01/Microsoft.Web.json @@ -2079,13 +2079,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "systemData": { "oneOf": [ @@ -4806,6 +4806,11 @@ }, "description": "AppServicePlan resource specific properties" }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AuthPlatform": { "type": "object", "properties": { @@ -8160,23 +8165,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -8400,6 +8388,34 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnection": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "A remote private endpoint connection" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -10948,13 +10964,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "A remote private endpoint connection" }, "systemData": { "oneOf": [ diff --git a/schemas/2020-12-01/Microsoft.Web.json b/schemas/2020-12-01/Microsoft.Web.json index aada93ed62..e5b2402438 100644 --- a/schemas/2020-12-01/Microsoft.Web.json +++ b/schemas/2020-12-01/Microsoft.Web.json @@ -280,13 +280,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -1816,13 +1816,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3063,13 +3063,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3866,13 +3866,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4399,6 +4399,11 @@ }, "description": "AppServicePlan resource specific properties" }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfigurationProperties": { "type": "object", "properties": { @@ -6178,13 +6183,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -7290,23 +7295,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -7519,6 +7507,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -9908,13 +9938,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -10930,13 +10960,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -11790,13 +11820,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2021-01-01/Microsoft.Web.json b/schemas/2021-01-01/Microsoft.Web.json index 048664fc68..2f2418a9f7 100644 --- a/schemas/2021-01-01/Microsoft.Web.json +++ b/schemas/2021-01-01/Microsoft.Web.json @@ -280,13 +280,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -1912,13 +1912,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3170,13 +3170,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3973,13 +3973,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4568,6 +4568,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfigurationProperties": { "type": "object", "properties": { @@ -6376,13 +6381,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -7543,23 +7548,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -7772,6 +7760,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -10161,13 +10191,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -11194,13 +11224,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12054,13 +12084,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2021-01-15/Microsoft.Web.json b/schemas/2021-01-15/Microsoft.Web.json index b6e6a103ec..be96a3e8c5 100644 --- a/schemas/2021-01-15/Microsoft.Web.json +++ b/schemas/2021-01-15/Microsoft.Web.json @@ -280,13 +280,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -1912,13 +1912,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3223,13 +3223,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4026,13 +4026,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4632,6 +4632,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfigurationProperties": { "type": "object", "properties": { @@ -6436,13 +6441,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -7603,23 +7608,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -7832,6 +7820,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -10221,13 +10251,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -11299,13 +11329,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12159,13 +12189,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2021-02-01/Microsoft.Web.json b/schemas/2021-02-01/Microsoft.Web.json index 5307b252b0..31d3425ae1 100644 --- a/schemas/2021-02-01/Microsoft.Web.json +++ b/schemas/2021-02-01/Microsoft.Web.json @@ -280,13 +280,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -1912,13 +1912,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3223,13 +3223,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4026,13 +4026,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4700,6 +4700,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfigurationProperties": { "type": "object", "properties": { @@ -6546,13 +6551,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -7713,23 +7718,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -7942,6 +7930,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -10331,13 +10361,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -11409,13 +11439,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12269,13 +12299,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2021-03-01/Microsoft.Web.json b/schemas/2021-03-01/Microsoft.Web.json index b273d3c1f8..1d5c489adc 100644 --- a/schemas/2021-03-01/Microsoft.Web.json +++ b/schemas/2021-03-01/Microsoft.Web.json @@ -343,13 +343,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -2005,13 +2005,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3316,13 +3316,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4119,13 +4119,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4793,6 +4793,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfigurationProperties": { "type": "object", "properties": { @@ -7001,13 +7006,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -8286,23 +8291,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -8568,6 +8556,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -11095,13 +11125,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12173,13 +12203,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -13054,13 +13084,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2022-03-01/Microsoft.Web.json b/schemas/2022-03-01/Microsoft.Web.json index c2af4e7b10..99f7223ded 100644 --- a/schemas/2022-03-01/Microsoft.Web.json +++ b/schemas/2022-03-01/Microsoft.Web.json @@ -389,13 +389,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -2051,13 +2051,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3362,13 +3362,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4254,13 +4254,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4967,6 +4967,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfiguration": { "type": "object", "properties": { @@ -7302,13 +7307,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -8587,23 +8592,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -8869,6 +8857,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -11433,13 +11463,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12511,13 +12541,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -13453,13 +13483,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2022-09-01/Microsoft.Web.json b/schemas/2022-09-01/Microsoft.Web.json index 4ecf4d5010..3e297be939 100644 --- a/schemas/2022-09-01/Microsoft.Web.json +++ b/schemas/2022-09-01/Microsoft.Web.json @@ -389,13 +389,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -2051,13 +2051,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3362,13 +3362,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4413,13 +4413,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -5126,6 +5126,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfiguration": { "type": "object", "properties": { @@ -7487,13 +7492,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -8772,23 +8777,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -9054,6 +9042,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -11678,13 +11708,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12756,13 +12786,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -13830,13 +13860,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2023-01-01/Microsoft.Web.json b/schemas/2023-01-01/Microsoft.Web.json index 75f62c28b6..a3290e15c2 100644 --- a/schemas/2023-01-01/Microsoft.Web.json +++ b/schemas/2023-01-01/Microsoft.Web.json @@ -389,13 +389,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -2051,13 +2051,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -3362,13 +3362,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -4413,13 +4413,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -5126,6 +5126,11 @@ } } }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, "AseV3NetworkingConfiguration": { "type": "object", "properties": { @@ -7570,13 +7575,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -8855,23 +8860,6 @@ }, "description": "Description of a Virtual Network that is useable for private site access." }, - "PrivateLinkConnectionApprovalRequest": { - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The state of a private link connection" - } - }, - "description": "A request to approve or reject a private endpoint connection" - }, "PrivateLinkConnectionState": { "type": "object", "properties": { @@ -9137,6 +9125,48 @@ }, "description": "RelayServiceConnectionEntity resource specific properties" }, + "RemotePrivateEndpointConnectionARMResourceProperties": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IPAddresses mapped to the remote private endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link connection" + } + }, + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" + }, "RequestsBasedTrigger": { "type": "object", "properties": { @@ -11838,13 +11868,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -12916,13 +12946,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", @@ -13990,13 +14020,13 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest" + "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResourceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A request to approve or reject a private endpoint connection" + "description": "RemotePrivateEndpointConnectionARMResource resource specific properties" }, "type": { "type": "string", diff --git a/schemas/2023-05-01-preview/Microsoft.ApiManagement.json b/schemas/2023-05-01-preview/Microsoft.ApiManagement.json new file mode 100644 index 0000000000..f906fc2b5f --- /dev/null +++ b/schemas/2023-05-01-preview/Microsoft.ApiManagement.json @@ -0,0 +1,13319 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ApiManagement", + "description": "Microsoft ApiManagement Resource Types", + "resourceDefinitions": { + "service": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ApiManagementServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity properties of the Api Management service resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$", + "minLength": 1, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the API Management service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiManagementServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an API Management service resource description." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_apis_childResource" + }, + { + "$ref": "#/definitions/service_tags_childResource" + }, + { + "$ref": "#/definitions/service_apiVersionSets_childResource" + }, + { + "$ref": "#/definitions/service_authorizationProviders_childResource" + }, + { + "$ref": "#/definitions/service_authorizationServers_childResource" + }, + { + "$ref": "#/definitions/service_backends_childResource" + }, + { + "$ref": "#/definitions/service_caches_childResource" + }, + { + "$ref": "#/definitions/service_certificates_childResource" + }, + { + "$ref": "#/definitions/service_contentTypes_childResource" + }, + { + "$ref": "#/definitions/service_diagnostics_childResource" + }, + { + "$ref": "#/definitions/service_documentations_childResource" + }, + { + "$ref": "#/definitions/service_templates_childResource" + }, + { + "$ref": "#/definitions/service_gateways_childResource" + }, + { + "$ref": "#/definitions/service_groups_childResource" + }, + { + "$ref": "#/definitions/service_identityProviders_childResource" + }, + { + "$ref": "#/definitions/service_loggers_childResource" + }, + { + "$ref": "#/definitions/service_namedValues_childResource" + }, + { + "$ref": "#/definitions/service_notifications_childResource" + }, + { + "$ref": "#/definitions/service_openidConnectProviders_childResource" + }, + { + "$ref": "#/definitions/service_policies_childResource" + }, + { + "$ref": "#/definitions/service_policyFragments_childResource" + }, + { + "$ref": "#/definitions/service_policyRestrictions_childResource" + }, + { + "$ref": "#/definitions/service_portalconfigs_childResource" + }, + { + "$ref": "#/definitions/service_portalRevisions_childResource" + }, + { + "$ref": "#/definitions/service_portalsettings_childResource" + }, + { + "$ref": "#/definitions/service_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/service_products_childResource" + }, + { + "$ref": "#/definitions/service_schemas_childResource" + }, + { + "$ref": "#/definitions/service_subscriptions_childResource" + }, + { + "$ref": "#/definitions/service_tenant_childResource" + }, + { + "$ref": "#/definitions/service_users_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ApiManagementServiceSkuProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Management service resource SKU 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.ApiManagement/service" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting where the resource needs to come from." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.ApiManagement/service" + }, + "service_apis": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiCreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Create or Update Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_apis_releases_childResource" + }, + { + "$ref": "#/definitions/service_apis_operations_childResource" + }, + { + "$ref": "#/definitions/service_apis_tags_childResource" + }, + { + "$ref": "#/definitions/service_apis_resolvers_childResource" + }, + { + "$ref": "#/definitions/service_apis_policies_childResource" + }, + { + "$ref": "#/definitions/service_apis_schemas_childResource" + }, + { + "$ref": "#/definitions/service_apis_diagnostics_childResource" + }, + { + "$ref": "#/definitions/service_apis_issues_childResource" + }, + { + "$ref": "#/definitions/service_apis_tagDescriptions_childResource" + }, + { + "$ref": "#/definitions/service_apis_wikis_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis" + }, + "service_apis_diagnostics": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic Entity Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/diagnostics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/diagnostics" + }, + "service_apis_issues": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IssueContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue contract Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_apis_issues_comments_childResource" + }, + { + "$ref": "#/definitions/service_apis_issues_attachments_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/issues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/issues" + }, + "service_apis_issues_attachments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Attachment identifier within an Issue. Must be unique in the current Issue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IssueAttachmentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue Attachment contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/issues/attachments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/issues/attachments" + }, + "service_apis_issues_comments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comment identifier within an Issue. Must be unique in the current Issue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IssueCommentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue Comment contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/issues/comments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/issues/comments" + }, + "service_apis_operations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Operation identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OperationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation Contract Properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_apis_operations_policies_childResource" + }, + { + "$ref": "#/definitions/service_apis_operations_tags_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/operations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/operations" + }, + "service_apis_operations_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/operations/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/operations/policies" + }, + "service_apis_operations_tags": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/operations/tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/operations/tags" + }, + "service_apis_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/policies" + }, + "service_apis_releases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Release identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiReleaseContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Release details" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/releases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/releases" + }, + "service_apis_resolvers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ResolverEntityBaseContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "GraphQL API Resolver Entity Base Contract details." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_apis_resolvers_policies_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/resolvers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/resolvers" + }, + "service_apis_resolvers_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/resolvers/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/resolvers/policies" + }, + "service_apis_schemas": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/schemas" + }, + "service_apis_tagDescriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagDescriptionBaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create TagDescription operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/tagDescriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/tagDescriptions" + }, + "service_apis_tags": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/tags" + }, + "service_apis_wikis": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WikiContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Wiki contract details" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apis/wikis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/wikis" + }, + "service_apiVersionSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Api Version Set identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiVersionSetContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an API Version Set." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/apiVersionSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apiVersionSets" + }, + "service_authorizationProviders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization provider." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationProviderContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization Provider details." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_authorizationProviders_authorizations_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/authorizationProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationProviders" + }, + "service_authorizationProviders_authorizations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization details." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_authorizationProviders_authorizations_accessPolicies_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/authorizationProviders/authorizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationProviders/authorizations" + }, + "service_authorizationProviders_authorizations_accessPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization access policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationAccessPolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization Access Policy details." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/authorizationProviders/authorizations/accessPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationProviders/authorizations/accessPolicies" + }, + "service_authorizationServers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization server." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationServerContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "External OAuth authorization server settings Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/authorizationServers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationServers" + }, + "service_backends": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackendContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create Backend operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/backends" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/backends" + }, + "service_caches": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier)." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CacheContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Cache contract." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/caches" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/caches" + }, + "service_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateCreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the CreateOrUpdate certificate operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/certificates" + }, + "service_contentTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Content type identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContentTypeContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_contentTypes_contentItems_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/contentTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/contentTypes" + }, + "service_contentTypes_contentItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Content item identifier." + }, + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/contentTypes/contentItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/contentTypes/contentItems" + }, + "service_diagnostics": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic Entity Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/diagnostics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/diagnostics" + }, + "service_documentations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Documentation identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DocumentationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Markdown documentation details." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/documentations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/documentations" + }, + "service_gateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Gateway entity identifier. Must be unique in the current API Management service instance. Must not have value 'managed'" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Gateway contract." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_gateways_hostnameConfigurations_childResource" + }, + { + "$ref": "#/definitions/service_gateways_apis_childResource" + }, + { + "$ref": "#/definitions/service_gateways_certificateAuthorities_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/gateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways" + }, + "service_gateways_apis": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AssociationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Association entity contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/gateways/apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways/apis" + }, + "service_gateways_certificateAuthorities": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayCertificateAuthorityContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway certificate authority details." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/gateways/certificateAuthorities" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways/certificateAuthorities" + }, + "service_gateways_hostnameConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Gateway hostname configuration identifier. Must be unique in the scope of parent Gateway entity." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayHostnameConfigurationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway hostname configuration details." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/gateways/hostnameConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations" + }, + "service_groups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Group identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GroupCreateParametersProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create Group operation." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_groups_users_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/groups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/groups" + }, + "service_groups_users": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/groups/users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/groups/users" + }, + "service_identityProviders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "facebook", + "google", + "microsoft", + "twitter", + "aad", + "aadB2C" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity Provider Type identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderCreateContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/identityProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/identityProviders" + }, + "service_loggers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logger identifier. Must be unique in the API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoggerContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/loggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/loggers" + }, + "service_namedValues": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the NamedValue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NamedValueCreateContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NamedValue Contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/namedValues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/namedValues" + }, + "service_notifications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RequestPublisherNotificationMessage", + "PurchasePublisherNotificationMessage", + "NewApplicationNotificationMessage", + "BCC", + "NewIssuePublisherNotificationMessage", + "AccountClosedPublisher", + "QuotaLimitApproachingPublisherNotificationMessage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Notification Name Identifier." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_notifications_recipientUsers_childResource" + }, + { + "$ref": "#/definitions/service_notifications_recipientEmails_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/notifications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/notifications" + }, + "service_notifications_recipientEmails": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Email identifier." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/notifications/recipientEmails" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/notifications/recipientEmails" + }, + "service_notifications_recipientUsers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/notifications/recipientUsers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/notifications/recipientUsers" + }, + "service_openidConnectProviders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the OpenID Connect Provider." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OpenidConnectProviderContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OpenID Connect Providers Contract." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/openidConnectProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/openidConnectProviders" + }, + "service_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/policies" + }, + "service_policyFragments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A resource identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyFragmentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy fragment contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/policyFragments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/policyFragments" + }, + "service_policyRestrictions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Policy restrictions after an entity level" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyRestrictionContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy restrictions contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/policyRestrictions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/policyRestrictions" + }, + "service_portalconfigs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Portal configuration identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The developer portal configuration contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/portalconfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/portalconfigs" + }, + "service_portalRevisions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Portal revision identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalRevisionContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/portalRevisions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/portalRevisions" + }, + "service_portalsettings": { + "type": "object", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/signin$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalSigninSettingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sign-in settings contract properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + }, + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/signup$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalSignupSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sign-up settings contract properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + }, + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/delegation$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalDelegationSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Delegation settings contract properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/portalsettings" + ] + } + }, + "required": [ + "apiVersion", + "type" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + }, + "service_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "id": { + "type": "string", + "description": "Private Endpoint Connection Resource Id." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The connection state of the private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/privateEndpointConnections" + }, + "service_products": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Product identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product profile." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_products_tags_childResource" + }, + { + "$ref": "#/definitions/service_products_apis_childResource" + }, + { + "$ref": "#/definitions/service_products_groups_childResource" + }, + { + "$ref": "#/definitions/service_products_policies_childResource" + }, + { + "$ref": "#/definitions/service_products_wikis_childResource" + }, + { + "$ref": "#/definitions/service_products_apiLinks_childResource" + }, + { + "$ref": "#/definitions/service_products_groupLinks_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products" + }, + "service_products_apiLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/apiLinks" + }, + "service_products_apis": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/apis" + }, + "service_products_groupLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-Group link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductGroupLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-group link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/groupLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/groupLinks" + }, + "service_products_groups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Group identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/groups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/groups" + }, + "service_products_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/policies" + }, + "service_products_tags": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/tags" + }, + "service_products_wikis": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WikiContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Wiki contract details" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/products/wikis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/wikis" + }, + "service_schemas": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalSchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/schemas" + }, + "service_subscriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/subscriptions" + }, + "service_tags": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag contract Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_tags_apiLinks_childResource" + }, + { + "$ref": "#/definitions/service_tags_operationLinks_childResource" + }, + { + "$ref": "#/definitions/service_tags_productLinks_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags" + }, + "service_tags_apiLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/tags/apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags/apiLinks" + }, + "service_tags_operationLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagOperationLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/tags/operationLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags/operationLinks" + }, + "service_tags_productLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagProductLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/tags/productLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags/productLinks" + }, + "service_templates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "applicationApprovedNotificationMessage", + "accountClosedDeveloper", + "quotaLimitApproachingDeveloperNotificationMessage", + "newDeveloperNotificationMessage", + "emailChangeIdentityDefault", + "inviteUserNotificationMessage", + "newCommentNotificationMessage", + "confirmSignUpIdentityDefault", + "newIssueNotificationMessage", + "purchaseDeveloperNotificationMessage", + "passwordResetIdentityDefault", + "passwordResetByAdminNotificationMessage", + "rejectDeveloperNotificationMessage", + "requestDeveloperNotificationMessage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email Template Name Identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EmailTemplateUpdateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email Template Update Contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/templates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/templates" + }, + "service_tenant": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "access", + "gitAccess" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Access configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccessInformationCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tenant access information update parameters of the API Management service" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/tenant" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tenant" + }, + "service_users": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/UserCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create User operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/users" + }, + "service_workspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workspace identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkspaceContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workspace entity properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_policies_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_namedValues_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_schemas_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_notifications_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_policyFragments_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_groups_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_subscriptions_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_apiVersionSets_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_apis_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_products_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_tags_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces" + }, + "service_workspaces_apis": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiCreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Create or Update Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_apis_releases_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_apis_operations_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_apis_policies_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_apis_schemas_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis" + }, + "service_workspaces_apis_operations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Operation identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OperationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation Contract Properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_apis_operations_policies_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apis/operations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/operations" + }, + "service_workspaces_apis_operations_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apis/operations/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/operations/policies" + }, + "service_workspaces_apis_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apis/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/policies" + }, + "service_workspaces_apis_releases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Release identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiReleaseContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Release details" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apis/releases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/releases" + }, + "service_workspaces_apis_schemas": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apis/schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/schemas" + }, + "service_workspaces_apiVersionSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Api Version Set identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiVersionSetContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an API Version Set." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/apiVersionSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apiVersionSets" + }, + "service_workspaces_groups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Group identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GroupCreateParametersProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create Group operation." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_groups_users_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/groups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/groups" + }, + "service_workspaces_groups_users": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/groups/users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/groups/users" + }, + "service_workspaces_namedValues": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the NamedValue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NamedValueCreateContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NamedValue Contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/namedValues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/namedValues" + }, + "service_workspaces_notifications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RequestPublisherNotificationMessage", + "PurchasePublisherNotificationMessage", + "NewApplicationNotificationMessage", + "BCC", + "NewIssuePublisherNotificationMessage", + "AccountClosedPublisher", + "QuotaLimitApproachingPublisherNotificationMessage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Notification Name Identifier." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_notifications_recipientUsers_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_notifications_recipientEmails_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/notifications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/notifications" + }, + "service_workspaces_notifications_recipientEmails": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Email identifier." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/notifications/recipientEmails" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/notifications/recipientEmails" + }, + "service_workspaces_notifications_recipientUsers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/notifications/recipientUsers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/notifications/recipientUsers" + }, + "service_workspaces_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/policies" + }, + "service_workspaces_policyFragments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A resource identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyFragmentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy fragment contract properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/policyFragments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/policyFragments" + }, + "service_workspaces_products": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Product identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product profile." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_products_apiLinks_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_products_groupLinks_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_products_policies_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/products" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products" + }, + "service_workspaces_products_apiLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/products/apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products/apiLinks" + }, + "service_workspaces_products_groupLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-Group link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductGroupLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-group link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/products/groupLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products/groupLinks" + }, + "service_workspaces_products_policies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/policy$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/products/policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products/policies" + }, + "service_workspaces_schemas": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalSchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/schemas" + }, + "service_workspaces_subscriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/subscriptions" + }, + "service_workspaces_tags": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag contract Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/service_workspaces_tags_apiLinks_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_tags_operationLinks_childResource" + }, + { + "$ref": "#/definitions/service_workspaces_tags_productLinks_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags" + }, + "service_workspaces_tags_apiLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/tags/apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags/apiLinks" + }, + "service_workspaces_tags_operationLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagOperationLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/tags/operationLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags/operationLinks" + }, + "service_workspaces_tags_productLinks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagProductLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ApiManagement/service/workspaces/tags/productLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags/productLinks" + } + }, + "definitions": { + "AccessInformationCreateParameterProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether direct access is enabled." + }, + "primaryKey": { + "type": "string", + "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "principalId": { + "type": "string", + "description": "Principal (User) Identifier." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + } + }, + "description": "Tenant access information update parameters of the API Management service" + }, + "AdditionalLocation": { + "type": "object", + "properties": { + "disableGateway": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location." + }, + "location": { + "type": "string", + "description": "The location name of the additional region among Azure Data center regions." + }, + "natGatewayState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property can be used to enable NAT Gateway for this API Management service." + }, + "publicIpAddressId": { + "type": "string", + "description": "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ApiManagementServiceSkuProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Management service resource SKU properties." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration of a virtual network to which API Management service is deployed." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting where the resource needs to come from." + } + }, + "required": [ + "location", + "sku" + ], + "description": "Description of an additional API Management resource location." + }, + "ApiContactInformation": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The email address of the contact person/organization. MUST be in the format of an email address" + }, + "name": { + "type": "string", + "description": "The identifying name of the contact person/organization" + }, + "url": { + "type": "string", + "description": "The URL pointing to the contact information. MUST be in the format of a URL" + } + }, + "description": "API contact information" + }, + "ApiCreateOrUpdateProperties": { + "type": "object", + "properties": { + "apiRevision": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Describes the revision of the API. If no value is provided, default revision 1 is created" + }, + "apiRevisionDescription": { + "type": "string", + "maxLength": 256, + "description": "Description of the API Revision." + }, + "apiType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "soap", + "websocket", + "graphql", + "odata", + "grpc" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of API to create. \n * `http` creates a REST API \n * `soap` creates a SOAP pass-through API \n * `websocket` creates websocket API \n * `graphql` creates GraphQL API. \n New types can be added in the future." + }, + "apiVersion": { + "type": "string", + "maxLength": 100, + "description": "Indicates the version identifier of the API if the API is versioned" + }, + "apiVersionDescription": { + "type": "string", + "maxLength": 256, + "description": "Description of the API Version." + }, + "apiVersionSet": { + "oneOf": [ + { + "$ref": "#/definitions/ApiVersionSetContractDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An API Version Set contains the common configuration for a set of API Versions relating " + }, + "apiVersionSetId": { + "type": "string", + "description": "A resource identifier for the related ApiVersionSet." + }, + "authenticationSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AuthenticationSettingsContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Authentication Settings." + }, + "contact": { + "oneOf": [ + { + "$ref": "#/definitions/ApiContactInformation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API contact information" + }, + "description": { + "type": "string", + "description": "Description of the API. May include HTML formatting tags." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "API name. Must be 1 to 300 characters long." + }, + "format": { + "oneOf": [ + { + "type": "string", + "enum": [ + "wadl-xml", + "wadl-link-json", + "swagger-json", + "swagger-link-json", + "wsdl", + "wsdl-link", + "openapi", + "openapi+json", + "openapi-link", + "openapi+json-link", + "graphql-link", + "odata", + "odata-link", + "grpc", + "grpc-link" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Format of the Content in which the API is getting imported. New formats can be added in the future." + }, + "isCurrent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if API revision is current api revision." + }, + "license": { + "oneOf": [ + { + "$ref": "#/definitions/ApiLicenseInformation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API license information" + }, + "path": { + "type": "string", + "minLength": 0, + "maxLength": 400, + "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API." + }, + "protocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "http", + "https", + "ws", + "wss" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes on which protocols the operations in this API can be invoked." + }, + "serviceUrl": { + "type": "string", + "minLength": 0, + "maxLength": 2000, + "description": "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long." + }, + "sourceApiId": { + "type": "string", + "description": "API identifier of the source API." + }, + "subscriptionKeyParameterNames": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionKeyParameterNamesContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscription key parameter names details." + }, + "subscriptionRequired": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether an API or Product subscription is required for accessing the API." + }, + "termsOfServiceUrl": { + "type": "string", + "description": " A URL to the Terms of Service for the API. MUST be in the format of a URL." + }, + "translateRequiredQueryParameters": { + "oneOf": [ + { + "type": "string", + "enum": [ + "template", + "query" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query'." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "soap", + "websocket", + "graphql", + "odata", + "grpc" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of API." + }, + "value": { + "type": "string", + "description": "Content value when Importing an API." + }, + "wsdlSelector": { + "oneOf": [ + { + "$ref": "#/definitions/ApiCreateOrUpdatePropertiesWsdlSelector" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Criteria to limit import of WSDL to a subset of the document." + } + }, + "required": [ + "path" + ], + "description": "API Create or Update Properties." + }, + "ApiCreateOrUpdatePropertiesWsdlSelector": { + "type": "object", + "properties": { + "wsdlEndpointName": { + "type": "string", + "description": "Name of endpoint(port) to import from WSDL" + }, + "wsdlServiceName": { + "type": "string", + "description": "Name of service to import from WSDL" + } + }, + "description": "Criteria to limit import of WSDL to a subset of the document." + }, + "ApiLicenseInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The license name used for the API" + }, + "url": { + "type": "string", + "description": "A URL to the license used for the API. MUST be in the format of a URL" + } + }, + "description": "API license information" + }, + "ApiManagementServiceIdentity": { + "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 identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + }, + "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 \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity properties of the Api Management service resource." + }, + "ApiManagementServiceProperties": { + "type": "object", + "properties": { + "additionalLocations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalLocation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional datacenter locations of the API Management service." + }, + "apiVersionConstraint": { + "oneOf": [ + { + "$ref": "#/definitions/ApiVersionConstraint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Control Plane Apis version constraint for the API Management service." + }, + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10." + }, + "configurationApi": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationApi" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information regarding the Configuration API of the API Management service." + }, + "customProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of the following ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal platform components: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + }, + "developerPortalStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status of developer portal in this API Management service." + }, + "disableGateway": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region." + }, + "enableClientCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway." + }, + "hostnameConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HostnameConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom hostname configuration of the API Management service." + }, + "legacyPortalStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status of legacy portal in the API Management service." + }, + "natGatewayState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property can be used to enable NAT Gateway for this API Management service." + }, + "notificationSenderEmail": { + "type": "string", + "maxLength": 100, + "description": "Email address from which the notification will be sent." + }, + "privateEndpointConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RemotePrivateEndpointConnectionWrapper" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Private Endpoint Connections of this service." + }, + "publicIpAddressId": { + "type": "string", + "description": "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'." + }, + "publisherEmail": { + "type": "string", + "maxLength": 100, + "description": "Publisher email." + }, + "publisherName": { + "type": "string", + "maxLength": 100, + "description": "Publisher name." + }, + "restore": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration of a virtual network to which API Management service is deployed." + }, + "virtualNetworkType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "External", + "Internal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only." + } + }, + "required": [ + "publisherEmail", + "publisherName" + ], + "description": "Properties of an API Management service resource description." + }, + "ApiManagementServiceSkuProperties": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Developer", + "Standard", + "Premium", + "Basic", + "Consumption", + "Isolated", + "BasicV2", + "StandardV2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the Sku." + } + }, + "required": [ + "capacity", + "name" + ], + "description": "API Management service resource SKU properties." + }, + "ApiReleaseContractProperties": { + "type": "object", + "properties": { + "apiId": { + "type": "string", + "description": "Identifier of the API the release belongs to." + }, + "notes": { + "type": "string", + "description": "Release Notes" + } + }, + "description": "API Release details" + }, + "ApiVersionConstraint": { + "type": "object", + "properties": { + "minApiVersion": { + "type": "string", + "description": "Limit control plane API calls to API Management service with version equal to or newer than this value." + } + }, + "description": "Control Plane Apis version constraint for the API Management service." + }, + "ApiVersionSetContractDetails": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of API Version Set." + }, + "id": { + "type": "string", + "description": "Identifier for existing API Version Set. Omit this value to create a new Version Set." + }, + "name": { + "type": "string", + "description": "The display Name of the API Version Set." + }, + "versionHeaderName": { + "type": "string", + "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`." + }, + "versioningScheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Segment", + "Query", + "Header" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An value that determines where the API Version identifier will be located in a HTTP request." + }, + "versionQueryName": { + "type": "string", + "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`." + } + }, + "description": "An API Version Set contains the common configuration for a set of API Versions relating " + }, + "ApiVersionSetContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of API Version Set." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Name of API Version Set" + }, + "versionHeaderName": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`." + }, + "versioningScheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Segment", + "Query", + "Header" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An value that determines where the API Version identifier will be located in a HTTP request." + }, + "versionQueryName": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`." + } + }, + "required": [ + "displayName", + "versioningScheme" + ], + "description": "Properties of an API Version Set." + }, + "ArmIdWrapper": { + "type": "object", + "properties": {}, + "description": "A wrapper for an ARM resource id" + }, + "AssociationContractProperties": { + "type": "object", + "properties": { + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "created" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state." + } + }, + "description": "Association entity contract properties." + }, + "AuthenticationSettingsContract": { + "type": "object", + "properties": { + "oAuth2": { + "oneOf": [ + { + "$ref": "#/definitions/OAuth2AuthenticationSettingsContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API OAuth2 Authentication settings details." + }, + "oAuth2AuthenticationSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OAuth2AuthenticationSettingsContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of OAuth2 authentication settings included into this API." + }, + "openid": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdAuthenticationSettingsContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API OAuth2 Authentication settings details." + }, + "openidAuthenticationSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OpenIdAuthenticationSettingsContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of Open ID Connect authentication settings included into this API." + } + }, + "description": "API Authentication Settings." + }, + "AuthorizationAccessPolicyContractProperties": { + "type": "object", + "properties": { + "appIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The allowed Azure Active Directory Application IDs" + }, + "objectId": { + "type": "string", + "description": "The Object Id" + }, + "tenantId": { + "type": "string", + "description": "The Tenant Id" + } + }, + "description": "Authorization Access Policy details." + }, + "AuthorizationContractProperties": { + "type": "object", + "properties": { + "authorizationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OAuth2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization type options." + }, + "error": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationError" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization error details." + }, + "oauth2grantType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AuthorizationCode", + "ClientCredentials" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OAuth2 grant type options." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization parameters" + }, + "status": { + "type": "string", + "description": "Status of the Authorization" + } + }, + "description": "Authorization details." + }, + "AuthorizationError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Error code" + }, + "message": { + "type": "string", + "description": "Error message" + } + }, + "description": "Authorization error details." + }, + "AuthorizationProviderContractProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Authorization Provider name. Must be 1 to 300 characters long." + }, + "identityProvider": { + "type": "string", + "description": "Identity provider name. Must be 1 to 300 characters long." + }, + "oauth2": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationProviderOAuth2Settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OAuth2 settings details" + } + }, + "description": "Authorization Provider details." + }, + "AuthorizationProviderOAuth2GrantTypes": { + "type": "object", + "properties": { + "authorizationCode": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OAuth2 authorization code grant parameters" + }, + "clientCredentials": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OAuth2 client credential grant parameters" + } + }, + "description": "Authorization Provider oauth2 grant types settings" + }, + "AuthorizationProviderOAuth2Settings": { + "type": "object", + "properties": { + "grantTypes": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationProviderOAuth2GrantTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization Provider oauth2 grant types settings" + }, + "redirectUrl": { + "type": "string", + "description": "Redirect URL to be set in the OAuth application." + } + }, + "description": "OAuth2 settings details" + }, + "AuthorizationServerContractProperties": { + "type": "object", + "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2." + }, + "authorizationMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "HEAD", + "OPTIONS", + "TRACE", + "GET", + "POST", + "PUT", + "PATCH", + "DELETE" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional." + }, + "bearerTokenSendingMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationHeader", + "query" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mechanism by which access token is passed to the API. " + }, + "clientAuthenticationMethod": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Basic", + "Body" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format." + }, + "clientId": { + "type": "string", + "description": "Client or app id registered with this authorization server." + }, + "clientRegistrationEndpoint": { + "type": "string", + "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced." + }, + "clientSecret": { + "type": "string", + "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "defaultScope": { + "type": "string", + "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values." + }, + "description": { + "type": "string", + "description": "Description of the authorization server. Can contain HTML formatting tags." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "description": "User-friendly authorization server name." + }, + "grantTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationCode", + "implicit", + "resourceOwnerPassword", + "clientCredentials" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Form of an authorization grant, which the client uses to request the access token." + }, + "resourceOwnerPassword": { + "type": "string", + "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password." + }, + "resourceOwnerUsername": { + "type": "string", + "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username." + }, + "supportState": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security." + }, + "tokenBodyParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenBodyParameterContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}." + }, + "tokenEndpoint": { + "type": "string", + "description": "OAuth token endpoint. Contains absolute URI to entity being referenced." + }, + "useInApiDocumentation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, the authorization server will be used in the API documentation in the developer portal. False by default if no value is provided." + }, + "useInTestConsole": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, the authorization server may be used in the developer portal test console. True by default if no value is provided." + } + }, + "required": [ + "authorizationEndpoint", + "clientId", + "clientRegistrationEndpoint", + "displayName", + "grantTypes" + ], + "description": "External OAuth authorization server settings Properties." + }, + "BackendAuthorizationHeaderCredentials": { + "type": "object", + "properties": { + "parameter": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Authentication Parameter value." + }, + "scheme": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Authentication Scheme name." + } + }, + "required": [ + "parameter", + "scheme" + ], + "description": "Authorization header information." + }, + "BackendBaseParametersPool": { + "type": "object", + "properties": { + "services": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BackendPoolItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of backend entities belonging to a pool." + } + } + }, + "BackendCircuitBreaker": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CircuitBreakerRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rules for tripping the backend." + } + }, + "description": "The configuration of the backend circuit breaker" + }, + "BackendContractProperties": { + "type": "object", + "properties": { + "circuitBreaker": { + "oneOf": [ + { + "$ref": "#/definitions/BackendCircuitBreaker" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the backend circuit breaker" + }, + "credentials": { + "oneOf": [ + { + "$ref": "#/definitions/BackendCredentialsContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details of the Credentials used to connect to Backend." + }, + "description": { + "type": "string", + "minLength": 1, + "maxLength": 2000, + "description": "Backend Description." + }, + "pool": { + "oneOf": [ + { + "$ref": "#/definitions/BackendBaseParametersPool" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackendProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the Backend Type." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "soap" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backend communication protocol." + }, + "proxy": { + "oneOf": [ + { + "$ref": "#/definitions/BackendProxyContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details of the Backend WebProxy Server to use in the Request to Backend." + }, + "resourceId": { + "type": "string", + "minLength": 1, + "maxLength": 2000, + "description": "Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, Function Apps or API Apps." + }, + "title": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Backend Title." + }, + "tls": { + "oneOf": [ + { + "$ref": "#/definitions/BackendTlsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties controlling TLS Certificate Validation." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Single", + "Pool" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the backend. A backend can be either Single or Pool." + }, + "url": { + "type": "string", + "minLength": 1, + "maxLength": 2000, + "description": "Runtime Url of the Backend." + } + }, + "required": [ + "protocol", + "url" + ], + "description": "Parameters supplied to the Create Backend operation." + }, + "BackendCredentialsContract": { + "type": "object", + "properties": { + "authorization": { + "oneOf": [ + { + "$ref": "#/definitions/BackendAuthorizationHeaderCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization header information." + }, + "certificate": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided." + }, + "certificateIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Client Certificate Ids." + }, + "header": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Header Parameter description." + }, + "query": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Query Parameter description." + } + }, + "description": "Details of the Credentials used to connect to Backend." + }, + "BackendPoolItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity." + } + }, + "required": [ + "id" + ], + "description": "Backend pool service information" + }, + "BackendProperties": { + "type": "object", + "properties": { + "serviceFabricCluster": { + "oneOf": [ + { + "$ref": "#/definitions/BackendServiceFabricClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Service Fabric Type Backend." + } + }, + "description": "Properties specific to the Backend Type." + }, + "BackendProxyContract": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password to connect to the WebProxy Server" + }, + "url": { + "type": "string", + "minLength": 1, + "maxLength": 2000, + "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings." + }, + "username": { + "type": "string", + "description": "Username to connect to the WebProxy server" + } + }, + "required": [ + "url" + ], + "description": "Details of the Backend WebProxy Server to use in the Request to Backend." + }, + "BackendServiceFabricClusterProperties": { + "type": "object", + "properties": { + "clientCertificateId": { + "type": "string", + "description": "The client certificate id for the management endpoint." + }, + "clientCertificatethumbprint": { + "type": "string", + "description": "The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided" + }, + "managementEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster management endpoint." + }, + "maxPartitionResolutionRetries": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of retries while attempting resolve the partition." + }, + "serverCertificateThumbprints": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Thumbprints of certificates cluster management service uses for tls communication" + }, + "serverX509Names": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/X509CertificateName" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server X509 Certificate Names Collection" + } + }, + "required": [ + "managementEndpoints" + ], + "description": "Properties of the Service Fabric Type Backend." + }, + "BackendTlsProperties": { + "type": "object", + "properties": { + "validateCertificateChain": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host." + }, + "validateCertificateName": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host." + } + }, + "description": "Properties controlling TLS Certificate Validation." + }, + "BodyDiagnosticSettings": { + "type": "object", + "properties": { + "bytes": { + "oneOf": [ + { + "type": "integer", + "maximum": 8192 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of request body bytes to log." + } + }, + "description": "Body logging settings." + }, + "CacheContractProperties": { + "type": "object", + "properties": { + "connectionString": { + "type": "string", + "maxLength": 300, + "description": "Runtime connection string to cache" + }, + "description": { + "type": "string", + "maxLength": 2000, + "description": "Cache description" + }, + "resourceId": { + "type": "string", + "maxLength": 2000, + "description": "Original uri of entity in external system cache points to" + }, + "useFromLocation": { + "type": "string", + "maxLength": 256, + "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)" + } + }, + "required": [ + "connectionString", + "useFromLocation" + ], + "description": "Properties of the Cache contract." + }, + "CertificateConfiguration": { + "type": "object", + "properties": { + "certificate": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateInformation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSL certificate information." + }, + "certificatePassword": { + "type": "string", + "description": "Certificate Password." + }, + "encodedCertificate": { + "type": "string", + "description": "Base64 Encoded certificate." + }, + "storeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CertificateAuthority", + "Root" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations." + } + }, + "required": [ + "storeName" + ], + "description": "Certificate configuration which consist of non-trusted intermediates and root certificates." + }, + "CertificateCreateOrUpdateProperties": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Base 64 encoded certificate using the application/x-pkcs12 representation." + }, + "keyVault": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultContractCreateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create keyVault contract details." + }, + "password": { + "type": "string", + "description": "Password for the Certificate" + } + }, + "description": "Parameters supplied to the CreateOrUpdate certificate operation." + }, + "CertificateInformation": { + "type": "object", + "properties": { + "expiry": { + "type": "string", + "format": "date-time", + "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard." + }, + "subject": { + "type": "string", + "description": "Subject of the certificate." + }, + "thumbprint": { + "type": "string", + "description": "Thumbprint of the certificate." + } + }, + "required": [ + "expiry", + "subject", + "thumbprint" + ], + "description": "SSL certificate information." + }, + "CircuitBreakerFailureCondition": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The threshold for opening the circuit." + }, + "errorReasons": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The error reasons which are considered as failure." + }, + "interval": { + "type": "string", + "format": "duration", + "description": "The interval during which the failures are counted." + }, + "percentage": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The threshold for opening the circuit." + }, + "statusCodeRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FailureStatusCodeRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status code ranges which are considered as failure." + } + }, + "description": "The trip conditions of the circuit breaker" + }, + "CircuitBreakerRule": { + "type": "object", + "properties": { + "failureCondition": { + "oneOf": [ + { + "$ref": "#/definitions/CircuitBreakerFailureCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The trip conditions of the circuit breaker" + }, + "name": { + "type": "string", + "description": "The rule name." + }, + "tripDuration": { + "type": "string", + "format": "duration", + "description": "The duration for which the circuit will be tripped." + } + }, + "description": "Rule configuration to trip the backend." + }, + "ConfigurationApi": { + "type": "object", + "properties": { + "legacyApi": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be available for self-hosted gateways. Default value is 'Enabled'." + } + }, + "description": "Information regarding the Configuration API of the API Management service." + }, + "ContentTypeContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Content type description." + }, + "id": { + "type": "string", + "description": "Content type identifier" + }, + "name": { + "type": "string", + "description": "Content type name. Must be 1 to 250 characters long." + }, + "schema": { + "type": "object", + "properties": {}, + "description": "Content type schema." + }, + "version": { + "type": "string", + "description": "Content type version." + } + } + }, + "DataMasking": { + "type": "object", + "properties": { + "headers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataMaskingEntity" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Masking settings for headers" + }, + "queryParams": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataMaskingEntity" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Masking settings for Url query parameters" + } + } + }, + "DataMaskingEntity": { + "type": "object", + "properties": { + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Mask", + "Hide" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data masking mode." + }, + "value": { + "type": "string", + "description": "The name of an entity to mask (e.g. a name of a header or a query parameter)." + } + } + }, + "DiagnosticContractProperties": { + "type": "object", + "properties": { + "alwaysLog": { + "oneOf": [ + { + "type": "string", + "enum": [ + "allErrors" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies for what type of messages sampling settings should not apply." + }, + "backend": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway." + }, + "frontend": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway." + }, + "httpCorrelationProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Legacy", + "W3C" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets correlation protocol to use for Application Insights diagnostics." + }, + "logClientIp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Log the ClientIP. Default is false." + }, + "loggerId": { + "type": "string", + "description": "Resource Id of a target logger." + }, + "metrics": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings." + }, + "operationNameFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Name", + "Url" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The format of the Operation Name for Application Insights telemetries. Default is Name." + }, + "sampling": { + "oneOf": [ + { + "$ref": "#/definitions/SamplingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sampling settings for Diagnostic." + }, + "verbosity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "verbose", + "information", + "error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The verbosity level applied to traces emitted by trace policies." + } + }, + "required": [ + "loggerId" + ], + "description": "Diagnostic Entity Properties" + }, + "DocumentationContractProperties": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "Markdown documentation content." + }, + "title": { + "type": "string", + "description": "documentation title." + } + }, + "description": "Markdown documentation details." + }, + "EmailTemplateParametersContractProperties": { + "type": "object", + "properties": { + "description": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Template parameter description." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Template parameter name." + }, + "title": { + "type": "string", + "minLength": 1, + "maxLength": 4096, + "description": "Template parameter title." + } + }, + "description": "Email Template Parameter contract." + }, + "EmailTemplateUpdateParameterProperties": { + "type": "object", + "properties": { + "body": { + "type": "string", + "minLength": 1, + "description": "Email Template Body. This should be a valid XDocument" + }, + "description": { + "type": "string", + "description": "Description of the Email Template." + }, + "parameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EmailTemplateParametersContractProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email Template Parameter values." + }, + "subject": { + "type": "string", + "minLength": 1, + "maxLength": 1000, + "description": "Subject of the Template." + }, + "title": { + "type": "string", + "description": "Title of the Template." + } + }, + "description": "Email Template Update Contract properties." + }, + "FailureStatusCodeRange": { + "type": "object", + "properties": { + "max": { + "oneOf": [ + { + "type": "integer", + "minimum": 200, + "maximum": 599 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum http status code." + }, + "min": { + "oneOf": [ + { + "type": "integer", + "minimum": 200, + "maximum": 599 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum http status code." + } + }, + "description": "The failure http status code range" + }, + "GatewayCertificateAuthorityContractProperties": { + "type": "object", + "properties": { + "isTrusted": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether certificate authority is trusted." + } + }, + "description": "Gateway certificate authority details." + }, + "GatewayContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "maxLength": 1000, + "description": "Gateway description" + }, + "locationData": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceLocationDataContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource location data properties." + } + }, + "description": "Properties of the Gateway contract." + }, + "GatewayHostnameConfigurationContractProperties": { + "type": "object", + "properties": { + "certificateId": { + "type": "string", + "description": "Identifier of Certificate entity that will be used for TLS connection establishment" + }, + "hostname": { + "type": "string", + "description": "Hostname value. Supports valid domain name, partial or full wildcard" + }, + "http2Enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if HTTP/2.0 is supported" + }, + "negotiateClientCertificate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether gateway requests client certificate" + }, + "tls10Enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if TLS 1.0 is supported" + }, + "tls11Enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if TLS 1.1 is supported" + } + }, + "description": "Gateway hostname configuration details." + }, + "GlobalSchemaContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Free-form schema entity description." + }, + "document": { + "type": "object", + "properties": {}, + "description": "Global Schema Document Properties." + }, + "schemaType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "xml", + "json" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema Type. Immutable." + }, + "value": { + "type": "object", + "properties": {}, + "description": "Json-encoded string for non json-based schema." + } + }, + "required": [ + "schemaType" + ], + "description": "Schema create or update contract Properties." + }, + "GroupCreateParametersProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Group description." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Group name." + }, + "externalId": { + "type": "string", + "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "custom", + "system", + "external" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group type." + } + }, + "required": [ + "displayName" + ], + "description": "Parameters supplied to the Create Group operation." + }, + "HostnameConfiguration": { + "type": "object", + "properties": { + "certificate": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateInformation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSL certificate information." + }, + "certificatePassword": { + "type": "string", + "description": "Certificate Password." + }, + "certificateSource": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Managed", + "KeyVault", + "Custom", + "BuiltIn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate Source." + }, + "certificateStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Completed", + "Failed", + "InProgress" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate Status." + }, + "defaultSslBinding": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to gateway Hostname Type." + }, + "encodedCertificate": { + "type": "string", + "description": "Base64 Encoded certificate." + }, + "hostName": { + "type": "string", + "description": "Hostname to configure on the Api Management service." + }, + "identityClientId": { + "type": "string", + "description": "System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate." + }, + "keyVaultId": { + "type": "string", + "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. The secret should be of type *application/x-pkcs12*" + }, + "negotiateClientCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specify true to always negotiate client certificate on the hostname. Default Value is false." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Proxy", + "Portal", + "Management", + "Scm", + "DeveloperPortal", + "ConfigurationApi" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hostname type." + } + }, + "required": [ + "hostName", + "type" + ], + "description": "Custom hostname configuration." + }, + "HttpMessageDiagnostic": { + "type": "object", + "properties": { + "body": { + "oneOf": [ + { + "$ref": "#/definitions/BodyDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Body logging settings." + }, + "dataMasking": { + "oneOf": [ + { + "$ref": "#/definitions/DataMasking" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of HTTP Headers to log." + } + }, + "description": "Http message diagnostic settings." + }, + "IdentityProviderCreateContractProperties": { + "type": "object", + "properties": { + "allowedTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Allowed Tenants when configuring Azure Active Directory login." + }, + "authority": { + "type": "string", + "description": "OpenID Connect discovery endpoint hostname for AAD or AAD B2C." + }, + "clientId": { + "type": "string", + "minLength": 1, + "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft." + }, + "clientLibrary": { + "type": "string", + "minLength": 0, + "maxLength": 16, + "description": "The client library to be used in the developer portal. Only applies to AAD and AAD B2C Identity Provider." + }, + "clientSecret": { + "type": "string", + "minLength": 1, + "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "passwordResetPolicyName": { + "type": "string", + "minLength": 1, + "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider." + }, + "profileEditingPolicyName": { + "type": "string", + "minLength": 1, + "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider." + }, + "signinPolicyName": { + "type": "string", + "minLength": 1, + "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider." + }, + "signinTenant": { + "type": "string", + "description": "The TenantId to use instead of Common when logging into Active Directory" + }, + "signupPolicyName": { + "type": "string", + "minLength": 1, + "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "facebook", + "google", + "microsoft", + "twitter", + "aad", + "aadB2C" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity Provider Type identifier." + } + }, + "required": [ + "clientId", + "clientSecret" + ], + "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users." + }, + "IssueAttachmentContractProperties": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "An HTTP link or Base64-encoded binary data." + }, + "contentFormat": { + "type": "string", + "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property." + }, + "title": { + "type": "string", + "description": "Filename by which the binary data will be saved." + } + }, + "required": [ + "content", + "contentFormat", + "title" + ], + "description": "Issue Attachment contract Properties." + }, + "IssueCommentContractProperties": { + "type": "object", + "properties": { + "createdDate": { + "type": "string", + "format": "date-time", + "description": "Date and time when the comment was created." + }, + "text": { + "type": "string", + "description": "Comment text." + }, + "userId": { + "type": "string", + "description": "A resource identifier for the user who left the comment." + } + }, + "required": [ + "text", + "userId" + ], + "description": "Issue Comment contract Properties." + }, + "IssueContractProperties": { + "type": "object", + "properties": { + "apiId": { + "type": "string", + "description": "A resource identifier for the API the issue was created for." + }, + "createdDate": { + "type": "string", + "format": "date-time", + "description": "Date and time when the issue was created." + }, + "description": { + "type": "string", + "description": "Text describing the issue." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "proposed", + "open", + "removed", + "resolved", + "closed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status of the issue." + }, + "title": { + "type": "string", + "description": "The issue title." + }, + "userId": { + "type": "string", + "description": "A resource identifier for the user created the issue." + } + }, + "required": [ + "description", + "title", + "userId" + ], + "description": "Issue contract Properties." + }, + "KeyVaultContractCreateProperties": { + "type": "object", + "properties": { + "identityClientId": { + "type": "string", + "description": "Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access key vault secret." + }, + "secretIdentifier": { + "type": "string", + "description": "Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi" + } + }, + "description": "Create keyVault contract details." + }, + "LoggerContractProperties": { + "type": "object", + "properties": { + "credentials": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger." + }, + "description": { + "type": "string", + "maxLength": 256, + "description": "Logger description." + }, + "isBuffered": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true." + }, + "loggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "azureEventHub", + "applicationInsights", + "azureMonitor" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logger type." + }, + "resourceId": { + "type": "string", + "description": "Azure Resource Id of a log target (either Azure Event Hub resource or Azure Application Insights resource)." + } + }, + "required": [ + "loggerType" + ], + "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs." + }, + "NamedValueCreateContractProperties": { + "type": "object", + "properties": { + "displayName": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters." + }, + "keyVault": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultContractCreateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create keyVault contract details." + }, + "secret": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." + }, + "tags": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional tags that when provided can be used to filter the NamedValue list." + }, + "value": { + "type": "string", + "maxLength": 4096, + "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + } + }, + "required": [ + "displayName" + ], + "description": "NamedValue Contract properties." + }, + "OAuth2AuthenticationSettingsContract": { + "type": "object", + "properties": { + "authorizationServerId": { + "type": "string", + "description": "OAuth authorization server identifier." + }, + "scope": { + "type": "string", + "description": "operations scope." + } + }, + "description": "API OAuth2 Authentication settings details." + }, + "OpenIdAuthenticationSettingsContract": { + "type": "object", + "properties": { + "bearerTokenSendingMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationHeader", + "query" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How to send token to the server." + }, + "openidProviderId": { + "type": "string", + "description": "OAuth authorization server identifier." + } + }, + "description": "API OAuth2 Authentication settings details." + }, + "OpenidConnectProviderContractProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "Client ID of developer console which is the client application." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret of developer console which is the client application." + }, + "description": { + "type": "string", + "description": "User-friendly description of OpenID Connect Provider." + }, + "displayName": { + "type": "string", + "maxLength": 50, + "description": "User-friendly OpenID Connect Provider name." + }, + "metadataEndpoint": { + "type": "string", + "description": "Metadata endpoint URI." + }, + "useInApiDocumentation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, the Open ID Connect provider will be used in the API documentation in the developer portal. False by default if no value is provided." + }, + "useInTestConsole": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, the Open ID Connect provider may be used in the developer portal test console. True by default if no value is provided." + } + }, + "required": [ + "clientId", + "displayName", + "metadataEndpoint" + ], + "description": "OpenID Connect Providers Contract." + }, + "OperationContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "maxLength": 1000, + "description": "Description of the operation. May include HTML formatting tags." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Operation Name." + }, + "method": { + "type": "string", + "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them." + }, + "policies": { + "type": "string", + "description": "Operation Policies" + }, + "request": { + "oneOf": [ + { + "$ref": "#/definitions/RequestContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation request details." + }, + "responses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResponseContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of Operation responses." + }, + "templateParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of URL template parameters." + }, + "urlTemplate": { + "type": "string", + "minLength": 1, + "maxLength": 1000, + "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}" + } + }, + "required": [ + "displayName", + "method", + "urlTemplate" + ], + "description": "Operation Contract Properties" + }, + "ParameterContract": { + "type": "object", + "properties": { + "defaultValue": { + "type": "string", + "description": "Default parameter value." + }, + "description": { + "type": "string", + "description": "Parameter description." + }, + "examples": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterExampleContract" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameter examples." + }, + "name": { + "type": "string", + "description": "Parameter name." + }, + "required": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether parameter is required or not." + }, + "schemaId": { + "type": "string", + "description": "Schema identifier." + }, + "type": { + "type": "string", + "description": "Parameter type." + }, + "typeName": { + "type": "string", + "description": "Type name defined by the schema." + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameter values." + } + }, + "required": [ + "name", + "type" + ], + "description": "Operation parameters details." + }, + "ParameterExampleContract": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Long description for the example" + }, + "externalValue": { + "type": "string", + "description": "A URL that points to the literal example" + }, + "summary": { + "type": "string", + "description": "Short description for the example" + }, + "value": { + "type": "object", + "properties": {}, + "description": "Example value. May be a primitive value, or an object." + } + }, + "description": "Parameter example." + }, + "PipelineDiagnosticSettings": { + "type": "object", + "properties": { + "request": { + "oneOf": [ + { + "$ref": "#/definitions/HttpMessageDiagnostic" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Http message diagnostic settings." + }, + "response": { + "oneOf": [ + { + "$ref": "#/definitions/HttpMessageDiagnostic" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Http message diagnostic settings." + } + }, + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway." + }, + "PolicyContractProperties": { + "type": "object", + "properties": { + "format": { + "oneOf": [ + { + "type": "string", + "enum": [ + "xml", + "xml-link", + "rawxml", + "rawxml-link" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Format of the policyContent." + }, + "value": { + "type": "string", + "description": "Contents of the Policy as defined by the format." + } + }, + "required": [ + "value" + ], + "description": "Policy contract Properties." + }, + "PolicyFragmentContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "minLength": 0, + "maxLength": 1000, + "description": "Policy fragment description." + }, + "format": { + "oneOf": [ + { + "type": "string", + "enum": [ + "xml", + "rawxml" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Format of the policy fragment content." + }, + "value": { + "type": "string", + "description": "Contents of the policy fragment." + } + }, + "required": [ + "value" + ], + "description": "Policy fragment contract properties." + }, + "PolicyRestrictionContractProperties": { + "type": "object", + "properties": { + "requireBase": { + "oneOf": [ + { + "type": "string", + "enum": [ + "true", + "false" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if base policy should be enforced for the policy document." + }, + "scope": { + "type": "string", + "description": "Path to the policy document." + } + }, + "description": "Policy restrictions contract properties." + }, + "PortalConfigCorsProperties": { + "type": "object", + "properties": { + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed origins, e.g. `https://trusted.com`." + } + }, + "description": "The developer portal Cross-Origin Resource Sharing (CORS) settings." + }, + "PortalConfigCspProperties": { + "type": "object", + "properties": { + "allowedSources": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed sources, e.g. `*.trusted.com`, `trusted.com`, `https://`." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled", + "reportOnly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode of the developer portal Content Security Policy (CSP)." + }, + "reportUri": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The URLs used by the browser to report CSP violations." + } + }, + "description": "The developer portal Content Security Policy (CSP) settings." + }, + "PortalConfigDelegationProperties": { + "type": "object", + "properties": { + "delegateRegistration": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable delegation for user registration." + }, + "delegateSubscription": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable delegation for product subscriptions." + }, + "delegationUrl": { + "type": "string", + "description": "A delegation endpoint URL." + }, + "validationKey": { + "type": "string", + "description": "A base64-encoded validation key to ensure requests originate from Azure API Management service." + } + } + }, + "PortalConfigProperties": { + "type": "object", + "properties": { + "cors": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigCorsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The developer portal Cross-Origin Resource Sharing (CORS) settings." + }, + "csp": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigCspProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The developer portal Content Security Policy (CSP) settings." + }, + "delegation": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigDelegationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enableBasicAuth": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable Basic authentication method." + }, + "signin": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigPropertiesSignin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "signup": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigPropertiesSignup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The developer portal configuration contract properties." + }, + "PortalConfigPropertiesSignin": { + "type": "object", + "properties": { + "require": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Redirect anonymous users to the sign-in page." + } + } + }, + "PortalConfigPropertiesSignup": { + "type": "object", + "properties": { + "termsOfService": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigTermsOfServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms of service contract properties." + } + } + }, + "PortalConfigTermsOfServiceProperties": { + "type": "object", + "properties": { + "requireConsent": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ask user for consent to the terms of service." + }, + "text": { + "type": "string", + "description": "A terms of service text." + } + }, + "description": "Terms of service contract properties." + }, + "PortalDelegationSettingsProperties": { + "type": "object", + "properties": { + "subscriptions": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscriptions delegation settings properties." + }, + "url": { + "type": "string", + "description": "A delegation Url." + }, + "userRegistration": { + "oneOf": [ + { + "$ref": "#/definitions/RegistrationDelegationSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User registration delegation settings properties." + }, + "validationKey": { + "type": "string", + "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management." + } + }, + "description": "Delegation settings contract properties." + }, + "PortalRevisionContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "maxLength": 2000, + "description": "Portal revision description." + }, + "isCurrent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the portal's revision is public." + } + } + }, + "PortalSigninSettingProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Redirect Anonymous users to the Sign-In page." + } + }, + "description": "Sign-in settings contract properties." + }, + "PortalSignupSettingsProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow users to sign up on a developer portal." + }, + "termsOfService": { + "oneOf": [ + { + "$ref": "#/definitions/TermsOfServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms of service contract properties." + } + }, + "description": "Sign-up settings contract properties." + }, + "PrivateEndpointConnectionRequestProperties": { + "type": "object", + "properties": { + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "description": "The connection state of the private endpoint connection." + }, + "PrivateEndpointConnectionWrapperProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdWrapper" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A wrapper for an ARM resource id" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "ProductApiLinkContractProperties": { + "type": "object", + "properties": { + "apiId": { + "type": "string", + "description": "Full resource Id of an API." + } + }, + "required": [ + "apiId" + ], + "description": "Product-API link entity properties." + }, + "ProductContractProperties": { + "type": "object", + "properties": { + "approvalRequired": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + }, + "description": { + "type": "string", + "minLength": 0, + "maxLength": 1000, + "description": "Product description. May include HTML formatting tags." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Product name." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "notPublished", + "published" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished." + }, + "subscriptionRequired": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true." + }, + "subscriptionsLimit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + }, + "terms": { + "type": "string", + "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process." + } + }, + "required": [ + "displayName" + ], + "description": "Product profile." + }, + "ProductGroupLinkContractProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Full resource Id of a group." + } + }, + "required": [ + "groupId" + ], + "description": "Product-group link entity properties." + }, + "RegistrationDelegationSettingsProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable delegation for user registration." + } + }, + "description": "User registration delegation settings properties." + }, + "RemotePrivateEndpointConnectionWrapper": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Private Endpoint connection resource id" + }, + "name": { + "type": "string", + "description": "Private Endpoint Connection Name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionWrapperProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "description": "Private Endpoint Connection Resource Type" + } + }, + "description": "Remote Private Endpoint Connection resource." + }, + "RepresentationContract": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "Specifies a registered or custom content type for this representation, e.g. application/xml." + }, + "examples": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterExampleContract" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameter examples." + }, + "formParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.." + }, + "schemaId": { + "type": "string", + "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'." + }, + "typeName": { + "type": "string", + "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'." + } + }, + "required": [ + "contentType" + ], + "description": "Operation request/response representation details." + }, + "RequestContract": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Operation request description." + }, + "headers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of operation request headers." + }, + "queryParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of operation request query parameters." + }, + "representations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RepresentationContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of operation request representations." + } + }, + "description": "Operation request details." + }, + "ResolverEntityBaseContract": { + "type": "object", + "properties": { + "description": { + "type": "string", + "maxLength": 1000, + "description": "Description of the resolver. May include HTML formatting tags." + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Resolver Name." + }, + "path": { + "type": "string", + "minLength": 1, + "maxLength": 300, + "description": "Path is type/field being resolved." + } + }, + "description": "GraphQL API Resolver Entity Base Contract details." + }, + "ResourceLocationDataContract": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 256, + "description": "The city or locality where the resource is located." + }, + "countryOrRegion": { + "type": "string", + "maxLength": 256, + "description": "The country or region where the resource is located." + }, + "district": { + "type": "string", + "maxLength": 256, + "description": "The district, state, or province where the resource is located." + }, + "name": { + "type": "string", + "maxLength": 256, + "description": "A canonical name for the geographic or physical location." + } + }, + "required": [ + "name" + ], + "description": "Resource location data properties." + }, + "ResponseContract": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Operation response description." + }, + "headers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of operation response headers." + }, + "representations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RepresentationContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of operation response representations." + }, + "statusCode": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation response HTTP status code." + } + }, + "required": [ + "statusCode" + ], + "description": "Operation response details." + }, + "SamplingSettings": { + "type": "object", + "properties": { + "percentage": { + "oneOf": [ + { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rate of sampling for fixed-rate sampling." + }, + "samplingType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "fixed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sampling type." + } + }, + "description": "Sampling settings for Diagnostic." + }, + "SchemaContractProperties": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml).
- `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json`
- `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml`
- `OpenApi` Schema use `application/vnd.oai.openapi.components+json`
- `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`
- `OData Schema` use `application/vnd.ms-azure-apim.odata.schema`
- `gRPC Schema` use `text/protobuf`." + }, + "document": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaDocumentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Api Schema Document Properties." + } + }, + "required": [ + "contentType", + "document" + ], + "description": "API Schema create or update contract Properties." + }, + "SchemaDocumentProperties": { + "type": "object", + "properties": { + "components": { + "type": "object", + "properties": {}, + "description": "Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only, null otherwise." + }, + "definitions": { + "type": "object", + "properties": {}, + "description": "Types definitions. Used for Swagger/OpenAPI v1 schemas only, null otherwise." + }, + "value": { + "type": "string", + "description": "Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI." + } + }, + "description": "Api Schema Document Properties." + }, + "service_apis_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiCreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Create or Update Properties." + }, + "type": { + "type": "string", + "enum": [ + "apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis" + }, + "service_apis_diagnostics_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic Entity Properties" + }, + "type": { + "type": "string", + "enum": [ + "diagnostics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/diagnostics" + }, + "service_apis_issues_attachments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Attachment identifier within an Issue. Must be unique in the current Issue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IssueAttachmentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue Attachment contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "attachments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/issues/attachments" + }, + "service_apis_issues_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IssueContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "issues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/issues" + }, + "service_apis_issues_comments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comment identifier within an Issue. Must be unique in the current Issue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IssueCommentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Issue Comment contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "comments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/issues/comments" + }, + "service_apis_operations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Operation identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OperationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation Contract Properties" + }, + "type": { + "type": "string", + "enum": [ + "operations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/operations" + }, + "service_apis_operations_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/operations/policies" + }, + "service_apis_operations_tags_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/operations/tags" + }, + "service_apis_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/policies" + }, + "service_apis_releases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Release identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiReleaseContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Release details" + }, + "type": { + "type": "string", + "enum": [ + "releases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/releases" + }, + "service_apis_resolvers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ResolverEntityBaseContract" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "GraphQL API Resolver Entity Base Contract details." + }, + "type": { + "type": "string", + "enum": [ + "resolvers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/resolvers" + }, + "service_apis_resolvers_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/resolvers/policies" + }, + "service_apis_schemas_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/schemas" + }, + "service_apis_tagDescriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagDescriptionBaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create TagDescription operation." + }, + "type": { + "type": "string", + "enum": [ + "tagDescriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/tagDescriptions" + }, + "service_apis_tags_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/tags" + }, + "service_apis_wikis_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WikiContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Wiki contract details" + }, + "type": { + "type": "string", + "enum": [ + "wikis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apis/wikis" + }, + "service_apiVersionSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Api Version Set identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiVersionSetContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an API Version Set." + }, + "type": { + "type": "string", + "enum": [ + "apiVersionSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/apiVersionSets" + }, + "service_authorizationProviders_authorizations_accessPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization access policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationAccessPolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization Access Policy details." + }, + "type": { + "type": "string", + "enum": [ + "accessPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationProviders/authorizations/accessPolicies" + }, + "service_authorizationProviders_authorizations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization details." + }, + "type": { + "type": "string", + "enum": [ + "authorizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationProviders/authorizations" + }, + "service_authorizationProviders_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization provider." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationProviderContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authorization Provider details." + }, + "type": { + "type": "string", + "enum": [ + "authorizationProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationProviders" + }, + "service_authorizationServers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the authorization server." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationServerContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "External OAuth authorization server settings Properties." + }, + "type": { + "type": "string", + "enum": [ + "authorizationServers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/authorizationServers" + }, + "service_backends_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackendContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create Backend operation." + }, + "type": { + "type": "string", + "enum": [ + "backends" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/backends" + }, + "service_caches_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier)." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CacheContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Cache contract." + }, + "type": { + "type": "string", + "enum": [ + "caches" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/caches" + }, + "service_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateCreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the CreateOrUpdate certificate operation." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/certificates" + }, + "service_contentTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Content type identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContentTypeContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "contentTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/contentTypes" + }, + "service_contentTypes_contentItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Content item identifier." + }, + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "contentItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/contentTypes/contentItems" + }, + "service_diagnostics_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Diagnostic Entity Properties" + }, + "type": { + "type": "string", + "enum": [ + "diagnostics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/diagnostics" + }, + "service_documentations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Documentation identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DocumentationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Markdown documentation details." + }, + "type": { + "type": "string", + "enum": [ + "documentations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/documentations" + }, + "service_gateways_apis_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AssociationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Association entity contract properties." + }, + "type": { + "type": "string", + "enum": [ + "apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways/apis" + }, + "service_gateways_certificateAuthorities_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayCertificateAuthorityContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway certificate authority details." + }, + "type": { + "type": "string", + "enum": [ + "certificateAuthorities" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways/certificateAuthorities" + }, + "service_gateways_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Gateway entity identifier. Must be unique in the current API Management service instance. Must not have value 'managed'" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Gateway contract." + }, + "type": { + "type": "string", + "enum": [ + "gateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways" + }, + "service_gateways_hostnameConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Gateway hostname configuration identifier. Must be unique in the scope of parent Gateway entity." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayHostnameConfigurationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway hostname configuration details." + }, + "type": { + "type": "string", + "enum": [ + "hostnameConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations" + }, + "service_groups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Group identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GroupCreateParametersProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create Group operation." + }, + "type": { + "type": "string", + "enum": [ + "groups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/groups" + }, + "service_groups_users_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/groups/users" + }, + "service_identityProviders_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "facebook", + "google", + "microsoft", + "twitter", + "aad", + "aadB2C" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity Provider Type identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderCreateContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users." + }, + "type": { + "type": "string", + "enum": [ + "identityProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/identityProviders" + }, + "service_loggers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logger identifier. Must be unique in the API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoggerContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs." + }, + "type": { + "type": "string", + "enum": [ + "loggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/loggers" + }, + "service_namedValues_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the NamedValue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NamedValueCreateContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NamedValue Contract properties." + }, + "type": { + "type": "string", + "enum": [ + "namedValues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/namedValues" + }, + "service_notifications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RequestPublisherNotificationMessage", + "PurchasePublisherNotificationMessage", + "NewApplicationNotificationMessage", + "BCC", + "NewIssuePublisherNotificationMessage", + "AccountClosedPublisher", + "QuotaLimitApproachingPublisherNotificationMessage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Notification Name Identifier." + }, + "type": { + "type": "string", + "enum": [ + "notifications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/notifications" + }, + "service_notifications_recipientEmails_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Email identifier." + }, + "type": { + "type": "string", + "enum": [ + "recipientEmails" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/notifications/recipientEmails" + }, + "service_notifications_recipientUsers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "recipientUsers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/notifications/recipientUsers" + }, + "service_openidConnectProviders_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the OpenID Connect Provider." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OpenidConnectProviderContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OpenID Connect Providers Contract." + }, + "type": { + "type": "string", + "enum": [ + "openidConnectProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/openidConnectProviders" + }, + "service_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/policies" + }, + "service_policyFragments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A resource identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyFragmentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy fragment contract properties." + }, + "type": { + "type": "string", + "enum": [ + "policyFragments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/policyFragments" + }, + "service_policyRestrictions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Policy restrictions after an entity level" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyRestrictionContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy restrictions contract properties." + }, + "type": { + "type": "string", + "enum": [ + "policyRestrictions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/policyRestrictions" + }, + "service_portalconfigs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Portal configuration identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The developer portal configuration contract properties." + }, + "type": { + "type": "string", + "enum": [ + "portalconfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/portalconfigs" + }, + "service_portalRevisions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Portal revision identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalRevisionContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "portalRevisions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/portalRevisions" + }, + "service_portalsettings_childResource": { + "type": "object", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "signin" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalSigninSettingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sign-in settings contract properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "signup" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalSignupSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sign-up settings contract properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "delegation" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PortalDelegationSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Delegation settings contract properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "type": { + "type": "string", + "enum": [ + "portalsettings" + ] + } + }, + "required": [ + "apiVersion", + "type" + ], + "description": "Microsoft.ApiManagement/service/portalsettings" + }, + "service_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "id": { + "type": "string", + "description": "Private Endpoint Connection Resource Id." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The connection state of the private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/privateEndpointConnections" + }, + "service_products_apiLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/apiLinks" + }, + "service_products_apis_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number." + }, + "type": { + "type": "string", + "enum": [ + "apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/apis" + }, + "service_products_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Product identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product profile." + }, + "type": { + "type": "string", + "enum": [ + "products" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products" + }, + "service_products_groupLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-Group link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductGroupLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-group link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "groupLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/groupLinks" + }, + "service_products_groups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Group identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "groups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/groups" + }, + "service_products_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/policies" + }, + "service_products_tags_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/tags" + }, + "service_products_wikis_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WikiContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Wiki contract details" + }, + "type": { + "type": "string", + "enum": [ + "wikis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/products/wikis" + }, + "service_schemas_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalSchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/schemas" + }, + "service_subscriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "type": { + "type": "string", + "enum": [ + "subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/subscriptions" + }, + "service_tags_apiLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags/apiLinks" + }, + "service_tags_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags" + }, + "service_tags_operationLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagOperationLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "operationLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags/operationLinks" + }, + "service_tags_productLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagProductLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "productLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tags/productLinks" + }, + "service_templates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "applicationApprovedNotificationMessage", + "accountClosedDeveloper", + "quotaLimitApproachingDeveloperNotificationMessage", + "newDeveloperNotificationMessage", + "emailChangeIdentityDefault", + "inviteUserNotificationMessage", + "newCommentNotificationMessage", + "confirmSignUpIdentityDefault", + "newIssueNotificationMessage", + "purchaseDeveloperNotificationMessage", + "passwordResetIdentityDefault", + "passwordResetByAdminNotificationMessage", + "rejectDeveloperNotificationMessage", + "requestDeveloperNotificationMessage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email Template Name Identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EmailTemplateUpdateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email Template Update Contract properties." + }, + "type": { + "type": "string", + "enum": [ + "templates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/templates" + }, + "service_tenant_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "access", + "gitAccess" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identifier of the Access configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccessInformationCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tenant access information update parameters of the API Management service" + }, + "type": { + "type": "string", + "enum": [ + "tenant" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/tenant" + }, + "service_users_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/UserCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create User operation." + }, + "type": { + "type": "string", + "enum": [ + "users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/users" + }, + "service_workspaces_apis_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiCreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Create or Update Properties." + }, + "type": { + "type": "string", + "enum": [ + "apis" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis" + }, + "service_workspaces_apis_operations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Operation identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OperationContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation Contract Properties" + }, + "type": { + "type": "string", + "enum": [ + "operations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/operations" + }, + "service_workspaces_apis_operations_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/operations/policies" + }, + "service_workspaces_apis_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/policies" + }, + "service_workspaces_apis_releases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Release identifier within an API. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiReleaseContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Release details" + }, + "type": { + "type": "string", + "enum": [ + "releases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/releases" + }, + "service_workspaces_apis_schemas_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apis/schemas" + }, + "service_workspaces_apiVersionSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Api Version Set identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiVersionSetContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an API Version Set." + }, + "type": { + "type": "string", + "enum": [ + "apiVersionSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/apiVersionSets" + }, + "service_workspaces_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workspace identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkspaceContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workspace entity properties." + }, + "type": { + "type": "string", + "enum": [ + "workspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces" + }, + "service_workspaces_groups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Group identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GroupCreateParametersProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create Group operation." + }, + "type": { + "type": "string", + "enum": [ + "groups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/groups" + }, + "service_workspaces_groups_users_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/groups/users" + }, + "service_workspaces_namedValues_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of the NamedValue." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NamedValueCreateContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NamedValue Contract properties." + }, + "type": { + "type": "string", + "enum": [ + "namedValues" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/namedValues" + }, + "service_workspaces_notifications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RequestPublisherNotificationMessage", + "PurchasePublisherNotificationMessage", + "NewApplicationNotificationMessage", + "BCC", + "NewIssuePublisherNotificationMessage", + "AccountClosedPublisher", + "QuotaLimitApproachingPublisherNotificationMessage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Notification Name Identifier." + }, + "type": { + "type": "string", + "enum": [ + "notifications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/notifications" + }, + "service_workspaces_notifications_recipientEmails_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Email identifier." + }, + "type": { + "type": "string", + "enum": [ + "recipientEmails" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/notifications/recipientEmails" + }, + "service_workspaces_notifications_recipientUsers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "User identifier. Must be unique in the current API Management service instance." + }, + "type": { + "type": "string", + "enum": [ + "recipientUsers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/notifications/recipientUsers" + }, + "service_workspaces_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/policies" + }, + "service_workspaces_policyFragments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A resource identifier." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyFragmentContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy fragment contract properties." + }, + "type": { + "type": "string", + "enum": [ + "policyFragments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/policyFragments" + }, + "service_workspaces_products_apiLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products/apiLinks" + }, + "service_workspaces_products_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Product identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product profile." + }, + "type": { + "type": "string", + "enum": [ + "products" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products" + }, + "service_workspaces_products_groupLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-Group link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProductGroupLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Product-group link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "groupLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products/groupLinks" + }, + "service_workspaces_products_policies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "policies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/products/policies" + }, + "service_workspaces_schemas_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "description": "Schema id identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalSchemaContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema create or update contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "schemas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/schemas" + }, + "service_workspaces_subscriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "maxLength": 256 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionCreateParameterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "type": { + "type": "string", + "enum": [ + "subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/subscriptions" + }, + "service_workspaces_tags_apiLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagApiLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-API link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "apiLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags/apiLinks" + }, + "service_workspaces_tags_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag contract Properties." + }, + "type": { + "type": "string", + "enum": [ + "tags" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags" + }, + "service_workspaces_tags_operationLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagOperationLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-operation link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "operationLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags/operationLinks" + }, + "service_workspaces_tags_productLinks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^*#&+:<>?]+$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link identifier. Must be unique in the current API Management service instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagProductLinkContractProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tag-product link entity properties." + }, + "type": { + "type": "string", + "enum": [ + "productLinks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ApiManagement/service/workspaces/tags/productLinks" + }, + "SubscriptionCreateParameterProperties": { + "type": "object", + "properties": { + "allowTracing": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether tracing can be enabled" + }, + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Subscription name." + }, + "ownerId": { + "type": "string", + "description": "User (user id path) for whom subscription is being created in form /users/{userId}" + }, + "primaryKey": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Primary subscription key. If not specified during request key will be generated automatically." + }, + "scope": { + "type": "string", + "description": "Scope like /products/{productId} or /apis or /apis/{apiId}." + }, + "secondaryKey": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "description": "Secondary subscription key. If not specified during request key will be generated automatically." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "suspended", + "active", + "expired", + "submitted", + "rejected", + "cancelled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated." + } + }, + "required": [ + "displayName", + "scope" + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "SubscriptionKeyParameterNamesContract": { + "type": "object", + "properties": { + "header": { + "type": "string", + "description": "Subscription key header name." + }, + "query": { + "type": "string", + "description": "Subscription key query string parameter name." + } + }, + "description": "Subscription key parameter names details." + }, + "SubscriptionsDelegationSettingsProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable delegation for subscriptions." + } + }, + "description": "Subscriptions delegation settings properties." + }, + "TagApiLinkContractProperties": { + "type": "object", + "properties": { + "apiId": { + "type": "string", + "description": "Full resource Id of an API." + } + }, + "required": [ + "apiId" + ], + "description": "Tag-API link entity properties." + }, + "TagContractProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "minLength": 1, + "maxLength": 160, + "description": "Tag name." + } + }, + "required": [ + "displayName" + ], + "description": "Tag contract Properties." + }, + "TagDescriptionBaseProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the Tag." + }, + "externalDocsDescription": { + "type": "string", + "description": "Description of the external resources describing the tag." + }, + "externalDocsUrl": { + "type": "string", + "maxLength": 2000, + "description": "Absolute URL of external resources describing the tag." + } + }, + "description": "Parameters supplied to the Create TagDescription operation." + }, + "TagOperationLinkContractProperties": { + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "Full resource Id of an API operation." + } + }, + "required": [ + "operationId" + ], + "description": "Tag-operation link entity properties." + }, + "TagProductLinkContractProperties": { + "type": "object", + "properties": { + "productId": { + "type": "string", + "description": "Full resource Id of a product." + } + }, + "required": [ + "productId" + ], + "description": "Tag-product link entity properties." + }, + "TermsOfServiceProperties": { + "type": "object", + "properties": { + "consentRequired": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ask user for consent to the terms of service." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Display terms of service during a sign-up process." + }, + "text": { + "type": "string", + "description": "A terms of service text." + } + }, + "description": "Terms of service contract properties." + }, + "TokenBodyParameterContract": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "body parameter name." + }, + "value": { + "type": "string", + "description": "body parameter value." + } + }, + "required": [ + "name", + "value" + ], + "description": "OAuth acquire token request body parameter (www-url-form-encoded)." + }, + "UserCreateParameterProperties": { + "type": "object", + "properties": { + "appType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "portal", + "developerPortal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines the type of application which send the create user request. Default is legacy portal." + }, + "confirmation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "signup", + "invite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines the type of confirmation e-mail that will be sent to the newly created user." + }, + "email": { + "type": "string", + "minLength": 1, + "maxLength": 254, + "description": "Email address. Must not be empty and must be unique within the service instance." + }, + "firstName": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "First name." + }, + "identities": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UserIdentityContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of user identities." + }, + "lastName": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "Last name." + }, + "note": { + "type": "string", + "description": "Optional note about a user set by the administrator." + }, + "password": { + "type": "string", + "description": "User Password. If no value is provided, a default password is generated." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "active", + "blocked", + "pending", + "deleted" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active." + } + }, + "required": [ + "email", + "firstName", + "lastName" + ], + "description": "Parameters supplied to the Create User operation." + }, + "UserIdentityContract": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier value within provider." + }, + "provider": { + "type": "string", + "description": "Identity provider name." + } + }, + "description": "User identity details." + }, + "UserIdentityProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The client id of user assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity." + } + } + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "subnetResourceId": { + "oneOf": [ + { + "type": "string", + "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The full resource ID of a subnet in a virtual network to deploy the API Management service in." + } + }, + "description": "Configuration of a virtual network to which API Management service is deployed." + }, + "WikiContractProperties": { + "type": "object", + "properties": { + "documents": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WikiDocumentationContract" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection wiki documents included into this wiki." + } + }, + "description": "Wiki contract details" + }, + "WikiDocumentationContract": { + "type": "object", + "properties": { + "documentationId": { + "type": "string", + "description": "Documentation Identifier" + } + }, + "description": "Wiki documentation details." + }, + "WorkspaceContractProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the workspace." + }, + "displayName": { + "type": "string", + "description": "Name of the workspace." + } + }, + "required": [ + "displayName" + ], + "description": "Workspace entity properties." + }, + "X509CertificateName": { + "type": "object", + "properties": { + "issuerCertificateThumbprint": { + "type": "string", + "description": "Thumbprint for the Issuer of the Certificate." + }, + "name": { + "type": "string", + "description": "Common Name of the Certificate." + } + }, + "description": "Properties of server X509Names." + } + } +} \ No newline at end of file diff --git a/schemas/2023-05-01-preview/Microsoft.Sql.json b/schemas/2023-05-01-preview/Microsoft.Sql.json index 83e7ca88e5..f8eceb66d8 100644 --- a/schemas/2023-05-01-preview/Microsoft.Sql.json +++ b/schemas/2023-05-01-preview/Microsoft.Sql.json @@ -9534,8 +9534,22 @@ "description": "A CMK URI of the key to use for encryption." }, "minimalTlsVersion": { - "type": "string", - "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'" + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "1.0", + "1.1", + "1.2", + "1.3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimal TLS version. Allowed values: 'None', 1.0', '1.1', '1.2', '1.3'." }, "primaryUserAssignedIdentityId": { "type": "string", diff --git a/schemas/2023-08-01/Microsoft.RecoveryServices.json b/schemas/2023-08-01/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..b601a5c89e --- /dev/null +++ b/schemas/2023-08-01/Microsoft.RecoveryServices.json @@ -0,0 +1,934 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the recovery services vault." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the vault." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_certificates_childResource" + }, + { + "$ref": "#/definitions/vaults_extendedInformation_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifies the unique system identifier for each Azure 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": [ + { + "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.RecoveryServices/vaults" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults" + }, + "vaults_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "name": { + "type": "string", + "description": "Certificate friendly name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RawCertificateData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Raw certificate data." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/certificates" + }, + "vaults_extendedInformation": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultExtendedInfo$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault extended information." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/extendedInformation" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + }, + "definitions": { + "AzureMonitorAlertSettings": { + "type": "object", + "properties": { + "alertsForAllJobFailures": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for Azure Monitor based alerts" + }, + "ClassicAlertSettings": { + "type": "object", + "properties": { + "alertsForCriticalOperations": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for classic alerts" + }, + "CmkKekIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + }, + "useSystemAssignedIdentity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + } + }, + "description": "The details of the identity used for CMK" + }, + "CmkKeyVaultProperties": { + "type": "object", + "properties": { + "keyUri": { + "type": "string", + "description": "The key uri of the Customer Managed Key" + } + }, + "description": "The properties of the Key Vault which hosts CMK" + }, + "CrossSubscriptionRestoreSettings": { + "type": "object", + "properties": { + "crossSubscriptionRestoreState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "PermanentlyDisabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for Cross Subscription Restore Settings" + }, + "IdentityData": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ImmutabilitySettings": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Unlocked", + "Locked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Immutability Settings of vault" + }, + "MonitoringSettings": { + "type": "object", + "properties": { + "azureMonitorAlertSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for Azure Monitor based alerts" + }, + "classicAlertSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ClassicAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for classic alerts" + } + }, + "description": "Monitoring Settings of the vault" + }, + "RawCertificateData": { + "type": "object", + "properties": { + "authType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "ACS", + "AAD", + "AccessControlService", + "AzureActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the authentication type." + }, + "certificate": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base64 encoded certificate raw data string" + } + }, + "description": "Raw certificate data." + }, + "RestoreSettings": { + "type": "object", + "properties": { + "crossSubscriptionRestoreSettings": { + "oneOf": [ + { + "$ref": "#/definitions/CrossSubscriptionRestoreSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for Cross Subscription Restore Settings" + } + }, + "description": "Restore Settings of the vault" + }, + "SecuritySettings": { + "type": "object", + "properties": { + "immutabilitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/ImmutabilitySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Immutability Settings of vault" + }, + "multiUserAuthorization": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "MUA Settings of a vault." + }, + "softDeleteSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SoftDeleteSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Soft delete Settings of vault" + } + }, + "description": "Security Settings of the vault" + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "type": "string", + "description": "The sku capacity" + }, + "family": { + "type": "string", + "description": "The sku family" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "RS0" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig." + }, + "size": { + "type": "string", + "description": "The sku size" + }, + "tier": { + "type": "string", + "description": "The Sku tier." + } + }, + "required": [ + "name" + ], + "description": "Identifies the unique system identifier for each Azure resource." + }, + "SoftDeleteSettings": { + "type": "object", + "properties": { + "enhancedSecurityState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "softDeleteRetentionPeriodInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Soft delete retention period in days" + }, + "softDeleteState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Soft delete Settings of vault" + }, + "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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UpgradeDetails": { + "type": "object", + "properties": {}, + "description": "Details for upgrading vault." + }, + "UserIdentity": { + "type": "object", + "properties": {}, + "description": "A resource identity that is managed by the user of the service." + }, + "VaultExtendedInfo": { + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "Algorithm for Vault ExtendedInfo" + }, + "encryptionKey": { + "type": "string", + "description": "Encryption key." + }, + "encryptionKeyThumbprint": { + "type": "string", + "description": "Encryption key thumbprint." + }, + "integrityKey": { + "type": "string", + "description": "Integrity key." + } + }, + "description": "Vault extended information." + }, + "VaultProperties": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Customer Managed Key details of the resource." + }, + "monitoringSettings": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monitoring Settings of the vault" + }, + "moveDetails": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesMoveDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of the latest move operation performed on the Azure Resource" + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "property to enable or disable resource provider inbound network traffic from public clients." + }, + "redundancySettings": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesRedundancySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The redundancy Settings of a Vault" + }, + "restoreSettings": { + "oneOf": [ + { + "$ref": "#/definitions/RestoreSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restore Settings of the vault" + }, + "securitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/SecuritySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security Settings of the vault" + }, + "upgradeDetails": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradeDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details for upgrading vault." + } + }, + "description": "Properties of the vault." + }, + "VaultPropertiesEncryption": { + "type": "object", + "properties": { + "infrastructureEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabling/Disabling the Double Encryption state." + }, + "kekIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/CmkKekIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of the identity used for CMK" + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Key Vault which hosts CMK" + } + }, + "description": "Customer Managed Key details of the resource." + }, + "VaultPropertiesMoveDetails": { + "type": "object", + "properties": {}, + "description": "The details of the latest move operation performed on the Azure Resource" + }, + "VaultPropertiesRedundancySettings": { + "type": "object", + "properties": { + "crossRegionRestore": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to show if Cross Region Restore is enabled on the Vault or not." + }, + "standardTierStorageRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "LocallyRedundant", + "GeoRedundant", + "ZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage redundancy setting of a vault." + } + }, + "description": "The redundancy Settings of a Vault" + }, + "vaults_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "name": { + "type": "string", + "description": "Certificate friendly name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RawCertificateData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Raw certificate data." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/certificates" + }, + "vaults_extendedInformation_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "name": { + "type": "string", + "enum": [ + "vaultExtendedInfo" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault extended information." + }, + "type": { + "type": "string", + "enum": [ + "extendedInformation" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } +} \ No newline at end of file diff --git a/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json index 9ecafa8ca8..20a9c3c341 100644 --- a/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json @@ -1006,7 +1006,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/IPTag" + "$ref": "#/definitions/IpTag" } }, { diff --git a/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json index 0db521e63d..a22bbf3381 100644 --- a/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json @@ -1179,7 +1179,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/IPTag" + "$ref": "#/definitions/IpTag" } }, { diff --git a/schemas/2023-12-01-preview/Microsoft.Maps.json b/schemas/2023-12-01-preview/Microsoft.Maps.json new file mode 100644 index 0000000000..c3d27a7757 --- /dev/null +++ b/schemas/2023-12-01-preview/Microsoft.Maps.json @@ -0,0 +1,794 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.Maps.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Maps", + "description": "Microsoft Maps Resource Types", + "resourceDefinitions": { + "accounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Gen2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Get or Set Kind property." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{3,98}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 98 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Maps Account." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MapsAccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional Maps account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/accounts_creators_childResource" + }, + { + "$ref": "#/definitions/accounts_privateEndpointConnections_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of the Maps Account." + }, + "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.Maps/accounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Maps/accounts" + }, + "accounts_creators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{3,98}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 98 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Maps Creator instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Creator 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.Maps/accounts/creators" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Maps/accounts/creators" + }, + "accounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{3,98}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 98 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Private Endpoint Connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Maps/accounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Maps/accounts/privateEndpointConnections" + } + }, + "definitions": { + "accounts_creators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{3,98}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 98 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Maps Creator instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Creator 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": [ + "creators" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Maps/accounts/creators" + }, + "accounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{3,98}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 98 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Private Endpoint Connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Maps/accounts/privateEndpointConnections" + }, + "CorsRule": { + "type": "object", + "properties": { + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains" + } + }, + "required": [ + "allowedOrigins" + ], + "description": "Specifies a CORS rule for the Maps Account." + }, + "CorsRules": { + "type": "object", + "properties": { + "corsRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of CORS rules. You can include up to five CorsRule elements in the request. " + } + }, + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "CreatorProperties": { + "type": "object", + "properties": { + "consumedStorageUnitSizeInBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The consumed storage unit size in bytes for the creator resource." + }, + "storageUnits": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage units to be allocated. Integer values from 1 to 100, inclusive." + }, + "totalStorageUnitSizeInBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total allocated storage unit size in bytes for the creator resource." + } + }, + "required": [ + "storageUnits" + ], + "description": "Creator resource properties" + }, + "Encryption": { + "type": "object", + "properties": { + "customerManagedKeyEncryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionCustomerManagedKeyEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All Customer-managed key encryption properties for the resource." + }, + "infrastructureEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "(Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled." + } + }, + "description": "All encryption configuration for a resource." + }, + "EncryptionCustomerManagedKeyEncryption": { + "type": "object", + "properties": { + "keyEncryptionKeyIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault." + }, + "keyEncryptionKeyUrl": { + "type": "string", + "description": "key encryption key Url, versioned or unversioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek." + } + }, + "description": "All Customer-managed key encryption properties for the resource." + }, + "EncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity": { + "type": "object", + "properties": { + "delegatedIdentityClientId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only." + }, + "federatedClientId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "application client identity to use for accessing key encryption key Url in a different tenant. Ex: f83c6b1b-4d34-47e4-bb34-9d83df58b540" + }, + "identityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "systemAssignedIdentity", + "userAssignedIdentity", + "delegatedResourceIdentity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity to use. Values can be systemAssignedIdentity, userAssignedIdentity, or delegatedResourceIdentity." + }, + "userAssignedIdentityResourceId": { + "type": "string", + "format": "arm-id", + "description": "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity." + } + }, + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault." + }, + "LinkedResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'." + }, + "uniqueName": { + "type": "string", + "description": "A provided name which uniquely identifies the linked resource." + } + }, + "required": [ + "id", + "uniqueName" + ], + "description": "Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "MapsAccountProperties": { + "type": "object", + "properties": { + "cors": { + "oneOf": [ + { + "$ref": "#/definitions/CorsRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "disableLocalAuth": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "All encryption configuration for a resource." + }, + "linkedResources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The array of associated resources to the Maps account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Maps Account Managed Identity(s) permissions to those resource(s)." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether the Maps Account will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked." + } + }, + "description": "Additional Maps account properties" + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The private endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "G2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SKU, in standard format (such as G2)." + } + }, + "required": [ + "name" + ], + "description": "The SKU of the Maps Account." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + } + } +} \ No newline at end of file diff --git a/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json new file mode 100644 index 0000000000..0b750b4e84 --- /dev/null +++ b/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json @@ -0,0 +1,3751 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-12-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": [ + "2023-12-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "AdditionalNetworkInterfaceConfiguration": { + "type": "object", + "properties": { + "dscpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + } + }, + "required": [ + "ipConfigurations", + "name" + ], + "description": "Specifies the settings for a network interface to attach to the node type." + }, + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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." + }, + "ClusterHealthPolicy": { + "type": "object", + "properties": { + "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" + } + }, + "required": [ + "maxPercentUnhealthyApplications", + "maxPercentUnhealthyNodes" + ], + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + }, + "ClusterMonitoringPolicy": { + "type": "object", + "properties": { + "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." + }, + "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." + }, + "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", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "Describes the monitoring policies for the cluster upgrade." + }, + "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.\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.\nNOTE: This value will overwrite the value specified in properties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications\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": [ + "maxPercentDeltaUnhealthyNodes" + ], + "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)." + }, + "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" + }, + "monitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterMonitoringPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the monitoring policies for the cluster 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.\nWhen this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues.\nThe 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.\nThis value must be between 00:00:00 and 49710.06:28:15 (unsigned 32 bit integer for seconds)\n" + } + }, + "description": "Describes the policy used when upgrading the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "format": "arm-id", + "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." + }, + "IpConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.\t" + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/IpConfigurationPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address configuration of the network interface." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + } + }, + "required": [ + "name" + ], + "description": "Specifies an IP configuration of the network interface." + }, + "IpConfigurationPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of IP tags associated with the public IP address." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4." + } + }, + "required": [ + "name" + ], + "description": "The public IP address configuration of the network interface." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ddosProtectionPlanId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a DDoS network protection plan that will be associated with the virtual network of the cluster." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableHttpGatewayExclusiveAuthMode": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, token-based authentication is not allowed on the HttpGatewayEndpoint. This is required to support TLS versions 1.3 and above. If token-based authentication is used, HttpGatewayTokenAuthConnectionPort must be defined." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "httpGatewayTokenAuthConnectionPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port used for token-auth based HTTPS connections to the cluster. Cannot be set to the same port as HttpGatewayEndpoint." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "publicIPPrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IPv4 prefix that the load balancer will allocate a public IPv4 address from. This setting cannot be changed once the cluster is created." + }, + "publicIPv6PrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IPv6 prefix that the load balancer will allocate a public IPv6 address from. This setting cannot be changed once the cluster is created." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "additionalNetworkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalNetworkInterfaceConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the settings for any additional secondary network interfaces to attach to the node type." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "dscpConfigurationId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of the DSCP configuration to apply to the node type network interface." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableNodePublicIPv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "natGatewayId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "serviceArtifactReferenceId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImagePlan": { + "oneOf": [ + { + "$ref": "#/definitions/VmImagePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "vmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmImagePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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." + }, + "setupOrder": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "BeforeSFRuntime" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the setup order 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/2023-12-13-preview/Microsoft.DevOpsInfrastructure.json b/schemas/2023-12-13-preview/Microsoft.DevOpsInfrastructure.json new file mode 100644 index 0000000000..d26ee86aa1 --- /dev/null +++ b/schemas/2023-12-13-preview/Microsoft.DevOpsInfrastructure.json @@ -0,0 +1,708 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-12-13-preview/Microsoft.DevOpsInfrastructure.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DevOpsInfrastructure", + "description": "Microsoft DevOpsInfrastructure Resource Types", + "resourceDefinitions": { + "pools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-13-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-.]*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pool. It needs to be globally unique." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool 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.DevOpsInfrastructure/pools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevOpsInfrastructure/pools" + } + }, + "definitions": { + "AgentProfile": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/Stateful" + }, + { + "$ref": "#/definitions/StatelessAgentProfile" + } + ], + "properties": { + "resourcePredictions": { + "type": "object", + "properties": {}, + "description": "Defines pool buffer." + } + }, + "description": "The agent profile of the machines in the pool." + }, + "AzureDevOpsOrganizationProfile": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "AzureDevOps" + ] + }, + "organizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Organization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Azure DevOps organizations the pool should be present in." + }, + "permissionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureDevOpsPermissionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the type of Azure DevOps pool permission." + } + }, + "required": [ + "kind", + "organizations" + ], + "description": "Azure DevOps organization profile" + }, + "AzureDevOpsPermissionProfile": { + "type": "object", + "properties": { + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group email addresses" + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Inherit", + "CreatorOnly", + "SpecificAccounts" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines who has admin permissions to the Azure DevOps pool." + }, + "users": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User email addresses" + } + }, + "required": [ + "kind" + ], + "description": "Defines the type of Azure DevOps pool permission." + }, + "DevOpsAzureSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The Azure SKU name of the machines in the pool." + } + }, + "required": [ + "name" + ], + "description": "The Azure SKU of the machines in the pool." + }, + "FabricProfile": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/VmssFabricProfile" + } + ], + "properties": {}, + "description": "Defines the type of fabric the agent will run on." + }, + "GitHubOrganization": { + "type": "object", + "properties": { + "repositories": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional list of repositories in which the pool should be created." + }, + "url": { + "type": "string", + "description": "The GitHub organization URL in which the pool should be created." + } + }, + "required": [ + "url" + ], + "description": "Defines a GitHub organization" + }, + "GitHubOrganizationProfile": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "GitHub" + ] + }, + "organizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GitHubOrganization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of GitHub organizations/repositories the pool should be present in." + } + }, + "required": [ + "kind", + "organizations" + ], + "description": "GitHub organization profile" + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "NetworkProfile": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "description": "The subnet id on which to put all machines created in the pool." + } + }, + "required": [ + "subnetId" + ], + "description": "The network profile of the machines in the pool." + }, + "Organization": { + "type": "object", + "properties": { + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool." + }, + "projects": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional list of projects in which the pool should be created." + }, + "url": { + "type": "string", + "description": "The Azure DevOps organization URL in which the pool should be created." + } + }, + "required": [ + "url" + ], + "description": "Defines an Azure DevOps organization." + }, + "OrganizationProfile": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureDevOpsOrganizationProfile" + }, + { + "$ref": "#/definitions/GitHubOrganizationProfile" + } + ], + "properties": {}, + "description": "Defines the organization in which the pool will be used." + }, + "OsProfile": { + "type": "object", + "properties": { + "logonType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Service", + "Interactive" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines how the service should be run. By default, this will be set to Service." + }, + "secretsManagementSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SecretsManagementSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secret management settings of the machines in the pool." + } + }, + "description": "The OS profile of the machines in the pool." + }, + "PoolImage": { + "type": "object", + "properties": { + "aliases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of aliases to reference the image by." + }, + "buffer": { + "type": "string", + "default": "*", + "description": "The percentage of the buffer to be allocated to this image." + }, + "resourceId": { + "type": "string", + "description": "The resource id of the image." + } + }, + "required": [ + "resourceId" + ], + "description": "The VM image of the machines in the pool." + }, + "PoolProperties": { + "type": "object", + "properties": { + "agentProfile": { + "oneOf": [ + { + "$ref": "#/definitions/AgentProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The agent profile of the machines in the pool." + }, + "devCenterProjectResourceId": { + "type": "string", + "description": "The resource id of the DevCenter Project the pool belongs to." + }, + "fabricProfile": { + "oneOf": [ + { + "$ref": "#/definitions/FabricProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the type of fabric the agent will run on." + }, + "maximumConcurrency": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 10000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines how many resources can there be created at any given time." + }, + "organizationProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the organization in which the pool will be used." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the current operation." + } + }, + "required": [ + "agentProfile", + "devCenterProjectResourceId", + "fabricProfile", + "maximumConcurrency", + "organizationProfile" + ], + "description": "Pool properties" + }, + "SecretsManagementSettings": { + "type": "object", + "properties": { + "certificateStoreLocation": { + "type": "string", + "description": "Where to store certificates on the machine." + }, + "keyExportable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines if the key of the certificates should be exportable." + }, + "observedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of certificates to install on all machines in the pool." + } + }, + "required": [ + "keyExportable", + "observedCertificates" + ], + "description": "The secret management settings of the machines in the pool." + }, + "Stateful": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Stateful" + ] + }, + "maxAgentLifetime": { + "type": "string", + "description": "How long should stateful machines be kept around. The maximum is one week." + } + }, + "required": [ + "kind", + "maxAgentLifetime" + ], + "description": "Stateful profile meaning that the machines will be returned to the pool after running a job." + }, + "StatelessAgentProfile": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Stateless" + ] + } + }, + "required": [ + "kind" + ], + "description": "Stateless profile meaning that the machines will be cleaned up after running a job." + }, + "StorageProfile": { + "type": "object", + "properties": { + "osDiskStorageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "StandardSSD" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Azure SKU name of the machines in the pool." + } + }, + "description": "The storage profile of the VMSS." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VmssFabricProfile": { + "type": "object", + "properties": { + "images": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PoolImage" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The VM images of the machines in the pool." + }, + "kind": { + "type": "string", + "enum": [ + "Vmss" + ] + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network profile of the machines in the pool." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OS profile of the machines in the pool." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/DevOpsAzureSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Azure SKU of the machines in the pool." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage profile of the VMSS." + } + }, + "required": [ + "images", + "kind", + "sku" + ], + "description": "The agents will run on Virtual Machine Scale Sets." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 0975238c96..0797d239f8 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -2845,6 +2845,282 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_tags_productLinks" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_diagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_issues" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_issues_attachments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_issues_comments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_operations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_operations_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_operations_tags" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_releases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_resolvers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_resolvers_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_schemas" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_tagDescriptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_tags" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apis_wikis" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_apiVersionSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_authorizationProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_authorizationProviders_authorizations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_authorizationProviders_authorizations_accessPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_authorizationServers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_backends" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_caches" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_contentTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_contentTypes_contentItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_diagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_documentations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_gateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_gateways_apis" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_gateways_certificateAuthorities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_gateways_hostnameConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_groups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_groups_users" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_identityProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_loggers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_namedValues" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_notifications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_notifications_recipientEmails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_notifications_recipientUsers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_openidConnectProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_policyFragments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_policyRestrictions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_portalconfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_portalRevisions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_portalsettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_apiLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_apis" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_groupLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_groups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_tags" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_products_wikis" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_schemas" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_subscriptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_tags" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_tags_apiLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_tags_operationLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_tags_productLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_templates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_tenant" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_users" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apis" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apis_operations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apis_operations_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apis_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apis_releases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apis_schemas" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_apiVersionSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_groups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_groups_users" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_namedValues" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_notifications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_notifications_recipientEmails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_notifications_recipientUsers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_policyFragments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_products" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_products_apiLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_products_groupLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_products_policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_schemas" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_subscriptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_tags" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_tags_apiLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_tags_operationLinks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.ApiManagement.json#/resourceDefinitions/service_workspaces_tags_productLinks" + }, { "$ref": "https://schema.management.azure.com/schemas/2022-01-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps" }, @@ -12529,6 +12805,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-10-30-preview/Microsoft.DevOpsInfrastructure.json#/resourceDefinitions/pools" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-13-preview/Microsoft.DevOpsInfrastructure.json#/resourceDefinitions/pools" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-04-01/Microsoft.DevSpaces.json#/resourceDefinitions/controllers" }, @@ -20251,6 +20530,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-08-01-preview/Microsoft.Maps.json#/resourceDefinitions/accounts_creators" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.Maps.json#/resourceDefinitions/accounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.Maps.json#/resourceDefinitions/accounts_creators" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.Maps.json#/resourceDefinitions/accounts_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-10-01/Microsoft.Media.json#/resourceDefinitions/mediaservices" }, @@ -31591,6 +31879,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_extendedInformation" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_extendedInformation" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationAlertSettings" }, @@ -33802,6 +34099,21 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" + }, { "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" }, @@ -33820,6 +34132,24 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.ServiceFabricMesh.json#/resourceDefinitions/applications" }, From cacb22913142859ad46b4838977892ebab0404f8 Mon Sep 17 00:00:00 2001 From: Gokul Premraj Date: Thu, 7 Dec 2023 16:24:43 -0500 Subject: [PATCH 2/6] Update iptag typo --- schemas/2023-09-01-preview/Microsoft.ServiceFabric.json | 2 +- schemas/2023-11-01-preview/Microsoft.ServiceFabric.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json index 20a9c3c341..9ecafa8ca8 100644 --- a/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json @@ -1006,7 +1006,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/IpTag" + "$ref": "#/definitions/IPTag" } }, { diff --git a/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json index a22bbf3381..0db521e63d 100644 --- a/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json @@ -1179,7 +1179,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/IpTag" + "$ref": "#/definitions/IPTag" } }, { From 6051f0ac2dae77a932fbceac8ade5838b6e0cd32 Mon Sep 17 00:00:00 2001 From: Gokul Premraj Date: Thu, 21 Dec 2023 16:18:40 -0500 Subject: [PATCH 3/6] Fix another typo in iptag --- schemas/2023-12-01-preview/Microsoft.ServiceFabric.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json index 0b750b4e84..14f146a051 100644 --- a/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json @@ -1179,7 +1179,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/IpTag" + "$ref": "#/definitions/IPTag" } }, { From a1ea4f1c47de1e2c2cabaaf263fbe686a51399ea Mon Sep 17 00:00:00 2001 From: Gokul Premraj Date: Thu, 21 Dec 2023 17:23:54 -0500 Subject: [PATCH 4/6] Add suffix for servicefabricmanagedclusters --- generator/autogenlist.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/generator/autogenlist.ts b/generator/autogenlist.ts index eecfb43f12..36f87e75c9 100644 --- a/generator/autogenlist.ts +++ b/generator/autogenlist.ts @@ -787,6 +787,12 @@ const autoGenList: AutoGenConfig[] = [ namespace: 'Microsoft.ServiceFabric', postProcessor: serviceFabricPostProcessor, }, + { + basePath: 'servicefabricmanagedclusters/resource-manager', + namespace: 'Microsoft.ServiceFabric', + postProcessor: serviceFabricPostProcessor, + suffix: 'ManagedClusters' + }, { basePath: 'servicelinker/resource-manager', namespace: 'Microsoft.ServiceLinker', From 4e0fec21bdebb7a45ec908199826985f27c12b3b Mon Sep 17 00:00:00 2001 From: Jorge Cotillo Date: Thu, 21 Dec 2023 14:58:07 -0800 Subject: [PATCH 5/6] disambiguate Microsoft.ServiceFabric and managedClusters --- .../processors/Microsoft.ServiceFabric.ts | 6 +- .../Microsoft.ServiceFabric.json | 2465 +++++------------ schemas/common/autogeneratedResources.json | 206 +- 3 files changed, 829 insertions(+), 1848 deletions(-) diff --git a/generator/processors/Microsoft.ServiceFabric.ts b/generator/processors/Microsoft.ServiceFabric.ts index 6da79fc1db..695853525d 100644 --- a/generator/processors/Microsoft.ServiceFabric.ts +++ b/generator/processors/Microsoft.ServiceFabric.ts @@ -4,9 +4,9 @@ import { SchemaPostProcessor } from '../models'; export const postProcessor: SchemaPostProcessor = async (namespace, apiVersion, schema) => { - let IpTag = schema.definitions?.IpConfigurationPublicIPAddressConfiguration?.properties?.ipTags?.oneOf[0].items?.$ref; - if (IpTag != null){ - IpTag = "#/definitions/IPTag"; + let IpTag = schema.definitions?.IpConfigurationPublicIPAddressConfiguration?.properties?.ipTags?.oneOf[0].items; + if (IpTag && IpTag['$ref']) { + IpTag['$ref'] = '#/definitions/IPTag'; } } \ No newline at end of file diff --git a/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json index 0db521e63d..0768a0f997 100644 --- a/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json +++ b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json @@ -4,7 +4,7 @@ "title": "Microsoft.ServiceFabric", "description": "Microsoft ServiceFabric Resource Types", "resourceDefinitions": { - "managedClusters": { + "clusters": { "type": "object", "properties": { "apiVersion": { @@ -24,41 +24,27 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/ManagedClusterProperties" + "$ref": "#/definitions/ClusterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the managed cluster resource properties." + "description": "Describes the cluster resource properties." }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/managedclusters_applicationTypes_childResource" + "$ref": "#/definitions/clusters_applicationTypes_childResource" }, { - "$ref": "#/definitions/managedclusters_applications_childResource" - }, - { - "$ref": "#/definitions/managedClusters_nodeTypes_childResource" + "$ref": "#/definitions/clusters_applications_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": [ { @@ -88,7 +74,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/managedClusters" + "Microsoft.ServiceFabric/clusters" ] } }, @@ -97,12 +83,11 @@ "location", "name", "properties", - "sku", "type" ], - "description": "Microsoft.ServiceFabric/managedClusters" + "description": "Microsoft.ServiceFabric/clusters" }, - "managedclusters_applications": { + "clusters_applications": { "type": "object", "properties": { "apiVersion": { @@ -124,7 +109,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -146,7 +131,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/managedclusters_applications_services_childResource" + "$ref": "#/definitions/clusters_applications_services_childResource" } ] } @@ -180,7 +165,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/managedclusters/applications" + "Microsoft.ServiceFabric/clusters/applications" ] } }, @@ -190,9 +175,9 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applications" + "description": "Microsoft.ServiceFabric/clusters/applications" }, - "managedclusters_applications_services": { + "clusters_applications_services": { "type": "object", "properties": { "apiVersion": { @@ -203,7 +188,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -249,7 +234,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/managedclusters/applications/services" + "Microsoft.ServiceFabric/clusters/applications/services" ] } }, @@ -259,9 +244,9 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + "description": "Microsoft.ServiceFabric/clusters/applications/services" }, - "managedclusters_applicationTypes": { + "clusters_applicationTypes": { "type": "object", "properties": { "apiVersion": { @@ -272,7 +257,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -294,7 +279,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/managedclusters_applicationTypes_versions_childResource" + "$ref": "#/definitions/clusters_applicationTypes_versions_childResource" } ] } @@ -328,7 +313,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/managedclusters/applicationTypes" + "Microsoft.ServiceFabric/clusters/applicationTypes" ] } }, @@ -338,9 +323,9 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + "description": "Microsoft.ServiceFabric/clusters/applicationTypes" }, - "managedclusters_applicationTypes_versions": { + "clusters_applicationTypes_versions": { "type": "object", "properties": { "apiVersion": { @@ -351,7 +336,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -397,7 +382,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + "Microsoft.ServiceFabric/clusters/applicationTypes/versions" ] } }, @@ -407,60 +392,62 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" - }, - "managedClusters_nodeTypes": { + "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" + } + }, + "definitions": { + "ApplicationDeltaHealthPolicy": { "type": "object", "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "properties": { + "defaultServiceTypeDeltaHealthPolicy": { "oneOf": [ { - "$ref": "#/definitions/NodeTypeProperties" + "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" }, { "$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." + "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n" }, - "sku": { + "serviceTypeDeltaHealthPolicies": { "oneOf": [ { - "$ref": "#/definitions/NodeTypeSku" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a node type sku." - }, - "systemData": { + "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/SystemData" + "$ref": "#/definitions/ServiceTypeHealthPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Metadata pertaining to creation and last modification of the resource." + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, - "tags": { + "serviceTypeHealthPolicies": { "oneOf": [ { "type": "object", "additionalProperties": { - "type": "string" + "$ref": "#/definitions/ServiceTypeHealthPolicy" }, "properties": {} }, @@ -468,149 +455,109 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ServiceFabric/managedClusters/nodeTypes" - ] + "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" } }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" - } - }, - "definitions": { - "AdditionalNetworkInterfaceConfiguration": { + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" + }, + "ApplicationMetricDescription": { "type": "object", "properties": { - "dscpConfiguration": { + "maximumCapacity": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Azure resource identifier." + "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" }, - "enableAcceleratedNetworking": { + "name": { + "type": "string", + "description": "The name of the metric." + }, + "reservationCapacity": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the network interface is accelerated networking-enabled." + "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" }, - "ipConfigurations": { + "totalApplicationCapacity": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/IpConfiguration" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the IP configurations of the network interface." - }, - "name": { - "type": "string", - "description": "Name of the network interface." + "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" } }, - "required": [ - "ipConfigurations", - "name" - ], - "description": "Specifies the settings for a network interface to attach to the node type." + "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" }, - "ApplicationHealthPolicy": { + "ApplicationResourceProperties": { "type": "object", "properties": { - "considerWarningAsError": { + "managedIdentities": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationUserAssignedIdentity" + } }, { "$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": "List of user assigned identities for the application, each mapped to a friendly name." }, - "defaultServiceTypeHealthPolicy": { + "maximumNodes": { "oneOf": [ { - "$ref": "#/definitions/ServiceTypeHealthPolicy" + "type": "integer", + "minimum": 0, + "default": "0" }, { "$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": "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." }, - "maxPercentUnhealthyDeployedApplications": { + "metrics": { "oneOf": [ { - "type": "integer" + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationMetricDescription" + } }, { "$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": "List of application capacity metric description." }, - "serviceTypeHealthPolicyMap": { - "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" - } - }, - "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", - "properties": { - "managedIdentities": { + "minimumNodes": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationUserAssignedIdentity" - } + "type": "integer", + "minimum": 0 }, { "$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." + "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": [ @@ -627,6 +574,25 @@ ], "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": [ { @@ -637,10 +603,6 @@ } ], "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." @@ -681,8 +643,7 @@ }, "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", @@ -690,7 +651,7 @@ "applicationHealthPolicy": { "oneOf": [ { - "$ref": "#/definitions/ApplicationHealthPolicy" + "$ref": "#/definitions/ArmApplicationHealthPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -710,17 +671,6 @@ ], "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": [ { @@ -730,12 +680,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." + "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/RollingUpgradeMonitoringPolicy" + "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -748,8 +698,10 @@ { "type": "string", "enum": [ - "Monitored", - "UnmonitoredAuto" + "Invalid", + "UnmonitoredAuto", + "UnmonitoredManual", + "Monitored" ] }, { @@ -758,14 +710,7 @@ ] }, "upgradeReplicaSetCheckTimeout": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], + "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)." } }, @@ -788,664 +733,568 @@ "principalId" ] }, - "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": { + "ArmApplicationHealthPolicy": { "type": "object", "properties": { - "commonName": { - "type": "string", - "description": "Certificate common name." - }, - "isAdmin": { + "considerWarningAsError": { "oneOf": [ { - "type": "boolean" + "type": "boolean", + "default": false }, { "$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": "Indicates whether warnings are treated with the same severity as errors." }, - "issuerThumbprint": { - "type": "string", - "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + "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" }, - "thumbprint": { - "type": "string", - "description": "Certificate thumbprint." - } - }, - "required": [ - "isAdmin" - ], - "description": "Client certificate definition." - }, - "ClusterHealthPolicy": { - "type": "object", - "properties": { - "maxPercentUnhealthyApplications": { + "maxPercentUnhealthyDeployedApplications": { "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" + "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" }, - "maxPercentUnhealthyNodes": { + "serviceTypeHealthPolicyMap": { "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 100, - "default": "0" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ArmServiceTypeHealthPolicy" + }, + "properties": {} }, { "$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 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" } }, - "required": [ - "maxPercentUnhealthyApplications", - "maxPercentUnhealthyNodes" - ], - "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" }, - "ClusterMonitoringPolicy": { + "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", - "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." + "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", - "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." + "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", - "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." + "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", - "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." + "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", - "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." + "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." } }, - "required": [ - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "upgradeDomainTimeout", - "upgradeTimeout" - ], - "description": "Describes the monitoring policies for the cluster upgrade." + "description": "The policy used for monitoring the application upgrade" }, - "ClusterUpgradeDeltaHealthPolicy": { + "ArmServiceTypeHealthPolicy": { "type": "object", "properties": { - "maxPercentDeltaUnhealthyApplications": { + "maxPercentUnhealthyPartitionsPerService": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100 + "maximum": 100, + "default": "0" }, { "$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.\nNOTE: This value will overwrite the value specified in properties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications\n" + "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n" }, - "maxPercentDeltaUnhealthyNodes": { + "maxPercentUnhealthyReplicasPerPartition": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100 + "maximum": 100, + "default": "0" }, { "$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": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n" }, - "maxPercentUpgradeDomainDeltaUnhealthyNodes": { + "maxPercentUnhealthyServices": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100 + "maximum": 100, + "default": "0" }, { "$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 maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" } }, - "required": [ - "maxPercentDeltaUnhealthyNodes" - ], - "description": "Describes the delta health policies for the cluster upgrade." + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, - "ClusterUpgradePolicy": { + "AzureActiveDirectory": { "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." + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." }, - "forceRestart": { + "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": "boolean" + "type": "string", + "enum": [ + "AddressBook", + "AuthRoot", + "CertificateAuthority", + "Disallowed", + "My", + "Root", + "TrustedPeople", + "TrustedPublisher" + ] }, { "$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)." + ] + } + }, + "required": [ + "thumbprint" + ], + "description": "Describes the certificate details." + }, + "ClientCertificateCommonName": { + "type": "object", + "properties": { + "certificateCommonName": { + "type": "string", + "description": "The common name of the client certificate." }, - "healthPolicy": { + "certificateIssuerThumbprint": { + "type": "string", + "description": "The issuer thumbprint of the client certificate." + }, + "isAdmin": { "oneOf": [ { - "$ref": "#/definitions/ClusterHealthPolicy" + "type": "boolean" }, { "$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" + "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." }, - "monitoringPolicy": { + "isAdmin": { "oneOf": [ { - "$ref": "#/definitions/ClusterMonitoringPolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the monitoring policies for the cluster 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.\nWhen this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues.\nThe 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.\nThis value must be between 00:00:00 and 49710.06:28:15 (unsigned 32 bit integer for seconds)\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." } }, - "description": "Describes the policy used when upgrading the cluster." + "required": [ + "certificateThumbprint", + "isAdmin" + ], + "description": "Describes the client certificate details using thumbprint." }, - "EndpointRangeDescription": { + "ClusterHealthPolicy": { "type": "object", "properties": { - "endPort": { + "applicationHealthPolicies": { "oneOf": [ { - "type": "integer" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "End port of a range of ports" + "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" }, - "startPort": { + "maxPercentUnhealthyApplications": { "oneOf": [ { - "type": "integer" + "type": "integer", + "minimum": 0, + "maximum": 100, + "default": "0" }, { "$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" - }, - "FrontendConfiguration": { - "type": "object", - "properties": { - "applicationGatewayBackendAddressPoolId": { - "type": "string", - "format": "arm-id", - "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + "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" }, - "ipAddressType": { + "maxPercentUnhealthyNodes": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "integer", + "minimum": 0, + "maximum": 100, + "default": "0" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." - }, - "loadBalancerBackendAddressPoolId": { - "type": "string", - "format": "arm-id", - "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/'." - }, - "loadBalancerInboundNatPoolId": { - "type": "string", - "format": "arm-id", - "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": "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": "Describes the frontend configurations for the node type." + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" }, - "IpConfiguration": { + "ClusterProperties": { "type": "object", "properties": { - "applicationGatewayBackendAddressPools": { + "addOnFeatures": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "RepairManager", + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ] } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway." + "description": "The list of add-on features to enable in the cluster." }, - "loadBalancerBackendAddressPools": { + "applicationTypeVersionsCleanupPolicy": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.\t" + ] }, - "loadBalancerInboundNatPools": { + "azureActiveDirectory": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/AzureActiveDirectory" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer." - }, - "name": { - "type": "string", - "description": "Name of the network interface." + "description": "The settings to enable AAD authentication on the cluster." }, - "privateIPAddressVersion": { + "certificate": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "$ref": "#/definitions/CertificateDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4." + "description": "Describes the certificate details." }, - "publicIPAddressConfiguration": { + "certificateCommonNames": { "oneOf": [ { - "$ref": "#/definitions/IpConfigurationPublicIPAddressConfiguration" + "$ref": "#/definitions/ServerCertificateCommonNames" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The public IP address configuration of the network interface." + "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." }, - "subnet": { + "clientCertificateCommonNames": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "array", + "items": { + "$ref": "#/definitions/ClientCertificateCommonName" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Azure resource identifier." - } - }, - "required": [ - "name" - ], - "description": "Specifies an IP configuration of the network interface." - }, - "IpConfigurationPublicIPAddressConfiguration": { - "type": "object", - "properties": { - "ipTags": { + "description": "The list of client certificates referenced by common name that are allowed to manage the cluster." + }, + "clientCertificateThumbprints": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/IPTag" + "$ref": "#/definitions/ClientCertificateThumbprint" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the list of IP tags associated with the public IP address." + "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster." }, - "name": { + "clusterCodeVersion": { "type": "string", - "description": "Name of the network interface." + "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](https://learn.microsoft.com/rest/api/servicefabric/cluster-versions/list). To get the list of available version for existing clusters use **availableClusterVersions**." }, - "publicIPAddressVersion": { + "diagnosticsStorageAccountConfig": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "$ref": "#/definitions/DiagnosticsStorageAccountConfig" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4." - } - }, - "required": [ - "name" - ], - "description": "The public IP address configuration of the network interface." - }, - "IPTag": { - "type": "object", - "properties": { - "ipTagType": { - "type": "string", - "description": "The IP tag type." + "description": "The storage account information for storing Service Fabric diagnostic logs." }, - "tag": { - "type": "string", - "description": "The value of the IP tag." - } - }, - "required": [ - "ipTagType", - "tag" - ], - "description": "IPTag associated with the object." - }, - "LoadBalancingRule": { - "type": "object", - "properties": { - "backendPort": { + "enableHttpGatewayExclusiveAuthMode": { "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65534 + "type": "boolean" }, { "$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." + "description": "If true, token-based authentication is not allowed on the HttpGatewayEndpoint. This is required to support TLS versions 1.3 and above. If token-based authentication is used, HttpGatewayTokenAuthEndpointPort must be defined." }, - "frontendPort": { + "eventStoreServiceEnabled": { "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65534 + "type": "boolean" }, { "$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." - }, - "loadDistribution": { - "type": "string", - "description": "The load distribution policy for this rule." + "description": "Indicates if the event store service is enabled." }, - "probePort": { + "fabricSettings": { "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65534 + "type": "array", + "items": { + "$ref": "#/definitions/SettingsSectionDescription" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + "description": "The list of custom fabric settings to configure the cluster." }, - "probeProtocol": { + "infrastructureServiceManager": { "oneOf": [ { - "type": "string", - "enum": [ - "tcp", - "http", - "https" - ] + "type": "boolean" }, { "$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." + "description": "Indicates if infrastructure service manager is enabled." }, - "probeRequestPath": { + "managementEndpoint": { "type": "string", - "description": "The probe request path. Only supported for HTTP/HTTPS probes." + "description": "The http management endpoint of the cluster." }, - "protocol": { + "nodeTypes": { "oneOf": [ { - "type": "string", - "enum": [ - "tcp", - "udp" - ] + "type": "array", + "items": { + "$ref": "#/definitions/NodeTypeDescription" + } }, { "$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": { + "description": "The list of node types in the cluster." + }, + "notifications": { "oneOf": [ { "type": "array", "items": { - "type": "string", - "enum": [ - "DnsService", - "BackupRestoreService", - "ResourceMonitorService" - ] + "$ref": "#/definitions/Notification" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of add-on features to enable on the cluster." + "description": "Indicates a list of notification channels for cluster events." }, - "adminPassword": { - "type": "string", - "format": "password", - "description": "VM admin user password." - }, - "adminUserName": { - "type": "string", - "description": "VM admin user name." - }, - "allowRdpAccess": { + "reliabilityLevel": { "oneOf": [ { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "applicationTypeVersionsCleanupPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "auxiliarySubnets": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/Subnet" - } + "type": "string", + "enum": [ + "None", + "Bronze", + "Silver", + "Gold", + "Platinum" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Auxiliary subnets for the cluster." + ] }, - "azureActiveDirectory": { + "reverseProxyCertificate": { "oneOf": [ { - "$ref": "#/definitions/AzureActiveDirectory" + "$ref": "#/definitions/CertificateDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The settings to enable AAD authentication on the cluster." + "description": "Describes the certificate details." }, - "clientConnectionPort": { + "reverseProxyCertificateCommonNames": { "oneOf": [ { - "type": "integer", - "default": "19000" + "$ref": "#/definitions/ServerCertificateCommonNames" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The port used for client connections to the cluster." + "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." }, - "clients": { + "sfZonalUpgradeMode": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ClientCertificate" - } + "type": "string", + "enum": [ + "Parallel", + "Hierarchical" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Client certificates that are allowed to manage the cluster." - }, - "clusterCodeVersion": { - "type": "string", - "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**." + ] }, - "clusterUpgradeCadence": { + "upgradeDescription": { "oneOf": [ { - "type": "string", - "enum": [ - "Wave0", - "Wave1", - "Wave2" - ] + "$ref": "#/definitions/ClusterUpgradePolicy" }, { "$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 **clusterUpgradeMode** is set to 'Automatic'." + "description": "Describes the policy used when upgrading the cluster." }, - "clusterUpgradeMode": { + "upgradeMode": { "oneOf": [ { "type": "string", @@ -1459,156 +1308,51 @@ } ] }, - "ddosProtectionPlanId": { - "type": "string", - "format": "arm-id", - "description": "Specify the resource id of a DDoS network protection plan that will be associated with the virtual network of the cluster." - }, - "dnsName": { - "type": "string", - "description": "The cluster dns name." - }, - "enableAutoOSUpgrade": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "enableIpv6": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "enableServicePublicIP": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." - }, - "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." - }, - "ipTags": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/IPTag" - } - }, - { - "$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." - }, - "loadBalancingRules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/LoadBalancingRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Load balancing rules that are applied to the public load balancer of the cluster." - }, - "networkSecurityRules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/NetworkSecurityRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." - }, - "publicIPPrefixId": { + "upgradePauseEndTimestampUtc": { "type": "string", - "format": "arm-id", - "description": "Specify the resource id of a public IPv4 prefix that the load balancer will allocate a public IPv4 address from. This setting cannot be changed once the cluster is created." + "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)." }, - "publicIPv6PrefixId": { + "upgradePauseStartTimestampUtc": { "type": "string", - "format": "arm-id", - "description": "Specify the resource id of a public IPv6 prefix that the load balancer will allocate a public IPv6 address from. This setting cannot be changed once the cluster is created." + "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)." }, - "serviceEndpoints": { + "upgradeWave": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceEndpoint" - } + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Service endpoints for subnets in the cluster." + "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'." }, - "subnetId": { + "vmImage": { "type": "string", - "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." + "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." }, - "upgradeDescription": { + "vmssZonalUpgradeMode": { "oneOf": [ { - "$ref": "#/definitions/ClusterUpgradePolicy" + "type": "string", + "enum": [ + "Parallel", + "Hierarchical" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the policy used when upgrading the cluster." + ] }, - "useCustomVnet": { + "waveUpgradePaused": { "oneOf": [ { "type": "boolean" @@ -1617,43 +1361,16 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." - }, - "zonalResiliency": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates if the cluster has zone resiliency." - }, - "zonalUpdateMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard", - "Fast" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates the update mode for Cross Az clusters." + "description": "Boolean to pause automatic runtime version upgrades to the cluster." } }, "required": [ - "adminUserName", - "dnsName" + "managementEndpoint", + "nodeTypes" ], - "description": "Describes the managed cluster resource properties." + "description": "Describes the cluster resource properties." }, - "managedclusters_applications_childResource": { + "clusters_applications_childResource": { "type": "object", "properties": { "apiVersion": { @@ -1675,7 +1392,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -1731,9 +1448,9 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applications" + "description": "Microsoft.ServiceFabric/clusters/applications" }, - "managedclusters_applications_services_childResource": { + "clusters_applications_services_childResource": { "type": "object", "properties": { "apiVersion": { @@ -1744,7 +1461,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -1800,9 +1517,9 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + "description": "Microsoft.ServiceFabric/clusters/applications/services" }, - "managedclusters_applicationTypes_childResource": { + "clusters_applicationTypes_childResource": { "type": "object", "properties": { "apiVersion": { @@ -1813,7 +1530,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -1869,9 +1586,9 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + "description": "Microsoft.ServiceFabric/clusters/applicationTypes" }, - "managedclusters_applicationTypes_versions_childResource": { + "clusters_applicationTypes_versions_childResource": { "type": "object", "properties": { "apiVersion": { @@ -1882,7 +1599,7 @@ }, "location": { "type": "string", - "description": "Resource location depends on the parent resource." + "description": "It will be deprecated in New API, resource location depends on the parent resource." }, "name": { "type": "string", @@ -1938,308 +1655,254 @@ "properties", "type" ], - "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + "description": "Microsoft.ServiceFabric/clusters/applicationTypes/versions" }, - "managedClusters_nodeTypes_childResource": { + "ClusterUpgradeDeltaHealthPolicy": { "type": "object", "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "The name of the node type." - }, - "properties": { + "applicationDeltaHealthPolicies": { "oneOf": [ { - "$ref": "#/definitions/NodeTypeProperties" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ApplicationDeltaHealthPolicy" + }, + "properties": {} }, { "$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." + "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" }, - "sku": { + "maxPercentDeltaUnhealthyApplications": { "oneOf": [ { - "$ref": "#/definitions/NodeTypeSku" + "type": "integer", + "minimum": 0, + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes a node type sku." + "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" }, - "systemData": { + "maxPercentDeltaUnhealthyNodes": { "oneOf": [ { - "$ref": "#/definitions/SystemData" + "type": "integer", + "minimum": 0, + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Metadata pertaining to creation and last modification of the resource." + "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" }, - "tags": { + "maxPercentUpgradeDomainDeltaUnhealthyNodes": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} + "type": "integer", + "minimum": 0, + "maximum": 100 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Azure resource tags." - }, - "type": { - "type": "string", - "enum": [ - "nodeTypes" - ] + "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": [ - "apiVersion", - "name", - "properties", - "type" + "maxPercentDeltaUnhealthyApplications", + "maxPercentDeltaUnhealthyNodes", + "maxPercentUpgradeDomainDeltaUnhealthyNodes" ], - "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + "description": "Describes the delta health policies for the cluster upgrade." }, - "ManagedIdentity": { + "ClusterUpgradePolicy": { "type": "object", "properties": { - "type": { + "deltaHealthPolicy": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned" - ] + "$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." }, - "userAssignedIdentities": { + "forceRestart": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} + "type": "boolean" }, { "$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." - }, - "NetworkSecurityRule": { - "type": "object", - "properties": { - "access": { - "oneOf": [ - { - "type": "string", - "enum": [ - "allow", - "deny" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The network traffic is allowed or denied." + "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." }, - "description": { + "healthCheckStableDuration": { "type": "string", - "description": "Network security rule description." + "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." }, - "destinationAddressPrefix": { + "healthCheckWaitDuration": { "type": "string", - "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + "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." }, - "destinationAddressPrefixes": { + "healthPolicy": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/ClusterHealthPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The destination address prefixes. CIDR or destination IP ranges." + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" }, - "destinationPortRange": { + "upgradeDomainTimeout": { "type": "string", - "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + "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." }, - "destinationPortRanges": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The destination port ranges." + "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." }, - "direction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "inbound", - "outbound" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Network security rule direction." + "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." }, - "name": { + "protectedAccountKeyName": { "type": "string", - "description": "Network security rule name." + "description": "The protected diagnostics storage key name." }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 1000, - "maximum": 3000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." + "protectedAccountKeyName2": { + "type": "string", + "description": "The protected diagnostics storage key name." }, - "protocol": { - "oneOf": [ - { - "type": "string", - "enum": [ - "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." + "queueEndpoint": { + "type": "string", + "description": "The queue endpoint of the azure storage account." }, - "sourceAddressPrefix": { + "storageAccountName": { "type": "string", - "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + "description": "The Azure storage account name." }, - "sourceAddressPrefixes": { + "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": "array", - "items": { - "type": "string" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The CIDR or source IP ranges." - }, - "sourcePortRange": { - "type": "string", - "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + "description": "End port of a range of ports" }, - "sourcePortRanges": { + "startPort": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source port ranges." + "description": "Starting port of a range of ports" } }, "required": [ - "access", - "direction", - "name", - "priority", - "protocol" + "endPort", + "startPort" ], - "description": "Describes a network security rule." + "description": "Port range details" }, - "NodeTypeProperties": { + "ManagedIdentity": { "type": "object", "properties": { - "additionalDataDisks": { + "type": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VmssDataDisk" - } + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Additional managed data disks." + ] }, - "additionalNetworkInterfaceConfigurations": { + "userAssignedIdentities": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/AdditionalNetworkInterfaceConfiguration" - } + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the settings for any additional secondary network interfaces to attach to the node type." - }, + "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": [ { @@ -2266,19 +1929,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." }, - "dataDiskLetter": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z]{1}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." - }, - "dataDiskSizeGB": { + "clientConnectionEndpointPort": { "oneOf": [ { "type": "integer" @@ -2287,64 +1938,57 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + "description": "The TCP cluster management endpoint port." }, - "dataDiskType": { + "durabilityLevel": { "oneOf": [ { "type": "string", "enum": [ - "Standard_LRS", - "StandardSSD_LRS", - "Premium_LRS" + "Bronze", + "Silver", + "Gold" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Managed data disk type. Specifies the storage account type for the managed disk." - }, - "dscpConfigurationId": { - "type": "string", - "format": "arm-id", - "description": "Specifies the resource id of the DSCP configuration to apply to the node type network interface." + ] }, - "enableAcceleratedNetworking": { + "ephemeralPorts": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/EndpointRangeDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the network interface is accelerated networking-enabled." + "description": "Port range details" }, - "enableEncryptionAtHost": { + "httpGatewayEndpointPort": { "oneOf": [ { - "type": "boolean", - "default": false + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + "description": "The HTTP cluster management endpoint port." }, - "enableNodePublicIP": { + "httpGatewayTokenAuthEndpointPort": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers." + "description": "The port used for token-auth based HTTPS connections to the cluster. Cannot be set to the same port as HttpGatewayEndpoint." }, - "enableNodePublicIPv6": { + "isPrimary": { "oneOf": [ { "type": "boolean" @@ -2353,9 +1997,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers." + "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." }, - "enableOverProvisioning": { + "isStateless": { "oneOf": [ { "type": "boolean" @@ -2364,64 +2008,76 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + "description": "Indicates if the node type can only host Stateless workloads." }, - "ephemeralPorts": { + "multipleAvailabilityZones": { "oneOf": [ { - "$ref": "#/definitions/EndpointRangeDescription" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Port range details" + "description": "Indicates if the node type is enabled to support multiple zones." + }, + "name": { + "type": "string", + "description": "The name of the node type." }, - "evictionPolicy": { + "placementProperties": { "oneOf": [ { - "type": "string", - "enum": [ - "Delete", - "Deallocate" - ] + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." }, - "frontendConfigurations": { + "reverseProxyEndpointPort": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/FrontendConfiguration" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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." - }, - "hostGroupId": { - "type": "string", - "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + "description": "The endpoint used by reverse proxy." }, - "isPrimary": { + "vmInstanceCount": { "oneOf": [ { - "type": "boolean" + "type": "integer", + "minimum": 0, + "maximum": 2147483647 }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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." - }, - "isSpotVM": { + "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" @@ -2430,402 +2086,168 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + "description": "Indicates if the notification is enabled." }, - "isStateless": { + "notificationCategory": { "oneOf": [ { - "type": "boolean", - "default": false + "type": "string", + "enum": [ + "WaveProgress" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates if the node type can only host Stateless workloads." + "description": "The category of notification." }, - "multiplePlacementGroups": { + "notificationLevel": { "oneOf": [ { - "type": "boolean", - "default": false + "type": "string", + "enum": [ + "Critical", + "All" + ] }, { "$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." - }, - "natGatewayId": { - "type": "string", - "format": "arm-id", - "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + "description": "The level of notification." }, - "networkSecurityRules": { + "notificationTargets": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/NetworkSecurityRule" + "$ref": "#/definitions/NotificationTarget" } }, { "$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": { + "description": "List of targets that subscribe to the notification." + } + }, + "required": [ + "isEnabled", + "notificationCategory", + "notificationLevel", + "notificationTargets" + ], + "description": "Describes the notification channel for cluster events." + }, + "NotificationTarget": { + "type": "object", + "properties": { + "notificationChannel": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} + "type": "string", + "enum": [ + "EmailUser", + "EmailSubscription" + ] }, { "$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 notification channel indicates the type of receivers subscribed to the notification, either user or subscription." }, - "secureBootEnabled": { + "receivers": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" - }, - "securityType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "TrustedLaunch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." - }, - "serviceArtifactReferenceId": { - "type": "string", - "format": "arm-id", - "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." - }, - "spotRestoreTimeout": { - "type": "string", - "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." - }, - "subnetId": { - "type": "string", - "format": "arm-id", - "description": "Indicates the resource id of the subnet for the node type." - }, - "useDefaultPublicLoadBalancer": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." - }, - "useEphemeralOSDisk": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." - }, - "useTempDataDisk": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." - }, - "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." - }, - "vmImagePlan": { - "oneOf": [ - { - "$ref": "#/definitions/VmImagePlan" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." - }, - "vmImagePublisher": { - "type": "string", - "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." - }, - "vmImageResourceId": { - "type": "string", - "format": "arm-id", - "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." - }, - "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." - }, - "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." - }, - "vmSetupActions": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "EnableContainers", - "EnableHyperV" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." - }, - "vmSharedGalleryImageId": { - "type": "string", - "format": "arm-id", - "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." - }, - "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." - }, - "zones": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." - } - }, - "required": [ - "isPrimary", - "vmInstanceCount" - ], - "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." - }, - "NodeTypeSku": { - "type": "object", - "properties": { - "capacity": { - "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.

If present in request it will override properties.vmInstanceCount." - }, - "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**" + "description": "List of targets that subscribe to the notification." } }, "required": [ - "capacity" + "notificationChannel", + "receivers" ], - "description": "Describes a node type sku." + "description": "Describes the notification target properties." }, - "Partition": { + "PartitionSchemeDescription": { "type": "object", "oneOf": [ { - "$ref": "#/definitions/SingletonPartitionScheme" + "$ref": "#/definitions/SingletonPartitionSchemeDescription" } ], "properties": {}, "description": "Describes how the service is partitioned." }, - "RollingUpgradeMonitoringPolicy": { + "ServerCertificateCommonName": { "type": "object", "properties": { - "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": { + "certificateCommonName": { "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\"." + "description": "The common name of the server certificate." }, - "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": { + "certificateIssuerThumbprint": { "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\"." + "description": "The issuer thumbprint of the server certificate." } }, "required": [ - "failureAction", - "healthCheckRetryTimeout", - "healthCheckStableDuration", - "healthCheckWaitDuration", - "upgradeDomainTimeout", - "upgradeTimeout" + "certificateCommonName", + "certificateIssuerThumbprint" ], - "description": "The policy used for monitoring the application upgrade" - }, - "ScalingMechanism": { - "type": "object", - "properties": {}, - "description": "Describes the mechanism for performing a scaling operation." + "description": "Describes the server certificate details using common name." }, - "ScalingPolicy": { + "ServerCertificateCommonNames": { "type": "object", "properties": { - "scalingMechanism": { + "commonNames": { "oneOf": [ { - "$ref": "#/definitions/ScalingMechanism" + "type": "array", + "items": { + "$ref": "#/definitions/ServerCertificateCommonName" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the mechanism for performing a scaling operation." + "description": "The list of server certificates referenced by common name that are used to secure the cluster." }, - "scalingTrigger": { + "x509StoreName": { "oneOf": [ { - "$ref": "#/definitions/ScalingTrigger" + "type": "string", + "enum": [ + "AddressBook", + "AuthRoot", + "CertificateAuthority", + "Disallowed", + "My", + "Root", + "TrustedPeople", + "TrustedPublisher" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the trigger for performing a scaling operation." + ] } }, - "required": [ - "scalingMechanism", - "scalingTrigger" - ], - "description": "Specifies a metric to load balance a service during runtime." + "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." }, - "ScalingTrigger": { - "type": "object", - "properties": {}, - "description": "Describes the trigger for performing a scaling operation." - }, - "ServiceCorrelation": { + "ServiceCorrelationDescription": { "type": "object", "properties": { "scheme": { @@ -2833,6 +2255,8 @@ { "type": "string", "enum": [ + "Invalid", + "Affinity", "AlignedAffinity", "NonAlignedAffinity" ] @@ -2845,7 +2269,7 @@ }, "serviceName": { "type": "string", - "description": "The full ARM Resource ID describing the service resource" + "description": "The full name of the service with 'fabric:' URI scheme." } }, "required": [ @@ -2854,34 +2278,7 @@ ], "description": "Creates a particular correlation between services." }, - "ServiceEndpoint": { - "type": "object", - "properties": { - "locations": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list of locations." - }, - "service": { - "type": "string", - "description": "The type of the endpoint service." - } - }, - "required": [ - "service" - ], - "description": "The service endpoint properties." - }, - "ServiceLoadMetric": { + "ServiceLoadMetricDescription": { "type": "object", "properties": { "defaultLoad": { @@ -2944,28 +2341,8 @@ ], "description": "Specifies a metric to load balance a service during runtime." }, - "ServicePlacementNonPartiallyPlaceServicePolicy": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "NonPartiallyPlaceService" - ] - } - }, - "required": [ - "type" - ], - "description": "ServicePlacementNonPartiallyPlaceServicePolicy" - }, - "ServicePlacementPolicy": { + "ServicePlacementPolicyDescription": { "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/ServicePlacementNonPartiallyPlaceServicePolicy" - } - ], "properties": {}, "description": "Describes the policy to be used for placement of a Service Fabric service." }, @@ -2985,7 +2362,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServiceCorrelation" + "$ref": "#/definitions/ServiceCorrelationDescription" } }, { @@ -3013,7 +2390,7 @@ "partitionDescription": { "oneOf": [ { - "$ref": "#/definitions/Partition" + "$ref": "#/definitions/PartitionSchemeDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3025,20 +2402,6 @@ "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)\"." }, - "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." - }, "serviceDnsName": { "type": "string", "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" @@ -3048,14 +2411,14 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServiceLoadMetric" + "$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 ServiceLoadMetric objects." + "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." }, "servicePackageActivationMode": { "oneOf": [ @@ -3077,7 +2440,7 @@ { "type": "array", "items": { - "$ref": "#/definitions/ServicePlacementPolicy" + "$ref": "#/definitions/ServicePlacementPolicyDescription" } }, { @@ -3091,60 +2454,46 @@ "description": "The name of the service type" } }, - "required": [ - "partitionDescription", - "serviceTypeName" - ], "description": "The service resource properties." }, - "ServiceTypeHealthPolicy": { + "ServiceTypeDeltaHealthPolicy": { "type": "object", "properties": { - "maxPercentUnhealthyPartitionsPerService": { + "maxPercentDeltaUnhealthyServices": { "oneOf": [ { "type": "integer", "minimum": 0, - "maximum": 100 + "maximum": 100, + "default": "0" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" - }, + "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 + "maximum": 100, + "default": "0" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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" + "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n" } }, - "required": [ - "maxPercentUnhealthyPartitionsPerService", - "maxPercentUnhealthyReplicasPerPartition", - "maxPercentUnhealthyServices" - ], "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" }, "SettingsParameterDescription": { @@ -3193,7 +2542,7 @@ ], "description": "Describes a section in the fabric settings of the cluster." }, - "SingletonPartitionScheme": { + "SingletonPartitionSchemeDescription": { "type": "object", "properties": { "partitionScheme": { @@ -3206,31 +2555,7 @@ "required": [ "partitionScheme" ], - "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" + "description": "SingletonPartitionSchemeDescription" }, "StatefulServiceProperties": { "type": "object", @@ -3260,11 +2585,13 @@ }, "quorumLossWaitDuration": { "type": "string", - "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\"." + "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", - "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." + "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", @@ -3272,13 +2599,10 @@ "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", - "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + "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": [ @@ -3301,6 +2625,10 @@ "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 represented in ISO 8601 format (hh:mm:ss.s)." + }, "instanceCount": { "oneOf": [ { @@ -3327,7 +2655,8 @@ "minInstancePercentage": { "oneOf": [ { - "type": "integer" + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3343,79 +2672,10 @@ } }, "required": [ - "instanceCount", "serviceKind" ], "description": "The properties of a stateless service resource." }, - "Subnet": { - "type": "object", - "properties": { - "enableIpv6": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." - }, - "name": { - "type": "string", - "description": "Subnet name." - }, - "networkSecurityGroupId": { - "type": "string", - "description": "Full resource id for the network security group." - }, - "privateEndpointNetworkPolicies": { - "oneOf": [ - { - "type": "string", - "enum": [ - "enabled", - "disabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Enable or Disable apply network policies on private end point in the subnet." - }, - "privateLinkServiceNetworkPolicies": { - "oneOf": [ - { - "type": "string", - "enum": [ - "enabled", - "disabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Enable or Disable apply network policies on private link service in the subnet." - } - }, - "required": [ - "name" - ], - "description": "Describes a Subnet." - }, - "SubResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Azure resource identifier." - } - }, - "description": "Azure resource identifier." - }, "SystemData": { "type": "object", "properties": { @@ -3451,279 +2711,6 @@ "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." - }, - "VmImagePlan": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The plan ID." - }, - "product": { - "type": "string", - "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." - }, - "promotionCode": { - "type": "string", - "description": "The promotion code." - }, - "publisher": { - "type": "string", - "description": "The publisher ID." - } - }, - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." - }, - "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." - }, - "VmssDataDisk": { - "type": "object", - "properties": { - "diskLetter": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z]{1}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." - }, - "diskSizeGB": { - "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." - }, - "diskType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_LRS", - "StandardSSD_LRS", - "Premium_LRS" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Managed data disk type. Specifies the storage account type for the managed disk." - }, - "lun": { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." - } - }, - "required": [ - "diskLetter", - "diskSizeGB", - "diskType", - "lun" - ], - "description": "Managed data disk description." - }, - "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." - }, - "enableAutomaticUpgrade": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." - }, - "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." - }, - "setupOrder": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "BeforeSFRuntime" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates the setup order 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 0797d239f8..5096f2c971 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -33814,12 +33814,6 @@ { "$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" }, @@ -33851,304 +33845,304 @@ "$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-01-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/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/2021-06-01/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/2021-06-01/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/2021-06-01/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/2021-06-01/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/2023-11-01-preview/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/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$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-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$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-05-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_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/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_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/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_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/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_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/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters" + "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/clusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applications_services" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedclusters_applicationTypes_versions" }, { - "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + "$ref": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json#/resourceDefinitions/managedClusters_nodeTypes" }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.ServiceFabricMesh.json#/resourceDefinitions/applications" From ccd8f4922a5130661279c420429a7abffce5c724 Mon Sep 17 00:00:00 2001 From: Jorge Cotillo Date: Thu, 21 Dec 2023 15:00:56 -0800 Subject: [PATCH 6/6] added missing files, fixed build warning --- .../processors/Microsoft.ServiceFabric.ts | 2 +- ...crosoft.ServiceFabric.ManagedClusters.json | 2556 +++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 2634 ++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 2791 ++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3064 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3090 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3115 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3149 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3159 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3212 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3254 ++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3297 +++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3312 +++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3540 ++++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3729 ++++++++++++++++ ...crosoft.ServiceFabric.ManagedClusters.json | 3751 +++++++++++++++++ 16 files changed, 47654 insertions(+), 1 deletion(-) create mode 100644 schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json create mode 100644 schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json diff --git a/generator/processors/Microsoft.ServiceFabric.ts b/generator/processors/Microsoft.ServiceFabric.ts index 695853525d..753905df1c 100644 --- a/generator/processors/Microsoft.ServiceFabric.ts +++ b/generator/processors/Microsoft.ServiceFabric.ts @@ -4,7 +4,7 @@ import { SchemaPostProcessor } from '../models'; export const postProcessor: SchemaPostProcessor = async (namespace, apiVersion, schema) => { - let IpTag = schema.definitions?.IpConfigurationPublicIPAddressConfiguration?.properties?.ipTags?.oneOf[0].items; + const IpTag = schema.definitions?.IpConfigurationPublicIPAddressConfiguration?.properties?.ipTags?.oneOf[0].items; if (IpTag && IpTag['$ref']) { IpTag['$ref'] = '#/definitions/IPTag'; } diff --git a/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..854fa7aad6 --- /dev/null +++ b/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,2556 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2021-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-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." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "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 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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + { + "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": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the virtual network of the cluster." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-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." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "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." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "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." + }, + "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": [ + "dataDiskSizeGB", + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "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-05-01/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..0bc75233e0 --- /dev/null +++ b/schemas/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,2634 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-05-01/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2021-05-01" + ] + }, + "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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "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." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + { + "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": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the virtual network of the cluster." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-05-01" + ] + }, + "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." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "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." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "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." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$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" + }, + "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." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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": [ + { + "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." + }, + "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": [ + "dataDiskSizeGB", + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "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-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..46e2309783 --- /dev/null +++ b/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,2791 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2021-07-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "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." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "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." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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": [ + "dataDiskSizeGB", + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "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-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..b96931e6c4 --- /dev/null +++ b/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3064 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2021-11-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..303b3a3681 --- /dev/null +++ b/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3090 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-01-01/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2022-01-01" + ] + }, + "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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-01" + ] + }, + "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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..10b81964f7 --- /dev/null +++ b/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3115 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2022-02-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-02-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time. " + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..490ead0eaf --- /dev/null +++ b/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3149 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-06-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2022-06-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-06-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..c205727779 --- /dev/null +++ b/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3159 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2022-08-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..0a2fb28a3d --- /dev/null +++ b/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3212 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2022-10-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_applicationTypes_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": [ + { + "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_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..d7382ed444 --- /dev/null +++ b/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3254 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2023-02-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IP address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "VmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..9e390a7694 --- /dev/null +++ b/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3297 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2023-03-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "publicIPPrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IP prefix that the load balancer will allocate a public IP address from. Only supports IPv4." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IP address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "natGatewayId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImagePlan": { + "oneOf": [ + { + "$ref": "#/definitions/VmImagePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "vmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmImagePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..d0a874014d --- /dev/null +++ b/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3312 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2023-07-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "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", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ddosProtectionPlanId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a DDoS network protection plan that will be associated with the virtual network of the cluster." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "publicIPPrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IP prefix that the load balancer will allocate a public IP address from. Only supports IPv4." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "dscpConfigurationId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of the DSCP configuration to apply to the node type network interface." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IP address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "natGatewayId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "serviceArtifactReferenceId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImagePlan": { + "oneOf": [ + { + "$ref": "#/definitions/VmImagePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "vmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmImagePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..b06835c278 --- /dev/null +++ b/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3540 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-09-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2023-09-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "AdditionalNetworkInterfaceConfiguration": { + "type": "object", + "properties": { + "dscpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + } + }, + "required": [ + "ipConfigurations", + "name" + ], + "description": "Specifies the settings for a network interface to attach to the node type." + }, + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "format": "arm-id", + "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." + }, + "IpConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.\t" + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/IpConfigurationPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address configuration of the network interface." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + } + }, + "required": [ + "name" + ], + "description": "Specifies an IP configuration of the network interface." + }, + "IpConfigurationPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of IP tags associated with the public IP address." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4." + } + }, + "required": [ + "name" + ], + "description": "The public IP address configuration of the network interface." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ddosProtectionPlanId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a DDoS network protection plan that will be associated with the virtual network of the cluster." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "publicIPPrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IP prefix that the load balancer will allocate a public IP address from. Only supports IPv4." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "additionalNetworkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalNetworkInterfaceConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the settings for any additional secondary network interfaces to attach to the node type." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "dscpConfigurationId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of the DSCP configuration to apply to the node type network interface." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableNodePublicIPv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "natGatewayId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "serviceArtifactReferenceId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImagePlan": { + "oneOf": [ + { + "$ref": "#/definitions/VmImagePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "vmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmImagePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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." + }, + "setupOrder": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "BeforeSFRuntime" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the setup order 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/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..9c85bed8f8 --- /dev/null +++ b/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3729 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-11-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2023-11-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "AdditionalNetworkInterfaceConfiguration": { + "type": "object", + "properties": { + "dscpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + } + }, + "required": [ + "ipConfigurations", + "name" + ], + "description": "Specifies the settings for a network interface to attach to the node type." + }, + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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." + }, + "ClusterHealthPolicy": { + "type": "object", + "properties": { + "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" + } + }, + "required": [ + "maxPercentUnhealthyApplications", + "maxPercentUnhealthyNodes" + ], + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + }, + "ClusterMonitoringPolicy": { + "type": "object", + "properties": { + "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." + }, + "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." + }, + "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", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "Describes the monitoring policies for the cluster upgrade." + }, + "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.\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.\nNOTE: This value will overwrite the value specified in properties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications\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": [ + "maxPercentDeltaUnhealthyNodes" + ], + "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)." + }, + "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" + }, + "monitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterMonitoringPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the monitoring policies for the cluster 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.\nWhen this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues.\nThe 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.\nThis value must be between 00:00:00 and 49710.06:28:15 (unsigned 32 bit integer for seconds)\n" + } + }, + "description": "Describes the policy used when upgrading the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "format": "arm-id", + "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." + }, + "IpConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.\t" + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/IpConfigurationPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address configuration of the network interface." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + } + }, + "required": [ + "name" + ], + "description": "Specifies an IP configuration of the network interface." + }, + "IpConfigurationPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of IP tags associated with the public IP address." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4." + } + }, + "required": [ + "name" + ], + "description": "The public IP address configuration of the network interface." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ddosProtectionPlanId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a DDoS network protection plan that will be associated with the virtual network of the cluster." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "publicIPPrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IPv4 prefix that the load balancer will allocate a public IPv4 address from. This setting cannot be changed once the cluster is created." + }, + "publicIPv6PrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IPv6 prefix that the load balancer will allocate a public IPv6 address from. This setting cannot be changed once the cluster is created." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-11-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "additionalNetworkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalNetworkInterfaceConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the settings for any additional secondary network interfaces to attach to the node type." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "dscpConfigurationId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of the DSCP configuration to apply to the node type network interface." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableNodePublicIPv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "natGatewayId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "serviceArtifactReferenceId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImagePlan": { + "oneOf": [ + { + "$ref": "#/definitions/VmImagePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "vmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmImagePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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." + }, + "setupOrder": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "BeforeSFRuntime" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the setup order 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/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json b/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json new file mode 100644 index 0000000000..2996137382 --- /dev/null +++ b/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.json @@ -0,0 +1,3751 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-12-01-preview/Microsoft.ServiceFabric.ManagedClusters.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": [ + "2023-12-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_applicationTypes_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": [ + { + "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", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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": "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/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": [ + { + "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/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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/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": [ + { + "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/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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": { + "AdditionalNetworkInterfaceConfiguration": { + "type": "object", + "properties": { + "dscpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + } + }, + "required": [ + "ipConfigurations", + "name" + ], + "description": "Specifies the settings for a network interface to attach to the node type." + }, + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "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." + }, + "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" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "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/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" + } + }, + "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", + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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" + ], + "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", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$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)." + }, + "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": [ + { + "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." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$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": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "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)." + } + }, + "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" + ] + }, + "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": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "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." + }, + "ClusterHealthPolicy": { + "type": "object", + "properties": { + "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" + } + }, + "required": [ + "maxPercentUnhealthyApplications", + "maxPercentUnhealthyNodes" + ], + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n" + }, + "ClusterMonitoringPolicy": { + "type": "object", + "properties": { + "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." + }, + "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." + }, + "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", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "Describes the monitoring policies for the cluster upgrade." + }, + "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.\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.\nNOTE: This value will overwrite the value specified in properties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications\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": [ + "maxPercentDeltaUnhealthyNodes" + ], + "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)." + }, + "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" + }, + "monitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterMonitoringPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the monitoring policies for the cluster 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.\nWhen this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues.\nThe 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.\nThis value must be between 00:00:00 and 49710.06:28:15 (unsigned 32 bit integer for seconds)\n" + } + }, + "description": "Describes the policy used when upgrading the cluster." + }, + "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" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "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/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "format": "arm-id", + "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." + }, + "IpConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.\t" + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/IpConfigurationPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address configuration of the network interface." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + } + }, + "required": [ + "name" + ], + "description": "Specifies an IP configuration of the network interface." + }, + "IpConfigurationPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of IP tags associated with the public IP address." + }, + "name": { + "type": "string", + "description": "Name of the network interface." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4." + } + }, + "required": [ + "name" + ], + "description": "The public IP address configuration of the network interface." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "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." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "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": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for 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." + }, + "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 that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "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**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ddosProtectionPlanId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a DDoS network protection plan that will be associated with the virtual network of the cluster." + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableHttpGatewayExclusiveAuthMode": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, token-based authentication is not allowed on the HttpGatewayEndpoint. This is required to support TLS versions 1.3 and above. If token-based authentication is used, HttpGatewayTokenAuthConnectionPort must be defined." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "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." + }, + "httpGatewayTokenAuthConnectionPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port used for token-auth based HTTPS connections to the cluster. Cannot be set to the same port as HttpGatewayEndpoint." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$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." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "publicIPPrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IPv4 prefix that the load balancer will allocate a public IPv4 address from. This setting cannot be changed once the cluster is created." + }, + "publicIPv6PrefixId": { + "type": "string", + "format": "arm-id", + "description": "Specify the resource id of a public IPv6 prefix that the load balancer will allocate a public IPv6 address from. This setting cannot be changed once the cluster is created." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "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." + }, + "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." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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": "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." + }, + "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": [ + { + "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/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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" + }, + "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": [ + { + "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/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "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." + }, + "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": [ + { + "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/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-12-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." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "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": [ + { + "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" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "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 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": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "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." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": [ + "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." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "additionalNetworkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalNetworkInterfaceConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the settings for any additional secondary network interfaces to attach to the node type." + }, + "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." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "dscpConfigurationId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of the DSCP configuration to apply to the node type network interface." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableNodePublicIPv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "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." + }, + "natGatewayId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer." + }, + "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": [ + { + "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." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "serviceArtifactReferenceId": { + "type": "string", + "format": "arm-id", + "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "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." + }, + "vmImagePlan": { + "oneOf": [ + { + "$ref": "#/definitions/VmImagePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "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.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "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." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "vmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "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." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "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.

If present in request it will override properties.vmInstanceCount." + }, + "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": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "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 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": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "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." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "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 ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "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." + }, + "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." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$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" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$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)\"." + }, + "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." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$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 ServiceLoadMetric 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/ServicePlacementPolicy" + } + }, + { + "$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" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "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 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 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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": { + "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." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "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", + "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", + "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", + "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", + "enum": [ + "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", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "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." + }, + "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": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "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." + }, + "VmImagePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save." + }, + "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." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "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." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "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." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "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." + }, + "setupOrder": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "BeforeSFRuntime" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the setup order 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