diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json index 0c05124b3ff9..cb45ae64a4cf 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json @@ -1010,6 +1010,7 @@ } }, "ApplicationResource": { + "type": "object", "description": "The application resource.", "properties": { "identity": { @@ -1029,6 +1030,7 @@ ] }, "ApplicationResourceList": { + "type": "object", "description": "The list of application resources.", "properties": { "value": { @@ -1045,6 +1047,7 @@ } }, "ApplicationResourceProperties": { + "type": "object", "description": "The application resource properties.", "allOf": [ { @@ -1064,6 +1067,7 @@ } }, "ApplicationResourceUpdate": { + "type": "object", "description": "The application resource for patch operations.", "properties": { "properties": { @@ -1079,6 +1083,7 @@ ] }, "ApplicationResourceUpdateProperties": { + "type": "object", "description": "The application resource properties for patch operations.", "properties": { "typeVersion": { @@ -1135,6 +1140,7 @@ } }, "ApplicationTypeResource": { + "type": "object", "description": "The application type name resource", "properties": { "properties": { @@ -1150,6 +1156,7 @@ ] }, "ApplicationTypeResourceList": { + "type": "object", "description": "The list of application type names.", "properties": { "value": { @@ -1166,6 +1173,7 @@ } }, "ApplicationTypeResourceProperties": { + "type": "object", "description": "The application type name properties", "properties": { "provisioningState": { @@ -1180,6 +1188,7 @@ "description": "The version of the application type as defined in the application manifest." }, "ApplicationTypeVersionResource": { + "type": "object", "description": "An application type version resource for the specified application type name resource.", "properties": { "properties": { @@ -1195,6 +1204,7 @@ ] }, "ApplicationTypeVersionResourceList": { + "type": "object", "description": "The list of application type version resources for the specified application type name resource.", "properties": { "value": { @@ -1211,6 +1221,7 @@ } }, "ApplicationTypeVersionResourceProperties": { + "type": "object", "description": "The properties of the application type version resource.", "required": [ "appPackageUrl" @@ -1233,6 +1244,7 @@ } }, "ApplicationUpgradePolicy": { + "type": "object", "description": "Describes the policy for a monitored application upgrade.", "properties": { "upgradeReplicaSetCheckTimeout": { @@ -1254,10 +1266,15 @@ "upgradeMode": { "$ref": "#/definitions/RollingUpgradeMode", "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "recreateApplication": { + "type": "boolean", + "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." } } }, "ApplicationUserAssignedIdentity": { + "type": "object", "required": [ "name", "principalId" @@ -1284,6 +1301,7 @@ }, "maxPercentUnhealthyDeployedApplications": { "type": "integer", + "format": "int32", "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", "default": 0 }, @@ -1298,6 +1316,7 @@ } }, "ArmRollingUpgradeMonitoringPolicy": { + "type": "object", "description": "The policy used for monitoring the application upgrade", "properties": { "failureAction": { @@ -1350,6 +1369,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1357,6 +1377,7 @@ }, "maxPercentUnhealthyPartitionsPerService": { "type": "integer", + "format": "int32", "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1364,6 +1385,7 @@ }, "maxPercentUnhealthyReplicasPerPartition": { "type": "integer", + "format": "int32", "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1379,6 +1401,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -1427,6 +1450,7 @@ "default": "0" }, "ManagedIdentity": { + "type": "object", "description": "Describes the managed identities for an Azure resource.", "properties": { "principalId": { @@ -1514,6 +1538,7 @@ } }, "NamedPartitionSchemeDescription": { + "type": "object", "description": "Describes the named partition scheme of the service.", "allOf": [ { @@ -1532,6 +1557,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "names": { @@ -1544,6 +1570,7 @@ } }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1561,6 +1588,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1628,6 +1656,7 @@ } }, "ProxyResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -1799,14 +1828,17 @@ }, "primaryDefaultLoad": { "type": "integer", + "format": "int32", "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": { "type": "integer", + "format": "int32", "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." }, "defaultLoad": { "type": "integer", + "format": "int32", "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." } } @@ -1918,6 +1950,7 @@ } }, "ServiceResource": { + "type": "object", "description": "The service resource.", "properties": { "properties": { @@ -1933,6 +1966,7 @@ ] }, "ServiceResourceList": { + "type": "object", "description": "The list of service resources.", "properties": { "value": { @@ -1949,6 +1983,7 @@ } }, "ServiceResourceProperties": { + "type": "object", "description": "The service resource properties.", "allOf": [ { @@ -2006,6 +2041,7 @@ } }, "ServiceResourcePropertiesBase": { + "type": "object", "description": "The common service resource properties.", "properties": { "placementConstraints": { @@ -2031,6 +2067,7 @@ } }, "ServiceResourceUpdate": { + "type": "object", "description": "The service resource for patch operations.", "properties": { "properties": { @@ -2046,6 +2083,7 @@ ] }, "ServiceResourceUpdateProperties": { + "type": "object", "description": "The service resource properties for patch operations.", "allOf": [ { @@ -2064,6 +2102,7 @@ } }, "SingletonPartitionSchemeDescription": { + "type": "object", "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", "allOf": [ { @@ -2077,6 +2116,7 @@ "x-ms-discriminator-value": "Singleton" }, "StatefulServiceProperties": { + "type": "object", "description": "The properties of a stateful service resource.", "allOf": [ { @@ -2091,11 +2131,13 @@ }, "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2117,6 +2159,7 @@ } }, "StatefulServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateful service resource for patch operations.", "allOf": [ { @@ -2127,11 +2170,13 @@ "properties": { "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2153,6 +2198,7 @@ } }, "StatelessServiceProperties": { + "type": "object", "description": "The properties of a stateless service resource.", "allOf": [ { @@ -2163,6 +2209,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2173,6 +2220,7 @@ } }, "StatelessServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateless service resource for patch operations.", "allOf": [ { @@ -2183,6 +2231,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2193,6 +2242,7 @@ } }, "UserAssignedIdentity": { + "type": "object", "properties": { "principalId": { "type": "string", @@ -2214,6 +2264,7 @@ } }, "UniformInt64RangePartitionSchemeDescription": { + "type": "object", "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", "allOf": [ { @@ -2233,6 +2284,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "lowKey": { @@ -2256,6 +2308,7 @@ "default": "P10675199DT02H48M05.4775807S" }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -2265,6 +2318,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json index 36558717a519..8a1a0e10e649 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json @@ -347,6 +347,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -387,6 +393,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -421,6 +433,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -458,6 +476,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -511,12 +535,14 @@ ] }, "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", "required": [ "maxUnusedVersionsToKeep" ], "properties": { "maxUnusedVersionsToKeep": { "type": "integer", + "format": "int64", "minimum": 0, "description": "Number of unused versions per application type to keep." } @@ -565,6 +591,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -586,6 +613,7 @@ "description": "Operation supported by the Service Fabric resource provider" }, "AzureActiveDirectory": { + "type": "object", "properties": { "tenantId": { "type": "string", @@ -603,6 +631,7 @@ "description": "The settings to enable AAD authentication on the cluster." }, "CertificateDescription": { + "type": "object", "required": [ "thumbprint" ], @@ -623,6 +652,7 @@ "description": "Describes the certificate details." }, "ClientCertificateCommonName": { + "type": "object", "required": [ "certificateCommonName", "isAdmin", @@ -645,6 +675,7 @@ "description": "Describes the client certificate details using common name." }, "ClientCertificateThumbprint": { + "type": "object", "required": [ "certificateThumbprint", "isAdmin" @@ -672,18 +703,19 @@ "$ref": "#/definitions/Resource" }, { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterProperties", - "description": "The cluster resource properties" - } - } + "type": "object" } - ] + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster resource properties" + } + } }, "ClusterCodeVersionsListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -699,6 +731,7 @@ "description": "The list results of the Service Fabric runtime versions." }, "ClusterCodeVersionsResult": { + "type": "object", "properties": { "id": { "type": "string", @@ -734,6 +767,7 @@ "properties": { "maxPercentUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -741,6 +775,7 @@ }, "maxPercentUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -753,6 +788,7 @@ } }, "ClusterListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -768,6 +804,7 @@ "description": "Cluster list results" }, "ClusterProperties": { + "type": "object", "required": [ "managementEndpoint", "nodeTypes" @@ -906,6 +943,7 @@ "description": "Describes the cluster resource properties." }, "ClusterPropertiesUpdateParameters": { + "type": "object", "properties": { "addOnFeatures": { "type": "array", @@ -998,6 +1036,7 @@ ] }, "ClusterUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -1015,6 +1054,7 @@ "description": "Cluster update request" }, "ClusterUpgradeDeltaHealthPolicy": { + "type": "object", "description": "Describes the delta health policies for the cluster upgrade.", "required": [ "maxPercentDeltaUnhealthyApplications", @@ -1024,18 +1064,21 @@ "properties": { "maxPercentDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentUpgradeDomainDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentDeltaUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 @@ -1047,6 +1090,7 @@ } }, "ClusterUpgradePolicy": { + "type": "object", "required": [ "healthCheckRetryTimeout", "healthCheckStableDuration", @@ -1097,6 +1141,7 @@ "description": "Describes the policy used when upgrading the cluster." }, "ClusterVersionDetails": { + "type": "object", "properties": { "codeVersion": { "type": "string", @@ -1114,6 +1159,7 @@ "description": "The detail of the Service Fabric runtime version result" }, "DiagnosticsStorageAccountConfig": { + "type": "object", "required": [ "blobEndpoint", "protectedAccountKeyName", @@ -1159,6 +1205,7 @@ ] }, "EndpointRangeDescription": { + "type": "object", "required": [ "endPort", "startPort" @@ -1166,16 +1213,19 @@ "properties": { "startPort": { "type": "integer", + "format": "int32", "description": "Starting port of a range of ports" }, "endPort": { "type": "integer", + "format": "int32", "description": "End port of a range of ports" } }, "description": "Port range details" }, "NodeTypeDescription": { + "type": "object", "required": [ "clientConnectionEndpointPort", "httpGatewayEndpointPort", @@ -1206,10 +1256,12 @@ }, "clientConnectionEndpointPort": { "type": "integer", + "format": "int32", "description": "The TCP cluster management endpoint port." }, "httpGatewayEndpointPort": { "type": "integer", + "format": "int32", "description": "The HTTP cluster management endpoint port." }, "durabilityLevel": { @@ -1230,18 +1282,21 @@ }, "vmInstanceCount": { "type": "integer", + "format": "int32", "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.", "minimum": 1, "maximum": 2147483647 }, "reverseProxyEndpointPort": { "type": "integer", + "format": "int32", "description": "The endpoint used by reverse proxy." } }, "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1259,6 +1314,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1291,6 +1347,7 @@ ] }, "Resource": { + "type": "object", "required": [ "location" ], @@ -1335,6 +1392,7 @@ "x-ms-azure-resource": true }, "ServerCertificateCommonName": { + "type": "object", "description": "Describes the server certificate details using common name.", "required": [ "certificateCommonName", @@ -1352,6 +1410,7 @@ } }, "ServerCertificateCommonNames": { + "type": "object", "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.", "properties": { "commonNames": { @@ -1373,6 +1432,7 @@ "properties": { "maxPercentDeltaUnhealthyServices": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -1388,6 +1448,7 @@ } }, "SettingsParameterDescription": { + "type": "object", "required": [ "name", "value" @@ -1405,6 +1466,7 @@ "description": "Describes a parameter in fabric settings of the cluster." }, "SettingsSectionDescription": { + "type": "object", "required": [ "name", "parameters" @@ -1447,6 +1509,7 @@ ] }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -1456,6 +1519,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -1474,6 +1538,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json index 51cc8e1a84d8..050e5874c6d9 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json @@ -439,6 +439,7 @@ ] }, "AzureActiveDirectory": { + "type": "object", "properties": { "tenantId": { "type": "string", @@ -456,6 +457,7 @@ "description": "The settings to enable AAD authentication on the cluster." }, "ClientCertificate": { + "type": "object", "required": [ "isAdmin" ], @@ -506,6 +508,7 @@ ] }, "LoadBalancingRule": { + "type": "object", "required": [ "frontendPort", "backendPort", @@ -567,22 +570,23 @@ "$ref": "#/definitions/Resource" }, { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ManagedClusterProperties", - "description": "The managed cluster resource properties" - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku of the managed cluster" - } - } + "type": "object" } - ] + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterProperties", + "description": "The managed cluster resource properties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the managed cluster" + } + } }, "ManagedClusterListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -598,6 +602,7 @@ "description": "Managed Cluster list results" }, "ManagedClusterProperties": { + "type": "object", "required": [ "dnsName", "adminUserName" @@ -694,6 +699,7 @@ "description": "Describes the managed cluster resource properties." }, "ManagedClusterPropertiesUpdateParameters": { + "type": "object", "properties": { "clientConnectionPort": { "type": "integer", @@ -745,6 +751,7 @@ "description": "Describes the managed cluster resource properties." }, "ManagedClusterUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -761,6 +768,7 @@ "description": "Managed cluster update request" }, "ManagedClusterVersionDetails": { + "type": "object", "properties": { "msiVersion": { "type": "string", @@ -778,6 +786,7 @@ "description": "The detail of the Service Fabric runtime version." }, "Sku": { + "type": "object", "required": [ "name" ], @@ -798,6 +807,7 @@ ] }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -866,6 +876,7 @@ "properties": { "maxPercentUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -873,6 +884,7 @@ }, "maxPercentUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -885,6 +897,7 @@ } }, "ClusterUpgradeDeltaHealthPolicy": { + "type": "object", "description": "Describes the delta health policies for the cluster upgrade.", "required": [ "maxPercentDeltaUnhealthyApplications", @@ -894,18 +907,21 @@ "properties": { "maxPercentDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentUpgradeDomainDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentDeltaUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 @@ -917,6 +933,7 @@ } }, "ClusterUpgradePolicy": { + "type": "object", "required": [ "healthCheckRetryTimeout", "healthCheckStableDuration", @@ -967,6 +984,7 @@ "description": "Describes the policy used when upgrading the cluster." }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -976,6 +994,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -1005,6 +1024,7 @@ ] }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1022,6 +1042,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1043,6 +1064,7 @@ "description": "Available operation list result" }, "Resource": { + "type": "object", "required": [ "location" ], @@ -1092,6 +1114,7 @@ "properties": { "maxPercentDeltaUnhealthyServices": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -1112,6 +1135,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1127,6 +1151,7 @@ } }, "SettingsParameterDescription": { + "type": "object", "required": [ "name", "value" @@ -1144,6 +1169,7 @@ "description": "Describes a parameter in fabric settings of the cluster." }, "SettingsSectionDescription": { + "type": "object", "required": [ "name", "parameters" diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json index c57c049f0f13..6427d5dd6064 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json @@ -533,6 +533,7 @@ }, "definitions": { "ManagedProxyResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -565,6 +566,7 @@ "x-ms-azure-resource": true }, "NodeType": { + "type": "object", "allOf": [ { "$ref": "#/definitions/ManagedProxyResource" @@ -580,6 +582,7 @@ "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, "NodeTypeActionParameters": { + "type": "object", "required": [ "nodes" ], @@ -599,6 +602,7 @@ "description": "Parameters for Node type action." }, "NodeTypeProperties": { + "type": "object", "required": [ "isPrimary", "vmInstanceCount", @@ -690,6 +694,7 @@ "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, "NodeTypeListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -707,6 +712,7 @@ "description": "Node type list results" }, "NodeTypePropertiesUpdateParameters": { + "type": "object", "properties": { "vmInstanceCount": { "type": "integer", @@ -759,6 +765,7 @@ "description": "Node type update properties." }, "NodeTypeUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -776,6 +783,7 @@ "description": "Node type update request" }, "SubResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -786,6 +794,7 @@ "x-ms-azure-resource": true }, "VaultCertificate": { + "type": "object", "required": [ "certificateUrl", "certificateStore" @@ -803,6 +812,7 @@ "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." }, "VaultSecretGroup": { + "type": "object", "required": [ "sourceVault", "vaultCertificates" @@ -823,6 +833,7 @@ "description": "Specifies set of certificates that should be installed onto the virtual machines." }, "VMSSExtension": { + "type": "object", "required": [ "name", "properties" @@ -841,6 +852,7 @@ "description": "Specifies set of extensions that should be installed onto the virtual machines." }, "VMSSExtensionProperties": { + "type": "object", "required": [ "publisher", "type", @@ -891,6 +903,7 @@ "description": "Describes the properties of a Virtual Machine Scale Set Extension." }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -912,6 +925,7 @@ "description": "Operation supported by the Service Fabric resource provider" }, "EndpointRangeDescription": { + "type": "object", "required": [ "endPort", "startPort" @@ -919,16 +933,19 @@ "properties": { "startPort": { "type": "integer", + "format": "int32", "description": "Starting port of a range of ports" }, "endPort": { "type": "integer", + "format": "int32", "description": "End port of a range of ports" } }, "description": "Port range details" }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -938,6 +955,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -967,6 +985,7 @@ ] }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -984,6 +1003,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/application.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/application.json index a1dacd7897a9..aa5047af46b6 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/application.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/application.json @@ -974,6 +974,7 @@ } }, "ApplicationResource": { + "type": "object", "description": "The application resource.", "properties": { "identity": { @@ -993,6 +994,7 @@ ] }, "ApplicationResourceList": { + "type": "object", "description": "The list of application resources.", "properties": { "value": { @@ -1009,6 +1011,7 @@ } }, "ApplicationResourceProperties": { + "type": "object", "description": "The application resource properties.", "allOf": [ { @@ -1028,6 +1031,7 @@ } }, "ApplicationResourceUpdate": { + "type": "object", "description": "The application resource for patch operations.", "properties": { "properties": { @@ -1043,6 +1047,7 @@ ] }, "ApplicationResourceUpdateProperties": { + "type": "object", "description": "The application resource properties for patch operations.", "properties": { "typeVersion": { @@ -1099,6 +1104,7 @@ } }, "ApplicationTypeResource": { + "type": "object", "description": "The application type name resource", "properties": { "properties": { @@ -1114,6 +1120,7 @@ ] }, "ApplicationTypeResourceList": { + "type": "object", "description": "The list of application type names.", "properties": { "value": { @@ -1130,6 +1137,7 @@ } }, "ApplicationTypeResourceProperties": { + "type": "object", "description": "The application type name properties", "properties": { "provisioningState": { @@ -1144,6 +1152,7 @@ "description": "The version of the application type as defined in the application manifest." }, "ApplicationTypeVersionResource": { + "type": "object", "description": "An application type version resource for the specified application type name resource.", "properties": { "properties": { @@ -1159,6 +1168,7 @@ ] }, "ApplicationTypeVersionResourceList": { + "type": "object", "description": "The list of application type version resources for the specified application type name resource.", "properties": { "value": { @@ -1175,6 +1185,7 @@ } }, "ApplicationTypeVersionResourceProperties": { + "type": "object", "description": "The properties of the application type version resource.", "required": [ "appPackageUrl" @@ -1197,6 +1208,7 @@ } }, "ApplicationUpgradePolicy": { + "type": "object", "description": "Describes the policy for a monitored application upgrade.", "properties": { "upgradeReplicaSetCheckTimeout": { @@ -1218,10 +1230,15 @@ "upgradeMode": { "$ref": "#/definitions/RollingUpgradeMode", "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "recreateApplication": { + "type": "boolean", + "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." } } }, "ApplicationUserAssignedIdentity": { + "type": "object", "required": [ "name", "principalId" @@ -1248,6 +1265,7 @@ }, "maxPercentUnhealthyDeployedApplications": { "type": "integer", + "format": "int32", "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", "default": 0 }, @@ -1262,6 +1280,7 @@ } }, "ArmRollingUpgradeMonitoringPolicy": { + "type": "object", "description": "The policy used for monitoring the application upgrade", "properties": { "failureAction": { @@ -1314,6 +1333,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1321,6 +1341,7 @@ }, "maxPercentUnhealthyPartitionsPerService": { "type": "integer", + "format": "int32", "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1328,6 +1349,7 @@ }, "maxPercentUnhealthyReplicasPerPartition": { "type": "integer", + "format": "int32", "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1343,6 +1365,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -1391,6 +1414,7 @@ "default": "0" }, "ManagedIdentity": { + "type": "object", "description": "Describes the managed identities for an Azure resource.", "properties": { "principalId": { @@ -1478,6 +1502,7 @@ } }, "NamedPartitionSchemeDescription": { + "type": "object", "description": "Describes the named partition scheme of the service.", "allOf": [ { @@ -1496,6 +1521,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "names": { @@ -1554,6 +1580,7 @@ } }, "ProxyResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -1728,14 +1755,17 @@ }, "primaryDefaultLoad": { "type": "integer", + "format": "int32", "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": { "type": "integer", + "format": "int32", "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." }, "defaultLoad": { "type": "integer", + "format": "int32", "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." } } @@ -1847,6 +1877,7 @@ } }, "ServiceResource": { + "type": "object", "description": "The service resource.", "properties": { "properties": { @@ -1862,6 +1893,7 @@ ] }, "ServiceResourceList": { + "type": "object", "description": "The list of service resources.", "properties": { "value": { @@ -1878,6 +1910,7 @@ } }, "ServiceResourceProperties": { + "type": "object", "description": "The service resource properties.", "allOf": [ { @@ -1935,6 +1968,7 @@ } }, "ServiceResourcePropertiesBase": { + "type": "object", "description": "The common service resource properties.", "properties": { "placementConstraints": { @@ -1960,6 +1994,7 @@ } }, "ServiceResourceUpdate": { + "type": "object", "description": "The service resource for patch operations.", "properties": { "properties": { @@ -1975,6 +2010,7 @@ ] }, "ServiceResourceUpdateProperties": { + "type": "object", "description": "The service resource properties for patch operations.", "allOf": [ { @@ -1993,6 +2029,7 @@ } }, "SingletonPartitionSchemeDescription": { + "type": "object", "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", "allOf": [ { @@ -2006,6 +2043,7 @@ "x-ms-discriminator-value": "Singleton" }, "StatefulServiceProperties": { + "type": "object", "description": "The properties of a stateful service resource.", "allOf": [ { @@ -2020,11 +2058,13 @@ }, "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2046,6 +2086,7 @@ } }, "StatefulServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateful service resource for patch operations.", "allOf": [ { @@ -2056,11 +2097,13 @@ "properties": { "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2082,6 +2125,7 @@ } }, "StatelessServiceProperties": { + "type": "object", "description": "The properties of a stateless service resource.", "allOf": [ { @@ -2092,6 +2136,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2102,6 +2147,7 @@ } }, "StatelessServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateless service resource for patch operations.", "allOf": [ { @@ -2112,6 +2158,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2122,6 +2169,7 @@ } }, "UserAssignedIdentity": { + "type": "object", "properties": { "principalId": { "type": "string", @@ -2143,6 +2191,7 @@ } }, "UniformInt64RangePartitionSchemeDescription": { + "type": "object", "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", "allOf": [ { @@ -2162,6 +2211,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "lowKey": { @@ -2185,6 +2235,7 @@ "default": "P10675199DT02H48M05.4775807S" }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -2194,6 +2245,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/cluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/cluster.json index 160ff7e88cfa..8956f6eefc26 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/cluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-12-01-preview/cluster.json @@ -347,6 +347,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -387,6 +393,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -421,6 +433,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -458,6 +476,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -566,12 +590,14 @@ ] }, "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", "required": [ "maxUnusedVersionsToKeep" ], "properties": { "maxUnusedVersionsToKeep": { "type": "integer", + "format": "int64", "minimum": 0, "description": "Number of unused versions per application type to keep." } @@ -620,6 +646,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -641,6 +668,7 @@ "description": "Operation supported by the Service Fabric resource provider" }, "AzureActiveDirectory": { + "type": "object", "properties": { "tenantId": { "type": "string", @@ -658,6 +686,7 @@ "description": "The settings to enable AAD authentication on the cluster." }, "CertificateDescription": { + "type": "object", "required": [ "thumbprint" ], @@ -678,6 +707,7 @@ "description": "Describes the certificate details." }, "ClientCertificateCommonName": { + "type": "object", "required": [ "certificateCommonName", "isAdmin", @@ -700,6 +730,7 @@ "description": "Describes the client certificate details using common name." }, "ClientCertificateThumbprint": { + "type": "object", "required": [ "certificateThumbprint", "isAdmin" @@ -733,6 +764,7 @@ } }, "ClusterCodeVersionsListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -748,6 +780,7 @@ "description": "The list results of the Service Fabric runtime versions." }, "ClusterCodeVersionsResult": { + "type": "object", "properties": { "id": { "type": "string", @@ -783,6 +816,7 @@ "properties": { "maxPercentUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -790,6 +824,7 @@ }, "maxPercentUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -802,6 +837,7 @@ } }, "ClusterListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -817,6 +853,7 @@ "description": "Cluster list results" }, "ClusterProperties": { + "type": "object", "required": [ "managementEndpoint", "nodeTypes" @@ -955,6 +992,7 @@ "description": "Describes the cluster resource properties." }, "ClusterPropertiesUpdateParameters": { + "type": "object", "properties": { "addOnFeatures": { "type": "array", @@ -1047,6 +1085,7 @@ ] }, "ClusterUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -1064,6 +1103,7 @@ "description": "Cluster update request" }, "ClusterUpgradeDeltaHealthPolicy": { + "type": "object", "description": "Describes the delta health policies for the cluster upgrade.", "required": [ "maxPercentDeltaUnhealthyApplications", @@ -1073,18 +1113,21 @@ "properties": { "maxPercentDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentUpgradeDomainDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentDeltaUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 @@ -1096,6 +1139,7 @@ } }, "ClusterUpgradePolicy": { + "type": "object", "required": [ "healthCheckRetryTimeout", "healthCheckStableDuration", @@ -1146,6 +1190,7 @@ "description": "Describes the policy used when upgrading the cluster." }, "ClusterVersionDetails": { + "type": "object", "properties": { "codeVersion": { "type": "string", @@ -1163,6 +1208,7 @@ "description": "The detail of the Service Fabric runtime version result" }, "DiagnosticsStorageAccountConfig": { + "type": "object", "required": [ "blobEndpoint", "protectedAccountKeyName", @@ -1208,6 +1254,7 @@ ] }, "EndpointRangeDescription": { + "type": "object", "required": [ "endPort", "startPort" @@ -1215,16 +1262,19 @@ "properties": { "startPort": { "type": "integer", + "format": "int32", "description": "Starting port of a range of ports" }, "endPort": { "type": "integer", + "format": "int32", "description": "End port of a range of ports" } }, "description": "Port range details" }, "NodeTypeDescription": { + "type": "object", "required": [ "clientConnectionEndpointPort", "httpGatewayEndpointPort", @@ -1255,10 +1305,12 @@ }, "clientConnectionEndpointPort": { "type": "integer", + "format": "int32", "description": "The TCP cluster management endpoint port." }, "httpGatewayEndpointPort": { "type": "integer", + "format": "int32", "description": "The HTTP cluster management endpoint port." }, "durabilityLevel": { @@ -1279,18 +1331,21 @@ }, "vmInstanceCount": { "type": "integer", + "format": "int32", "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.", "minimum": 1, "maximum": 2147483647 }, "reverseProxyEndpointPort": { "type": "integer", + "format": "int32", "description": "The endpoint used by reverse proxy." } }, "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1308,6 +1363,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1344,6 +1400,7 @@ ] }, "Resource": { + "type": "object", "required": [ "location" ], @@ -1391,6 +1448,7 @@ "x-ms-azure-resource": true }, "ServerCertificateCommonName": { + "type": "object", "description": "Describes the server certificate details using common name.", "required": [ "certificateCommonName", @@ -1408,6 +1466,7 @@ } }, "ServerCertificateCommonNames": { + "type": "object", "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.", "properties": { "commonNames": { @@ -1429,6 +1488,7 @@ "properties": { "maxPercentDeltaUnhealthyServices": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -1444,6 +1504,7 @@ } }, "SettingsParameterDescription": { + "type": "object", "required": [ "name", "value" @@ -1461,6 +1522,7 @@ "description": "Describes a parameter in fabric settings of the cluster." }, "SettingsSectionDescription": { + "type": "object", "required": [ "name", "parameters" @@ -1495,6 +1557,7 @@ ] }, "UpgradableVersionPathResult": { + "type": "object", "properties": { "supportedPath": { "type": "array", @@ -1507,6 +1570,7 @@ "description": "The list of intermediate cluster code versions for an upgrade or downgrade. Or minimum and maximum upgradable version if no target was given" }, "UpgradableVersionsDescription": { + "type": "object", "required": [ "targetVersion" ], @@ -1526,6 +1590,7 @@ ] }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -1535,6 +1600,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -1553,6 +1619,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/application.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/application.json index 33669cae7b5a..1c41c2d6be1b 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/application.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/application.json @@ -1010,6 +1010,7 @@ } }, "ApplicationResource": { + "type": "object", "description": "The application resource.", "properties": { "identity": { @@ -1029,6 +1030,7 @@ ] }, "ApplicationResourceList": { + "type": "object", "description": "The list of application resources.", "properties": { "value": { @@ -1045,6 +1047,7 @@ } }, "ApplicationResourceProperties": { + "type": "object", "description": "The application resource properties.", "allOf": [ { @@ -1064,6 +1067,7 @@ } }, "ApplicationResourceUpdate": { + "type": "object", "description": "The application resource for patch operations.", "properties": { "properties": { @@ -1079,6 +1083,7 @@ ] }, "ApplicationResourceUpdateProperties": { + "type": "object", "description": "The application resource properties for patch operations.", "properties": { "typeVersion": { @@ -1135,6 +1140,7 @@ } }, "ApplicationTypeResource": { + "type": "object", "description": "The application type name resource", "properties": { "properties": { @@ -1150,6 +1156,7 @@ ] }, "ApplicationTypeResourceList": { + "type": "object", "description": "The list of application type names.", "properties": { "value": { @@ -1166,6 +1173,7 @@ } }, "ApplicationTypeResourceProperties": { + "type": "object", "description": "The application type name properties", "properties": { "provisioningState": { @@ -1180,6 +1188,7 @@ "description": "The version of the application type as defined in the application manifest." }, "ApplicationTypeVersionResource": { + "type": "object", "description": "An application type version resource for the specified application type name resource.", "properties": { "properties": { @@ -1195,6 +1204,7 @@ ] }, "ApplicationTypeVersionResourceList": { + "type": "object", "description": "The list of application type version resources for the specified application type name resource.", "properties": { "value": { @@ -1211,6 +1221,7 @@ } }, "ApplicationTypeVersionResourceProperties": { + "type": "object", "description": "The properties of the application type version resource.", "required": [ "appPackageUrl" @@ -1233,6 +1244,7 @@ } }, "ApplicationUpgradePolicy": { + "type": "object", "description": "Describes the policy for a monitored application upgrade.", "properties": { "upgradeReplicaSetCheckTimeout": { @@ -1254,10 +1266,15 @@ "upgradeMode": { "$ref": "#/definitions/RollingUpgradeMode", "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "recreateApplication": { + "type": "boolean", + "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." } } }, "ApplicationUserAssignedIdentity": { + "type": "object", "required": [ "name", "principalId" @@ -1284,6 +1301,7 @@ }, "maxPercentUnhealthyDeployedApplications": { "type": "integer", + "format": "int32", "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", "default": 0 }, @@ -1298,6 +1316,7 @@ } }, "ArmRollingUpgradeMonitoringPolicy": { + "type": "object", "description": "The policy used for monitoring the application upgrade", "properties": { "failureAction": { @@ -1350,6 +1369,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1357,6 +1377,7 @@ }, "maxPercentUnhealthyPartitionsPerService": { "type": "integer", + "format": "int32", "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1364,6 +1385,7 @@ }, "maxPercentUnhealthyReplicasPerPartition": { "type": "integer", + "format": "int32", "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1379,6 +1401,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -1427,6 +1450,7 @@ "default": "0" }, "ManagedIdentity": { + "type": "object", "description": "Describes the managed identities for an Azure resource.", "properties": { "principalId": { @@ -1514,6 +1538,7 @@ } }, "NamedPartitionSchemeDescription": { + "type": "object", "description": "Describes the named partition scheme of the service.", "allOf": [ { @@ -1532,6 +1557,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "names": { @@ -1544,6 +1570,7 @@ } }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1561,6 +1588,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1628,6 +1656,7 @@ } }, "ProxyResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -1799,14 +1828,17 @@ }, "primaryDefaultLoad": { "type": "integer", + "format": "int32", "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": { "type": "integer", + "format": "int32", "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." }, "defaultLoad": { "type": "integer", + "format": "int32", "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." } } @@ -1918,6 +1950,7 @@ } }, "ServiceResource": { + "type": "object", "description": "The service resource.", "properties": { "properties": { @@ -1933,6 +1966,7 @@ ] }, "ServiceResourceList": { + "type": "object", "description": "The list of service resources.", "properties": { "value": { @@ -1949,6 +1983,7 @@ } }, "ServiceResourceProperties": { + "type": "object", "description": "The service resource properties.", "allOf": [ { @@ -2006,6 +2041,7 @@ } }, "ServiceResourcePropertiesBase": { + "type": "object", "description": "The common service resource properties.", "properties": { "placementConstraints": { @@ -2031,6 +2067,7 @@ } }, "ServiceResourceUpdate": { + "type": "object", "description": "The service resource for patch operations.", "properties": { "properties": { @@ -2046,6 +2083,7 @@ ] }, "ServiceResourceUpdateProperties": { + "type": "object", "description": "The service resource properties for patch operations.", "allOf": [ { @@ -2064,6 +2102,7 @@ } }, "SingletonPartitionSchemeDescription": { + "type": "object", "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", "allOf": [ { @@ -2077,6 +2116,7 @@ "x-ms-discriminator-value": "Singleton" }, "StatefulServiceProperties": { + "type": "object", "description": "The properties of a stateful service resource.", "allOf": [ { @@ -2091,11 +2131,13 @@ }, "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2117,6 +2159,7 @@ } }, "StatefulServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateful service resource for patch operations.", "allOf": [ { @@ -2127,11 +2170,13 @@ "properties": { "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2153,6 +2198,7 @@ } }, "StatelessServiceProperties": { + "type": "object", "description": "The properties of a stateless service resource.", "allOf": [ { @@ -2163,6 +2209,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2173,6 +2220,7 @@ } }, "StatelessServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateless service resource for patch operations.", "allOf": [ { @@ -2183,6 +2231,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2193,6 +2242,7 @@ } }, "UserAssignedIdentity": { + "type": "object", "properties": { "principalId": { "type": "string", @@ -2214,6 +2264,7 @@ } }, "UniformInt64RangePartitionSchemeDescription": { + "type": "object", "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", "allOf": [ { @@ -2233,6 +2284,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "lowKey": { @@ -2256,6 +2308,7 @@ "default": "P10675199DT02H48M05.4775807S" }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -2265,6 +2318,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/cluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/cluster.json index 9ef76c65bf74..61a1b7ece2c5 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/cluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2020-03-01/cluster.json @@ -347,6 +347,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -387,6 +393,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -421,6 +433,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -458,6 +476,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -511,12 +535,14 @@ ] }, "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", "required": [ "maxUnusedVersionsToKeep" ], "properties": { "maxUnusedVersionsToKeep": { "type": "integer", + "format": "int64", "minimum": 0, "description": "Number of unused versions per application type to keep." } @@ -565,6 +591,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -586,6 +613,7 @@ "description": "Operation supported by the Service Fabric resource provider" }, "AzureActiveDirectory": { + "type": "object", "properties": { "tenantId": { "type": "string", @@ -603,6 +631,7 @@ "description": "The settings to enable AAD authentication on the cluster." }, "CertificateDescription": { + "type": "object", "required": [ "thumbprint" ], @@ -623,6 +652,7 @@ "description": "Describes the certificate details." }, "ClientCertificateCommonName": { + "type": "object", "required": [ "certificateCommonName", "isAdmin", @@ -645,6 +675,7 @@ "description": "Describes the client certificate details using common name." }, "ClientCertificateThumbprint": { + "type": "object", "required": [ "certificateThumbprint", "isAdmin" @@ -672,18 +703,19 @@ "$ref": "#/definitions/Resource" }, { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterProperties", - "description": "The cluster resource properties" - } - } + "type": "object" } - ] + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster resource properties" + } + } }, "ClusterCodeVersionsListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -699,6 +731,7 @@ "description": "The list results of the Service Fabric runtime versions." }, "ClusterCodeVersionsResult": { + "type": "object", "properties": { "id": { "type": "string", @@ -734,6 +767,7 @@ "properties": { "maxPercentUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -741,6 +775,7 @@ }, "maxPercentUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -753,6 +788,7 @@ } }, "ClusterListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -768,6 +804,7 @@ "description": "Cluster list results" }, "ClusterProperties": { + "type": "object", "required": [ "managementEndpoint", "nodeTypes" @@ -906,6 +943,7 @@ "description": "Describes the cluster resource properties." }, "ClusterPropertiesUpdateParameters": { + "type": "object", "properties": { "addOnFeatures": { "type": "array", @@ -998,6 +1036,7 @@ ] }, "ClusterUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -1015,6 +1054,7 @@ "description": "Cluster update request" }, "ClusterUpgradeDeltaHealthPolicy": { + "type": "object", "description": "Describes the delta health policies for the cluster upgrade.", "required": [ "maxPercentDeltaUnhealthyApplications", @@ -1024,18 +1064,21 @@ "properties": { "maxPercentDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentUpgradeDomainDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 }, "maxPercentDeltaUnhealthyApplications": { "type": "integer", + "format": "int32", "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", "minimum": 0, "maximum": 100 @@ -1047,6 +1090,7 @@ } }, "ClusterUpgradePolicy": { + "type": "object", "required": [ "healthCheckRetryTimeout", "healthCheckStableDuration", @@ -1097,6 +1141,7 @@ "description": "Describes the policy used when upgrading the cluster." }, "ClusterVersionDetails": { + "type": "object", "properties": { "codeVersion": { "type": "string", @@ -1114,6 +1159,7 @@ "description": "The detail of the Service Fabric runtime version result" }, "DiagnosticsStorageAccountConfig": { + "type": "object", "required": [ "blobEndpoint", "protectedAccountKeyName", @@ -1159,6 +1205,7 @@ ] }, "EndpointRangeDescription": { + "type": "object", "required": [ "endPort", "startPort" @@ -1166,16 +1213,19 @@ "properties": { "startPort": { "type": "integer", + "format": "int32", "description": "Starting port of a range of ports" }, "endPort": { "type": "integer", + "format": "int32", "description": "End port of a range of ports" } }, "description": "Port range details" }, "NodeTypeDescription": { + "type": "object", "required": [ "clientConnectionEndpointPort", "httpGatewayEndpointPort", @@ -1206,10 +1256,12 @@ }, "clientConnectionEndpointPort": { "type": "integer", + "format": "int32", "description": "The TCP cluster management endpoint port." }, "httpGatewayEndpointPort": { "type": "integer", + "format": "int32", "description": "The HTTP cluster management endpoint port." }, "durabilityLevel": { @@ -1230,18 +1282,21 @@ }, "vmInstanceCount": { "type": "integer", + "format": "int32", "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.", "minimum": 1, "maximum": 2147483647 }, "reverseProxyEndpointPort": { "type": "integer", + "format": "int32", "description": "The endpoint used by reverse proxy." } }, "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1259,6 +1314,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1291,6 +1347,7 @@ ] }, "Resource": { + "type": "object", "required": [ "location" ], @@ -1335,6 +1392,7 @@ "x-ms-azure-resource": true }, "ServerCertificateCommonName": { + "type": "object", "description": "Describes the server certificate details using common name.", "required": [ "certificateCommonName", @@ -1352,6 +1410,7 @@ } }, "ServerCertificateCommonNames": { + "type": "object", "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.", "properties": { "commonNames": { @@ -1373,6 +1432,7 @@ "properties": { "maxPercentDeltaUnhealthyServices": { "type": "integer", + "format": "int32", "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", "default": 0, "minimum": 0, @@ -1388,6 +1448,7 @@ } }, "SettingsParameterDescription": { + "type": "object", "required": [ "name", "value" @@ -1405,6 +1466,7 @@ "description": "Describes a parameter in fabric settings of the cluster." }, "SettingsSectionDescription": { + "type": "object", "required": [ "name", "parameters" @@ -1447,6 +1509,7 @@ ] }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError", @@ -1456,6 +1519,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -1474,6 +1538,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json index 1ef2c2ee94f6..20c393cfcfa4 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json @@ -508,6 +508,9 @@ }, "Put an application with maximum parameters": { "$ref": "./examples/ApplicationPutOperation_example_max.json" + }, + "Put an application with recreate option": { + "$ref": "./examples/ApplicationPutOperation_recreate_example.json" } }, "x-ms-long-running-operation": true, @@ -974,6 +977,7 @@ } }, "ApplicationResource": { + "type": "object", "description": "The application resource.", "properties": { "identity": { @@ -991,6 +995,7 @@ ] }, "ApplicationResourceList": { + "type": "object", "description": "The list of application resources.", "properties": { "value": { @@ -1007,6 +1012,7 @@ } }, "ApplicationResourceProperties": { + "type": "object", "description": "The application resource properties.", "allOf": [ { @@ -1025,6 +1031,7 @@ } }, "ApplicationResourceUpdate": { + "type": "object", "description": "The application resource for patch operations.", "properties": { "properties": { @@ -1039,6 +1046,7 @@ ] }, "ApplicationResourceUpdateProperties": { + "type": "object", "description": "The application resource properties for patch operations.", "properties": { "typeVersion": { @@ -1091,6 +1099,7 @@ } }, "ApplicationTypeResource": { + "type": "object", "description": "The application type name resource", "properties": { "properties": { @@ -1105,6 +1114,7 @@ ] }, "ApplicationTypeResourceList": { + "type": "object", "description": "The list of application type names.", "properties": { "value": { @@ -1121,6 +1131,7 @@ } }, "ApplicationTypeResourceProperties": { + "type": "object", "description": "The application type name properties", "properties": { "provisioningState": { @@ -1135,6 +1146,7 @@ "description": "The version of the application type as defined in the application manifest." }, "ApplicationTypeVersionResource": { + "type": "object", "description": "An application type version resource for the specified application type name resource.", "properties": { "properties": { @@ -1149,6 +1161,7 @@ ] }, "ApplicationTypeVersionResourceList": { + "type": "object", "description": "The list of application type version resources for the specified application type name resource.", "properties": { "value": { @@ -1165,6 +1178,7 @@ } }, "ApplicationTypeVersionResourceProperties": { + "type": "object", "description": "The properties of the application type version resource.", "required": [ "appPackageUrl" @@ -1186,6 +1200,7 @@ } }, "ApplicationUpgradePolicy": { + "type": "object", "description": "Describes the policy for a monitored application upgrade.", "properties": { "upgradeReplicaSetCheckTimeout": { @@ -1203,10 +1218,15 @@ }, "upgradeMode": { "$ref": "#/definitions/RollingUpgradeMode" + }, + "recreateApplication": { + "type": "boolean", + "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." } } }, "ApplicationUserAssignedIdentity": { + "type": "object", "required": [ "name", "principalId" @@ -1233,6 +1253,7 @@ }, "maxPercentUnhealthyDeployedApplications": { "type": "integer", + "format": "int32", "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", "default": 0 }, @@ -1247,6 +1268,7 @@ } }, "ArmRollingUpgradeMonitoringPolicy": { + "type": "object", "description": "The policy used for monitoring the application upgrade", "properties": { "failureAction": { @@ -1353,6 +1375,7 @@ "default": "0" }, "ManagedIdentity": { + "type": "object", "description": "Describes the managed identities for an Azure resource.", "properties": { "principalId": { @@ -1438,6 +1461,7 @@ } }, "NamedPartitionSchemeDescription": { + "type": "object", "description": "Describes the named partition scheme of the service.", "allOf": [ { @@ -1515,6 +1539,7 @@ } }, "ProxyResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -1810,6 +1835,7 @@ } }, "ServiceResource": { + "type": "object", "description": "The service resource.", "properties": { "properties": { @@ -1824,6 +1850,7 @@ ] }, "ServiceResourceList": { + "type": "object", "description": "The list of service resources.", "properties": { "value": { @@ -1840,6 +1867,7 @@ } }, "ServiceResourceProperties": { + "type": "object", "description": "The service resource properties.", "allOf": [ { @@ -1895,6 +1923,7 @@ } }, "ServiceResourcePropertiesBase": { + "type": "object", "description": "The common service resource properties.", "properties": { "placementConstraints": { @@ -1916,6 +1945,7 @@ } }, "ServiceResourceUpdate": { + "type": "object", "description": "The service resource for patch operations.", "properties": { "properties": { @@ -1930,6 +1960,7 @@ ] }, "ServiceResourceUpdateProperties": { + "type": "object", "description": "The service resource properties for patch operations.", "allOf": [ { @@ -1960,6 +1991,7 @@ "x-ms-discriminator-value": "Singleton" }, "StatefulServiceProperties": { + "type": "object", "description": "The properties of a stateful service resource.", "allOf": [ { @@ -2002,6 +2034,7 @@ } }, "StatefulServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateful service resource for patch operations.", "allOf": [ { @@ -2040,6 +2073,7 @@ } }, "StatelessServiceProperties": { + "type": "object", "description": "The properties of a stateless service resource.", "allOf": [ { @@ -2061,6 +2095,7 @@ } }, "StatelessServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateless service resource for patch operations.", "allOf": [ { @@ -2082,6 +2117,7 @@ } }, "UserAssignedIdentity": { + "type": "object", "properties": { "principalId": { "type": "string", @@ -2103,6 +2139,7 @@ } }, "UniformInt64RangePartitionSchemeDescription": { + "type": "object", "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", "allOf": [ { @@ -2146,6 +2183,7 @@ "default": "P10675199DT02H48M05.4775807S" }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError" @@ -2154,6 +2192,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json index a33484304b5d..7f1b23b655c0 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json @@ -347,6 +347,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -387,6 +393,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -421,6 +433,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -458,6 +476,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -1207,6 +1231,7 @@ "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0." }, "ClusterUpgradePolicy": { + "type": "object", "required": [ "healthCheckRetryTimeout", "healthCheckStableDuration", @@ -1257,6 +1282,7 @@ "description": "Describes the policy used when upgrading the cluster." }, "ClusterVersionDetails": { + "type": "object", "properties": { "codeVersion": { "type": "string", @@ -1274,6 +1300,7 @@ "description": "The detail of the Service Fabric runtime version result" }, "DiagnosticsStorageAccountConfig": { + "type": "object", "required": [ "blobEndpoint", "protectedAccountKeyName", @@ -1319,6 +1346,7 @@ ] }, "EndpointRangeDescription": { + "type": "object", "required": [ "endPort", "startPort" @@ -1338,6 +1366,7 @@ "description": "Port range details" }, "NodeTypeDescription": { + "type": "object", "required": [ "clientConnectionEndpointPort", "httpGatewayEndpointPort", @@ -1516,6 +1545,7 @@ "description": "Describes the notification target properties." }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1533,6 +1563,7 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -1569,6 +1600,7 @@ ] }, "Resource": { + "type": "object", "required": [ "location" ], @@ -1616,6 +1648,7 @@ "x-ms-azure-resource": true }, "ServerCertificateCommonName": { + "type": "object", "description": "Describes the server certificate details using common name.", "required": [ "certificateCommonName", @@ -1633,6 +1666,7 @@ } }, "ServerCertificateCommonNames": { + "type": "object", "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.", "properties": { "commonNames": { @@ -1669,6 +1703,7 @@ } }, "SettingsParameterDescription": { + "type": "object", "required": [ "name", "value" @@ -1686,6 +1721,7 @@ "description": "Describes a parameter in fabric settings of the cluster." }, "SettingsSectionDescription": { + "type": "object", "required": [ "name", "parameters" @@ -1812,6 +1848,7 @@ "description": "This property defines the upgrade mode for the virtual machine scale set, it is mandatory if a node type with multiple Availability Zones is added." }, "ErrorModel": { + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorModelError" @@ -1820,6 +1857,7 @@ "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -1838,6 +1876,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/examples/ApplicationPutOperation_recreate_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/examples/ApplicationPutOperation_recreate_example.json new file mode 100644 index 000000000000..ddd23d7278d1 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/examples/ApplicationPutOperation_recreate_example.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-06-01", + "parameters": { + "tags": {}, + "properties": { + "typeName": "myAppType", + "typeVersion": "1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "recreateApplication": true + } + } + } + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/9c2ce367-47ea-43de-b69e-c5a423da4557?api-version=2021-06-01" + }, + "body": { + "type": "applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApp", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502180261859\"", + "properties": { + "provisioningState": "Updating", + "typeName": "myAppType", + "typeVersion": "1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "recreateApplication": true + } + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/readme.md b/specification/servicefabric/resource-manager/readme.md index 300a20263ad7..d7f8e4e4bafc 100644 --- a/specification/servicefabric/resource-manager/readme.md +++ b/specification/servicefabric/resource-manager/readme.md @@ -77,8 +77,6 @@ These settings apply only when `--tag=package-2020-03` is specified on the comma input-file: - Microsoft.ServiceFabric/stable/2020-03-01/cluster.json - Microsoft.ServiceFabric/stable/2020-03-01/application.json -- Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json -- Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json ``` ### Tag: package-2020-12-preview