{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Azure Service Fabric Resource Provider API Client",
    "title": "ServiceFabricManagementClient",
    "version": "2018-02-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2018-02-01/cluster.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "servicefabric-cluster",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "api-version": {
      "default": "2018-02-01",
      "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2018-02-01\" for this specification.",
      "enum": [
        "2018-02-01"
      ],
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "client"
    },
    "clusterNameParameter": {
      "description": "The name of the cluster resource.",
      "in": "path",
      "name": "clusterName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "clusterVersion": {
      "description": "The cluster code version.",
      "in": "path",
      "name": "clusterVersion",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "environment": {
      "description": "The operating system of the cluster. The default means all.",
      "enum": [
        "Windows",
        "Linux"
      ],
      "in": "path",
      "name": "environment",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "locationForClusterCodeVersions": {
      "description": "The location for the cluster code versions. This is different from cluster location.",
      "in": "path",
      "name": "location",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "resourceGroupNameParameter": {
      "description": "The name of the resource group.",
      "in": "path",
      "name": "resourceGroupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "subscriptionId": {
      "description": "The customer subscription identifier.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "client"
    }
  },
  "paths": {
    "/providers/Microsoft.ServiceFabric/operations": {
      "get": {
        "description": "Get the list of available Service Fabric resource provider API operations.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "description": "The version of the Service Fabric resource provider API",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/OperationListResult"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Lists all of the available Service Fabric resource provider API operations.",
        "tags": [
          "Operations"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters": {
      "get": {
        "description": "Gets all Service Fabric cluster resources created or in the process of being created in the subscription.",
        "operationId": "Clusters_List",
        "parameters": [
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ClusterListResult"
            }
          },
          "default": {
            "description": "The detailed error response.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Gets the list of Service Fabric cluster resources created in the specified subscription.",
        "tags": [
          "Cluster"
        ],
        "x-ms-examples": {
          "List clusters": {
            "parameters": {
              "api-version": "2018-02-01",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                      "location": "eastus",
                      "name": "myCluster",
                      "properties": {
                        "addOnFeatures": [
                          "RepairManager",
                          "DnsService",
                          "BackupRestoreService",
                          "ResourceMonitorService"
                        ],
                        "availableClusterVersions": [
                          {
                            "codeVersion": "6.1.480.9494",
                            "environment": "Windows",
                            "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                          }
                        ],
                        "azureActiveDirectory": {
                          "clientApplication": "d151ad89-4bce-4ae8-b3d1-1dc79679fa75",
                          "clusterApplication": "5886372e-7bf4-4878-a497-8098aba608ae",
                          "tenantId": "6abcc6a0-8666-43f1-87b8-172cf86a9f9c"
                        },
                        "certificateCommonNames": {
                          "commonNames": [
                            {
                              "certificateCommonName": "abc.com",
                              "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                            }
                          ],
                          "x509StoreName": "My"
                        },
                        "clientCertificateCommonNames": [
                          {
                            "certificateCommonName": "abc.com",
                            "certificateIssuerThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                            "isAdmin": true
                          }
                        ],
                        "clientCertificateThumbprints": [
                          {
                            "certificateThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                            "isAdmin": false
                          }
                        ],
                        "clusterCodeVersion": "6.1.480.9494",
                        "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                        "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                        "clusterState": "WaitingForNodes",
                        "diagnosticsStorageAccountConfig": {
                          "blobEndpoint": "https://diag.blob.core.windows.net/",
                          "protectedAccountKeyName": "StorageAccountKey1",
                          "queueEndpoint": "https://diag.queue.core.windows.net/",
                          "storageAccountName": "diag",
                          "tableEndpoint": "https://diag.table.core.windows.net/"
                        },
                        "fabricSettings": [
                          {
                            "name": "UpgradeService",
                            "parameters": [
                              {
                                "name": "AppPollIntervalInSeconds",
                                "value": "60"
                              }
                            ]
                          }
                        ],
                        "managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
                        "nodeTypes": [
                          {
                            "applicationPorts": {
                              "endPort": 30000,
                              "startPort": 20000
                            },
                            "clientConnectionEndpointPort": 19000,
                            "durabilityLevel": "Bronze",
                            "ephemeralPorts": {
                              "endPort": 64000,
                              "startPort": 49000
                            },
                            "httpGatewayEndpointPort": 19007,
                            "isPrimary": true,
                            "name": "nt1vm",
                            "vmInstanceCount": 5
                          }
                        ],
                        "provisioningState": "Succeeded",
                        "reliabilityLevel": "Silver",
                        "reverseProxyCertificateCommonNames": {
                          "commonNames": [
                            {
                              "certificateCommonName": "abc.com",
                              "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                            }
                          ],
                          "x509StoreName": "My"
                        },
                        "upgradeDescription": {
                          "deltaHealthPolicy": {
                            "applicationDeltaHealthPolicies": {
                              "fabric:/myApp1": {
                                "defaultServiceTypeDeltaHealthPolicy": {
                                  "maxPercentDeltaUnhealthyServices": 0
                                },
                                "serviceTypeDeltaHealthPolicies": {
                                  "myServiceType1": {
                                    "maxPercentDeltaUnhealthyServices": 0
                                  }
                                }
                              }
                            },
                            "maxPercentDeltaUnhealthyApplications": 0,
                            "maxPercentDeltaUnhealthyNodes": 0,
                            "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                          },
                          "forceRestart": false,
                          "healthCheckRetryTimeout": "00:05:00",
                          "healthCheckStableDuration": "00:00:30",
                          "healthCheckWaitDuration": "00:00:30",
                          "healthPolicy": {
                            "applicationHealthPolicies": {
                              "fabric:/myApp1": {
                                "defaultServiceTypeHealthPolicy": {
                                  "maxPercentUnhealthyServices": 0
                                },
                                "serviceTypeHealthPolicies": {
                                  "myServiceType1": {
                                    "maxPercentUnhealthyServices": 100
                                  }
                                }
                              }
                            },
                            "maxPercentUnhealthyApplications": 0,
                            "maxPercentUnhealthyNodes": 0
                          },
                          "upgradeDomainTimeout": "00:15:00",
                          "upgradeReplicaSetCheckTimeout": "00:10:00",
                          "upgradeTimeout": "01:00:00"
                        },
                        "upgradeMode": "Manual",
                        "vmImage": "Windows"
                      },
                      "tags": {},
                      "type": "Microsoft.ServiceFabric/clusters"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster2",
                      "location": "eastus",
                      "name": "myCluster2",
                      "properties": {
                        "addOnFeatures": [
                          "RepairManager"
                        ],
                        "availableClusterVersions": [
                          {
                            "codeVersion": "6.1.187.1",
                            "environment": "Linux",
                            "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                          }
                        ],
                        "clientCertificateCommonNames": [],
                        "clientCertificateThumbprints": [],
                        "clusterCodeVersion": "6.1.187.1",
                        "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                        "clusterId": "2747e469-b24e-4039-8a0a-46151419523f",
                        "clusterState": "WaitingForNodes",
                        "diagnosticsStorageAccountConfig": {
                          "blobEndpoint": "https://diag.blob.core.windows.net/",
                          "protectedAccountKeyName": "StorageAccountKey1",
                          "queueEndpoint": "https://diag.queue.core.windows.net/",
                          "storageAccountName": "diag",
                          "tableEndpoint": "https://diag.table.core.windows.net/"
                        },
                        "fabricSettings": [
                          {
                            "name": "UpgradeService",
                            "parameters": [
                              {
                                "name": "AppPollIntervalInSeconds",
                                "value": "60"
                              }
                            ]
                          }
                        ],
                        "managementEndpoint": "http://myCluster2.eastus.cloudapp.azure.com:19080",
                        "nodeTypes": [
                          {
                            "applicationPorts": {
                              "endPort": 30000,
                              "startPort": 20000
                            },
                            "clientConnectionEndpointPort": 19000,
                            "durabilityLevel": "Bronze",
                            "ephemeralPorts": {
                              "endPort": 64000,
                              "startPort": 49000
                            },
                            "httpGatewayEndpointPort": 19007,
                            "isPrimary": true,
                            "name": "nt1vm",
                            "vmInstanceCount": 5
                          }
                        ],
                        "provisioningState": "Succeeded",
                        "reliabilityLevel": "Silver",
                        "upgradeDescription": {
                          "deltaHealthPolicy": {
                            "maxPercentDeltaUnhealthyApplications": 0,
                            "maxPercentDeltaUnhealthyNodes": 0,
                            "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                          },
                          "forceRestart": false,
                          "healthCheckRetryTimeout": "00:05:00",
                          "healthCheckStableDuration": "00:00:30",
                          "healthCheckWaitDuration": "00:00:30",
                          "healthPolicy": {
                            "maxPercentUnhealthyApplications": 0,
                            "maxPercentUnhealthyNodes": 0
                          },
                          "upgradeDomainTimeout": "00:15:00",
                          "upgradeReplicaSetCheckTimeout": "00:10:00",
                          "upgradeTimeout": "01:00:00"
                        },
                        "upgradeMode": "Manual",
                        "vmImage": "Ubuntu"
                      },
                      "tags": {},
                      "type": "Microsoft.ServiceFabric/clusters"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions": {
      "get": {
        "description": "Gets all available code versions for Service Fabric cluster resources by location.",
        "operationId": "ClusterVersions_List",
        "parameters": [
          {
            "$ref": "#/parameters/locationForClusterCodeVersions"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ClusterCodeVersionsListResult"
            }
          }
        },
        "summary": "Gets the list of Service Fabric cluster code versions available for the specified location.",
        "tags": [
          "ClusterVersion"
        ],
        "x-ms-examples": {
          "List cluster versions": {
            "parameters": {
              "api-version": "2018-02-01",
              "location": "eastus",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/clusterVersions/6.1.480.9494",
                      "name": "6.1.480.9494",
                      "properties": {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      },
                      "type": "Microsoft.ServiceFabric/locations/environments/clusterVersions"
                    },
                    {
                      "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Linux/clusterVersions/6.1.187.1",
                      "name": "6.1.187.1",
                      "properties": {
                        "codeVersion": "6.1.187.1",
                        "environment": "Linux",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      },
                      "type": "Microsoft.ServiceFabric/locations/environments/clusterVersions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}": {
      "get": {
        "description": "Gets information about an available Service Fabric cluster code version.",
        "operationId": "ClusterVersions_Get",
        "parameters": [
          {
            "$ref": "#/parameters/locationForClusterCodeVersions"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/clusterVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ClusterCodeVersionsListResult"
            }
          }
        },
        "summary": "Gets information about a Service Fabric cluster code version available in the specified location.",
        "tags": [
          "ClusterVersion"
        ],
        "x-ms-examples": {
          "Get cluster version": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterVersion": "6.1.480.9494",
              "location": "eastus",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/clusterVersions/6.1.480.9494",
                      "name": "6.1.480.9494",
                      "properties": {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      },
                      "type": "Microsoft.ServiceFabric/locations/environments/clusterVersions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions": {
      "get": {
        "description": "Gets all available code versions for Service Fabric cluster resources by environment.",
        "operationId": "ClusterVersions_ListByEnvironment",
        "parameters": [
          {
            "$ref": "#/parameters/locationForClusterCodeVersions"
          },
          {
            "$ref": "#/parameters/environment"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ClusterCodeVersionsListResult"
            }
          }
        },
        "summary": "Gets the list of Service Fabric cluster code versions available for the specified environment.",
        "tags": [
          "ClusterVersion"
        ],
        "x-ms-examples": {
          "List cluster versions by environment": {
            "parameters": {
              "api-version": "2018-02-01",
              "environment": "Windows",
              "location": "eastus",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/clusterVersions/6.1.480.9494",
                      "name": "6.1.480.9494",
                      "properties": {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      },
                      "type": "Microsoft.ServiceFabric/locations/environments/clusterVersions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}": {
      "get": {
        "description": "Gets information about an available Service Fabric cluster code version by environment.",
        "operationId": "ClusterVersions_GetByEnvironment",
        "parameters": [
          {
            "$ref": "#/parameters/locationForClusterCodeVersions"
          },
          {
            "$ref": "#/parameters/environment"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/clusterVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ClusterCodeVersionsListResult"
            }
          }
        },
        "summary": "Gets information about a Service Fabric cluster code version available for the specified environment.",
        "tags": [
          "ClusterVersion"
        ],
        "x-ms-examples": {
          "Get cluster version by environment": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterVersion": "6.1.480.9494",
              "environment": "Windows",
              "location": "eastus",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/clusterVersions/6.1.480.9494",
                      "name": "6.1.480.9494",
                      "properties": {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      },
                      "type": "Microsoft.ServiceFabric/locations/environments/clusterVersions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}": {
      "delete": {
        "description": "Delete a Service Fabric cluster resource with the specified name.",
        "operationId": "Clusters_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/clusterNameParameter"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully."
          },
          "204": {
            "description": "The resource was not found."
          },
          "default": {
            "description": "The detailed error response.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Deletes a Service Fabric cluster resource.",
        "tags": [
          "Cluster"
        ],
        "x-ms-examples": {
          "Delete a cluster": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterName": "myCluster",
              "resourceGroupName": "resRg",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "headers": {}
              },
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get a Service Fabric cluster resource created or in the process of being created in the specified resource group.",
        "operationId": "Clusters_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/clusterNameParameter"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/Cluster"
            }
          },
          "default": {
            "description": "The detailed error response.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Gets a Service Fabric cluster resource.",
        "tags": [
          "Cluster"
        ],
        "x-ms-examples": {
          "Get a cluster": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterName": "myCluster",
              "resourceGroupName": "resRg",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "addOnFeatures": [
                      "RepairManager",
                      "DnsService",
                      "BackupRestoreService",
                      "ResourceMonitorService"
                    ],
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "azureActiveDirectory": {
                      "clientApplication": "d151ad89-4bce-4ae8-b3d1-1dc79679fa75",
                      "clusterApplication": "5886372e-7bf4-4878-a497-8098aba608ae",
                      "tenantId": "6abcc6a0-8666-43f1-87b8-172cf86a9f9c"
                    },
                    "certificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "clientCertificateCommonNames": [
                      {
                        "certificateCommonName": "abc.com",
                        "certificateIssuerThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                        "isAdmin": true
                      }
                    ],
                    "clientCertificateThumbprints": [
                      {
                        "certificateThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                        "isAdmin": true
                      }
                    ],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Silver",
                    "reverseProxyCertificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "applicationDeltaHealthPolicies": {
                          "fabric:/myApp1": {
                            "defaultServiceTypeDeltaHealthPolicy": {
                              "maxPercentDeltaUnhealthyServices": 0
                            },
                            "serviceTypeDeltaHealthPolicies": {
                              "myServiceType1": {
                                "maxPercentDeltaUnhealthyServices": 0
                              }
                            }
                          }
                        },
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": false,
                      "healthCheckRetryTimeout": "00:05:00",
                      "healthCheckStableDuration": "00:00:30",
                      "healthCheckWaitDuration": "00:00:30",
                      "healthPolicy": {
                        "applicationHealthPolicies": {
                          "fabric:/myApp1": {
                            "defaultServiceTypeHealthPolicy": {
                              "maxPercentUnhealthyServices": 0
                            },
                            "serviceTypeHealthPolicies": {
                              "myServiceType1": {
                                "maxPercentUnhealthyServices": 100
                              }
                            }
                          }
                        },
                        "maxPercentUnhealthyApplications": 0,
                        "maxPercentUnhealthyNodes": 0
                      },
                      "upgradeDomainTimeout": "00:15:00",
                      "upgradeReplicaSetCheckTimeout": "00:10:00",
                      "upgradeTimeout": "01:00:00"
                    },
                    "upgradeMode": "Manual",
                    "vmImage": "Windows"
                  },
                  "tags": {},
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {}
              }
            }
          }
        }
      },
      "patch": {
        "description": "Update the configuration of a Service Fabric cluster resource with the specified name.",
        "operationId": "Clusters_Update",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/clusterNameParameter"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The parameters which contains the property value and property name which used to update the cluster configuration.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClusterUpdateParameters"
            },
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/Cluster"
            }
          },
          "202": {
            "description": "The request was accepted and the operation will complete asynchronously.",
            "schema": {
              "$ref": "#/definitions/Cluster"
            }
          },
          "default": {
            "description": "The detailed error response.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Updates the configuration of a Service Fabric cluster resource.",
        "tags": [
          "Cluster"
        ],
        "x-ms-examples": {
          "Patch a cluster": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterName": "myCluster",
              "parameters": {
                "properties": {
                  "nodeTypes": [
                    {
                      "applicationPorts": {
                        "endPort": 30000,
                        "startPort": 20000
                      },
                      "clientConnectionEndpointPort": 19000,
                      "durabilityLevel": "Bronze",
                      "ephemeralPorts": {
                        "endPort": 64000,
                        "startPort": 49000
                      },
                      "httpGatewayEndpointPort": 19007,
                      "isPrimary": true,
                      "name": "nt1vm",
                      "vmInstanceCount": 5
                    },
                    {
                      "applicationPorts": {
                        "endPort": 2000,
                        "startPort": 1000
                      },
                      "clientConnectionEndpointPort": 0,
                      "durabilityLevel": "Bronze",
                      "ephemeralPorts": {
                        "endPort": 4000,
                        "startPort": 3000
                      },
                      "httpGatewayEndpointPort": 0,
                      "isPrimary": false,
                      "name": "testnt1",
                      "vmInstanceCount": 3
                    }
                  ],
                  "reliabilityLevel": "Bronze"
                },
                "tags": {
                  "a": "b"
                }
              },
              "resourceGroupName": "resRg",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "certificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "clientCertificateCommonNames": [],
                    "clientCertificateThumbprints": [],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "http://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      },
                      {
                        "applicationPorts": {
                          "endPort": 2000,
                          "startPort": 1000
                        },
                        "clientConnectionEndpointPort": 0,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 4000,
                          "startPort": 3000
                        },
                        "httpGatewayEndpointPort": 0,
                        "isPrimary": false,
                        "name": "testnt1",
                        "vmInstanceCount": 3
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Bronze",
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": false,
                      "healthCheckRetryTimeout": "00:05:00",
                      "healthCheckStableDuration": "00:00:30",
                      "healthCheckWaitDuration": "00:00:30",
                      "healthPolicy": {
                        "maxPercentUnhealthyApplications": 0,
                        "maxPercentUnhealthyNodes": 0
                      },
                      "upgradeDomainTimeout": "00:15:00",
                      "upgradeReplicaSetCheckTimeout": "00:10:00",
                      "upgradeTimeout": "01:00:00"
                    },
                    "upgradeMode": "Automatic"
                  },
                  "tags": {
                    "a": "b"
                  },
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {
                  "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2018-02-01",
                  "Retry-After": "10"
                }
              },
              "202": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "certificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "clientCertificateCommonNames": [],
                    "clientCertificateThumbprints": [],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "http://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      },
                      {
                        "applicationPorts": {
                          "endPort": 2000,
                          "startPort": 1000
                        },
                        "clientConnectionEndpointPort": 0,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 4000,
                          "startPort": 3000
                        },
                        "httpGatewayEndpointPort": 0,
                        "isPrimary": false,
                        "name": "testnt1",
                        "vmInstanceCount": 3
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Bronze",
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": false,
                      "healthCheckRetryTimeout": "00:05:00",
                      "healthCheckStableDuration": "00:00:30",
                      "healthCheckWaitDuration": "00:00:30",
                      "healthPolicy": {
                        "maxPercentUnhealthyApplications": 0,
                        "maxPercentUnhealthyNodes": 0
                      },
                      "upgradeDomainTimeout": "00:15:00",
                      "upgradeReplicaSetCheckTimeout": "00:10:00",
                      "upgradeTimeout": "01:00:00"
                    },
                    "upgradeMode": "Automatic"
                  },
                  "tags": {
                    "a": "b"
                  },
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {
                  "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2018-02-01",
                  "Retry-After": "10"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "Create or update a Service Fabric cluster resource with the specified name.",
        "operationId": "Clusters_Create",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/clusterNameParameter"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The cluster resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Cluster"
            },
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/Cluster"
            }
          },
          "202": {
            "description": "The request was accepted and the operation will complete asynchronously.",
            "schema": {
              "$ref": "#/definitions/Cluster"
            }
          },
          "default": {
            "description": "The detailed error response.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Creates or updates a Service Fabric cluster resource.",
        "tags": [
          "Cluster"
        ],
        "x-ms-examples": {
          "Put a cluster with maximum parameters": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterName": "myCluster",
              "parameters": {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                "location": "eastus",
                "name": "myCluster",
                "properties": {
                  "addOnFeatures": [
                    "RepairManager",
                    "DnsService",
                    "BackupRestoreService",
                    "ResourceMonitorService"
                  ],
                  "azureActiveDirectory": {
                    "clientApplication": "d151ad89-4bce-4ae8-b3d1-1dc79679fa75",
                    "clusterApplication": "5886372e-7bf4-4878-a497-8098aba608ae",
                    "tenantId": "6abcc6a0-8666-43f1-87b8-172cf86a9f9c"
                  },
                  "certificateCommonNames": {
                    "commonNames": [
                      {
                        "certificateCommonName": "abc.com",
                        "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                      }
                    ],
                    "x509StoreName": "My"
                  },
                  "clientCertificateCommonNames": [
                    {
                      "certificateCommonName": "abc.com",
                      "certificateIssuerThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                      "isAdmin": true
                    }
                  ],
                  "clientCertificateThumbprints": [
                    {
                      "certificateThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                      "isAdmin": true
                    }
                  ],
                  "clusterCodeVersion": "6.1.480.9494",
                  "diagnosticsStorageAccountConfig": {
                    "blobEndpoint": "https://diag.blob.core.windows.net/",
                    "protectedAccountKeyName": "StorageAccountKey1",
                    "queueEndpoint": "https://diag.queue.core.windows.net/",
                    "storageAccountName": "diag",
                    "tableEndpoint": "https://diag.table.core.windows.net/"
                  },
                  "fabricSettings": [
                    {
                      "name": "UpgradeService",
                      "parameters": [
                        {
                          "name": "AppPollIntervalInSeconds",
                          "value": "60"
                        }
                      ]
                    }
                  ],
                  "managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
                  "nodeTypes": [
                    {
                      "applicationPorts": {
                        "endPort": 30000,
                        "startPort": 20000
                      },
                      "clientConnectionEndpointPort": 19000,
                      "durabilityLevel": "Bronze",
                      "ephemeralPorts": {
                        "endPort": 64000,
                        "startPort": 49000
                      },
                      "httpGatewayEndpointPort": 19007,
                      "isPrimary": true,
                      "name": "nt1vm",
                      "vmInstanceCount": 5
                    }
                  ],
                  "reliabilityLevel": "Silver",
                  "reverseProxyCertificateCommonNames": {
                    "commonNames": [
                      {
                        "certificateCommonName": "abc.com",
                        "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                      }
                    ],
                    "x509StoreName": "My"
                  },
                  "upgradeDescription": {
                    "deltaHealthPolicy": {
                      "applicationDeltaHealthPolicies": {
                        "fabric:/myApp1": {
                          "defaultServiceTypeDeltaHealthPolicy": {
                            "maxPercentDeltaUnhealthyServices": 0
                          },
                          "serviceTypeDeltaHealthPolicies": {
                            "myServiceType1": {
                              "maxPercentDeltaUnhealthyServices": 0
                            }
                          }
                        }
                      },
                      "maxPercentDeltaUnhealthyApplications": 0,
                      "maxPercentDeltaUnhealthyNodes": 0,
                      "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                    },
                    "forceRestart": false,
                    "healthCheckRetryTimeout": "00:05:00",
                    "healthCheckStableDuration": "00:00:30",
                    "healthCheckWaitDuration": "00:00:30",
                    "healthPolicy": {
                      "applicationHealthPolicies": {
                        "fabric:/myApp1": {
                          "defaultServiceTypeHealthPolicy": {
                            "maxPercentUnhealthyServices": 0
                          },
                          "serviceTypeHealthPolicies": {
                            "myServiceType1": {
                              "maxPercentUnhealthyServices": 100
                            }
                          }
                        }
                      },
                      "maxPercentUnhealthyApplications": 0,
                      "maxPercentUnhealthyNodes": 0
                    },
                    "upgradeDomainTimeout": "00:15:00",
                    "upgradeReplicaSetCheckTimeout": "00:10:00",
                    "upgradeTimeout": "01:00:00"
                  },
                  "upgradeMode": "Manual",
                  "vmImage": "Windows"
                },
                "tags": {},
                "type": "Microsoft.ServiceFabric/clusters"
              },
              "resourceGroupName": "resRg",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "addOnFeatures": [
                      "RepairManager",
                      "DnsService",
                      "BackupRestoreService",
                      "ResourceMonitorService"
                    ],
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "azureActiveDirectory": {
                      "clientApplication": "d151ad89-4bce-4ae8-b3d1-1dc79679fa75",
                      "clusterApplication": "5886372e-7bf4-4878-a497-8098aba608ae",
                      "tenantId": "6abcc6a0-8666-43f1-87b8-172cf86a9f9c"
                    },
                    "certificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "clientCertificateCommonNames": [
                      {
                        "certificateCommonName": "abc.com",
                        "certificateIssuerThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                        "isAdmin": true
                      }
                    ],
                    "clientCertificateThumbprints": [
                      {
                        "certificateThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                        "isAdmin": false
                      }
                    ],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Silver",
                    "reverseProxyCertificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "applicationDeltaHealthPolicies": {
                          "fabric:/myApp1": {
                            "defaultServiceTypeDeltaHealthPolicy": {
                              "maxPercentDeltaUnhealthyServices": 0
                            },
                            "serviceTypeDeltaHealthPolicies": {
                              "myServiceType1": {
                                "maxPercentDeltaUnhealthyServices": 0
                              }
                            }
                          }
                        },
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": true,
                      "healthCheckRetryTimeout": "00:05:00",
                      "healthCheckStableDuration": "00:00:30",
                      "healthCheckWaitDuration": "00:00:30",
                      "healthPolicy": {
                        "applicationHealthPolicies": {
                          "fabric:/myApp1": {
                            "defaultServiceTypeHealthPolicy": {
                              "maxPercentUnhealthyServices": 0
                            },
                            "serviceTypeHealthPolicies": {
                              "myServiceType1": {
                                "maxPercentUnhealthyServices": 100
                              }
                            }
                          }
                        },
                        "maxPercentUnhealthyApplications": 0,
                        "maxPercentUnhealthyNodes": 0
                      },
                      "upgradeDomainTimeout": "00:15:00",
                      "upgradeReplicaSetCheckTimeout": "00:10:00",
                      "upgradeTimeout": "00:15:00"
                    },
                    "upgradeMode": "Manual",
                    "vmImage": "Windows"
                  },
                  "tags": {},
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {
                  "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/4b5f6709-bc12-4365-8df3-894984b2a221?api-version=2018-02-01",
                  "Retry-After": "10"
                }
              },
              "202": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "addOnFeatures": [
                      "RepairManager",
                      "DnsService",
                      "BackupRestoreService",
                      "ResourceMonitorService"
                    ],
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "azureActiveDirectory": {
                      "clientApplication": "d151ad89-4bce-4ae8-b3d1-1dc79679fa75",
                      "clusterApplication": "5886372e-7bf4-4878-a497-8098aba608ae",
                      "tenantId": "6abcc6a0-8666-43f1-87b8-172cf86a9f9c"
                    },
                    "certificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "clientCertificateCommonNames": [
                      {
                        "certificateCommonName": "abc.com",
                        "certificateIssuerThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                        "isAdmin": true
                      }
                    ],
                    "clientCertificateThumbprints": [
                      {
                        "certificateThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                        "isAdmin": false
                      }
                    ],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Silver",
                    "reverseProxyCertificateCommonNames": {
                      "commonNames": [
                        {
                          "certificateCommonName": "abc.com",
                          "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                        }
                      ],
                      "x509StoreName": "My"
                    },
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "applicationDeltaHealthPolicies": {
                          "fabric:/myApp1": {
                            "defaultServiceTypeDeltaHealthPolicy": {
                              "maxPercentDeltaUnhealthyServices": 0
                            },
                            "serviceTypeDeltaHealthPolicies": {
                              "myServiceType1": {
                                "maxPercentDeltaUnhealthyServices": 0
                              }
                            }
                          }
                        },
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": true,
                      "healthCheckRetryTimeout": "00:05:00",
                      "healthCheckStableDuration": "00:00:30",
                      "healthCheckWaitDuration": "00:00:30",
                      "healthPolicy": {
                        "applicationHealthPolicies": {
                          "fabric:/myApp1": {
                            "defaultServiceTypeHealthPolicy": {
                              "maxPercentUnhealthyServices": 0
                            },
                            "serviceTypeHealthPolicies": {
                              "myServiceType1": {
                                "maxPercentUnhealthyServices": 100
                              }
                            }
                          }
                        },
                        "maxPercentUnhealthyApplications": 0,
                        "maxPercentUnhealthyNodes": 0
                      },
                      "upgradeDomainTimeout": "00:15:00",
                      "upgradeReplicaSetCheckTimeout": "00:10:00",
                      "upgradeTimeout": "00:15:00"
                    },
                    "upgradeMode": "Manual",
                    "vmImage": "Windows"
                  },
                  "tags": {},
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {
                  "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/4b5f6709-bc12-4365-8df3-894984b2a221?api-version=2018-02-01",
                  "Retry-After": "10"
                }
              }
            }
          },
          "Put a cluster with minimum parameters": {
            "parameters": {
              "api-version": "2018-02-01",
              "clusterName": "myCluster",
              "parameters": {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                "location": "eastus",
                "name": "myCluster",
                "properties": {
                  "diagnosticsStorageAccountConfig": {
                    "blobEndpoint": "https://diag.blob.core.windows.net/",
                    "protectedAccountKeyName": "StorageAccountKey1",
                    "queueEndpoint": "https://diag.queue.core.windows.net/",
                    "storageAccountName": "diag",
                    "tableEndpoint": "https://diag.table.core.windows.net/"
                  },
                  "fabricSettings": [
                    {
                      "name": "UpgradeService",
                      "parameters": [
                        {
                          "name": "AppPollIntervalInSeconds",
                          "value": "60"
                        }
                      ]
                    }
                  ],
                  "managementEndpoint": "http://myCluster.eastus.cloudapp.azure.com:19080",
                  "nodeTypes": [
                    {
                      "applicationPorts": {
                        "endPort": 30000,
                        "startPort": 20000
                      },
                      "clientConnectionEndpointPort": 19000,
                      "durabilityLevel": "Bronze",
                      "ephemeralPorts": {
                        "endPort": 64000,
                        "startPort": 49000
                      },
                      "httpGatewayEndpointPort": 19007,
                      "isPrimary": true,
                      "name": "nt1vm",
                      "vmInstanceCount": 5
                    }
                  ],
                  "reliabilityLevel": "Silver",
                  "upgradeMode": "Automatic"
                },
                "tags": {},
                "type": "Microsoft.ServiceFabric/clusters"
              },
              "resourceGroupName": "resRg",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "clientCertificateCommonNames": [],
                    "clientCertificateThumbprints": [],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "http://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Silver",
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": false,
                      "healthCheckRetryTimeout": "00:45:00",
                      "healthCheckStableDuration": "00:05:00",
                      "healthCheckWaitDuration": "00:05:00",
                      "healthPolicy": {
                        "maxPercentUnhealthyApplications": 100,
                        "maxPercentUnhealthyNodes": 100
                      },
                      "upgradeDomainTimeout": "02:00:00",
                      "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807",
                      "upgradeTimeout": "12:00:00"
                    },
                    "upgradeMode": "Automatic"
                  },
                  "tags": {},
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {}
              },
              "202": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                  "location": "eastus",
                  "name": "myCluster",
                  "properties": {
                    "availableClusterVersions": [
                      {
                        "codeVersion": "6.1.480.9494",
                        "environment": "Windows",
                        "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                      }
                    ],
                    "clientCertificateCommonNames": [],
                    "clientCertificateThumbprints": [],
                    "clusterCodeVersion": "6.1.480.9494",
                    "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                    "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                    "clusterState": "WaitingForNodes",
                    "diagnosticsStorageAccountConfig": {
                      "blobEndpoint": "https://diag.blob.core.windows.net/",
                      "protectedAccountKeyName": "StorageAccountKey1",
                      "queueEndpoint": "https://diag.queue.core.windows.net/",
                      "storageAccountName": "diag",
                      "tableEndpoint": "https://diag.table.core.windows.net/"
                    },
                    "fabricSettings": [
                      {
                        "name": "UpgradeService",
                        "parameters": [
                          {
                            "name": "AppPollIntervalInSeconds",
                            "value": "60"
                          }
                        ]
                      }
                    ],
                    "managementEndpoint": "http://myCluster.eastus.cloudapp.azure.com:19080",
                    "nodeTypes": [
                      {
                        "applicationPorts": {
                          "endPort": 30000,
                          "startPort": 20000
                        },
                        "clientConnectionEndpointPort": 19000,
                        "durabilityLevel": "Bronze",
                        "ephemeralPorts": {
                          "endPort": 64000,
                          "startPort": 49000
                        },
                        "httpGatewayEndpointPort": 19007,
                        "isPrimary": true,
                        "name": "nt1vm",
                        "vmInstanceCount": 5
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "reliabilityLevel": "Silver",
                    "upgradeDescription": {
                      "deltaHealthPolicy": {
                        "maxPercentDeltaUnhealthyApplications": 0,
                        "maxPercentDeltaUnhealthyNodes": 0,
                        "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                      },
                      "forceRestart": false,
                      "healthCheckRetryTimeout": "00:45:00",
                      "healthCheckStableDuration": "00:05:00",
                      "healthCheckWaitDuration": "00:05:00",
                      "healthPolicy": {
                        "maxPercentUnhealthyApplications": 100,
                        "maxPercentUnhealthyNodes": 100
                      },
                      "upgradeDomainTimeout": "02:00:00",
                      "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807",
                      "upgradeTimeout": "12:00:00"
                    },
                    "upgradeMode": "Automatic"
                  },
                  "tags": {},
                  "type": "Microsoft.ServiceFabric/clusters"
                },
                "headers": {}
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters": {
      "get": {
        "description": "Gets all Service Fabric cluster resources created or in the process of being created in the resource group.",
        "operationId": "Clusters_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ClusterListResult"
            }
          },
          "default": {
            "description": "The detailed error response.",
            "schema": {
              "$ref": "#/definitions/ErrorModel"
            }
          }
        },
        "summary": "Gets the list of Service Fabric cluster resources created in the specified resource group.",
        "tags": [
          "Cluster"
        ],
        "x-ms-examples": {
          "List cluster by resource group": {
            "parameters": {
              "api-version": "2018-02-01",
              "resourceGroupName": "resRg",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster",
                      "location": "eastus",
                      "name": "myCluster",
                      "properties": {
                        "addOnFeatures": [
                          "RepairManager",
                          "DnsService",
                          "BackupRestoreService",
                          "ResourceMonitorService"
                        ],
                        "availableClusterVersions": [
                          {
                            "codeVersion": "6.1.480.9494",
                            "environment": "Windows",
                            "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                          }
                        ],
                        "azureActiveDirectory": {
                          "clientApplication": "d151ad89-4bce-4ae8-b3d1-1dc79679fa75",
                          "clusterApplication": "5886372e-7bf4-4878-a497-8098aba608ae",
                          "tenantId": "6abcc6a0-8666-43f1-87b8-172cf86a9f9c"
                        },
                        "certificateCommonNames": {
                          "commonNames": [
                            {
                              "certificateCommonName": "abc.com",
                              "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                            }
                          ],
                          "x509StoreName": "My"
                        },
                        "clientCertificateCommonNames": [
                          {
                            "certificateCommonName": "abc.com",
                            "certificateIssuerThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                            "isAdmin": true
                          }
                        ],
                        "clientCertificateThumbprints": [
                          {
                            "certificateThumbprint": "5F3660C715EBBDA31DB1FFDCF508302348DE8E7A",
                            "isAdmin": false
                          }
                        ],
                        "clusterCodeVersion": "6.1.480.9494",
                        "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                        "clusterId": "92584666-9889-4ae8-8d02-91902923d37f",
                        "clusterState": "WaitingForNodes",
                        "diagnosticsStorageAccountConfig": {
                          "blobEndpoint": "https://diag.blob.core.windows.net/",
                          "protectedAccountKeyName": "StorageAccountKey1",
                          "queueEndpoint": "https://diag.queue.core.windows.net/",
                          "storageAccountName": "diag",
                          "tableEndpoint": "https://diag.table.core.windows.net/"
                        },
                        "fabricSettings": [
                          {
                            "name": "UpgradeService",
                            "parameters": [
                              {
                                "name": "AppPollIntervalInSeconds",
                                "value": "60"
                              }
                            ]
                          }
                        ],
                        "managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
                        "nodeTypes": [
                          {
                            "applicationPorts": {
                              "endPort": 30000,
                              "startPort": 20000
                            },
                            "clientConnectionEndpointPort": 19000,
                            "durabilityLevel": "Bronze",
                            "ephemeralPorts": {
                              "endPort": 64000,
                              "startPort": 49000
                            },
                            "httpGatewayEndpointPort": 19007,
                            "isPrimary": true,
                            "name": "nt1vm",
                            "vmInstanceCount": 5
                          }
                        ],
                        "provisioningState": "Succeeded",
                        "reliabilityLevel": "Silver",
                        "reverseProxyCertificateCommonNames": {
                          "commonNames": [
                            {
                              "certificateCommonName": "abc.com",
                              "certificateIssuerThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622"
                            }
                          ],
                          "x509StoreName": "My"
                        },
                        "upgradeDescription": {
                          "deltaHealthPolicy": {
                            "applicationDeltaHealthPolicies": {
                              "fabric:/myApp1": {
                                "defaultServiceTypeDeltaHealthPolicy": {
                                  "maxPercentDeltaUnhealthyServices": 0
                                },
                                "serviceTypeDeltaHealthPolicies": {
                                  "myServiceType1": {
                                    "maxPercentDeltaUnhealthyServices": 0
                                  }
                                }
                              }
                            },
                            "maxPercentDeltaUnhealthyApplications": 0,
                            "maxPercentDeltaUnhealthyNodes": 0,
                            "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                          },
                          "forceRestart": false,
                          "healthCheckRetryTimeout": "00:05:00",
                          "healthCheckStableDuration": "00:00:30",
                          "healthCheckWaitDuration": "00:00:30",
                          "healthPolicy": {
                            "applicationHealthPolicies": {
                              "fabric:/myApp1": {
                                "defaultServiceTypeHealthPolicy": {
                                  "maxPercentUnhealthyServices": 0
                                },
                                "serviceTypeHealthPolicies": {
                                  "myServiceType1": {
                                    "maxPercentUnhealthyServices": 100
                                  }
                                }
                              }
                            },
                            "maxPercentUnhealthyApplications": 0,
                            "maxPercentUnhealthyNodes": 0
                          },
                          "upgradeDomainTimeout": "00:15:00",
                          "upgradeReplicaSetCheckTimeout": "00:10:00",
                          "upgradeTimeout": "01:00:00"
                        },
                        "upgradeMode": "Manual",
                        "vmImage": "Windows"
                      },
                      "tags": {},
                      "type": "Microsoft.ServiceFabric/clusters"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/clusters/myCluster2",
                      "location": "eastus",
                      "name": "myCluster2",
                      "properties": {
                        "addOnFeatures": [
                          "RepairManager"
                        ],
                        "availableClusterVersions": [
                          {
                            "codeVersion": "6.1.187.1",
                            "environment": "Linux",
                            "supportExpiryUtc": "2018-06-15T23:59:59.9999999"
                          }
                        ],
                        "clientCertificateCommonNames": [],
                        "clientCertificateThumbprints": [],
                        "clusterCodeVersion": "6.1.187.1",
                        "clusterEndpoint": "https://eastus.servicefabric.azure.com",
                        "clusterId": "2747e469-b24e-4039-8a0a-46151419523f",
                        "clusterState": "WaitingForNodes",
                        "diagnosticsStorageAccountConfig": {
                          "blobEndpoint": "https://diag.blob.core.windows.net/",
                          "protectedAccountKeyName": "StorageAccountKey1",
                          "queueEndpoint": "https://diag.queue.core.windows.net/",
                          "storageAccountName": "diag",
                          "tableEndpoint": "https://diag.table.core.windows.net/"
                        },
                        "fabricSettings": [
                          {
                            "name": "UpgradeService",
                            "parameters": [
                              {
                                "name": "AppPollIntervalInSeconds",
                                "value": "60"
                              }
                            ]
                          }
                        ],
                        "managementEndpoint": "http://myCluster2.eastus.cloudapp.azure.com:19080",
                        "nodeTypes": [
                          {
                            "applicationPorts": {
                              "endPort": 30000,
                              "startPort": 20000
                            },
                            "clientConnectionEndpointPort": 19000,
                            "durabilityLevel": "Bronze",
                            "ephemeralPorts": {
                              "endPort": 64000,
                              "startPort": 49000
                            },
                            "httpGatewayEndpointPort": 19007,
                            "isPrimary": true,
                            "name": "nt1vm",
                            "vmInstanceCount": 5
                          }
                        ],
                        "provisioningState": "Succeeded",
                        "reliabilityLevel": "Silver",
                        "upgradeDescription": {
                          "deltaHealthPolicy": {
                            "maxPercentDeltaUnhealthyApplications": 0,
                            "maxPercentDeltaUnhealthyNodes": 0,
                            "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0
                          },
                          "forceRestart": false,
                          "healthCheckRetryTimeout": "00:05:00",
                          "healthCheckStableDuration": "00:00:30",
                          "healthCheckWaitDuration": "00:00:30",
                          "healthPolicy": {
                            "maxPercentUnhealthyApplications": 0,
                            "maxPercentUnhealthyNodes": 0
                          },
                          "upgradeDomainTimeout": "00:15:00",
                          "upgradeReplicaSetCheckTimeout": "00:10:00",
                          "upgradeTimeout": "01:00:00"
                        },
                        "upgradeMode": "Manual",
                        "vmImage": "Ubuntu"
                      },
                      "tags": {},
                      "type": "Microsoft.ServiceFabric/clusters"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "AddOnFeatures": {
      "description": "Available cluster add-on features",
      "enum": [
        "RepairManager",
        "DnsService",
        "BackupRestoreService",
        "ResourceMonitorService"
      ],
      "type": "string"
    },
    "ApplicationDeltaHealthPolicy": {
      "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n",
      "properties": {
        "defaultServiceTypeDeltaHealthPolicy": {
          "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy",
          "description": "The delta health policy used by default to evaluate the health of a service type when upgrading the cluster."
        },
        "serviceTypeDeltaHealthPolicies": {
          "$ref": "#/definitions/ServiceTypeDeltaHealthPolicyMap",
          "description": "The map with service type delta health policy per service type name. The map is empty by default."
        }
      },
      "type": "object"
    },
    "ApplicationDeltaHealthPolicyMap": {
      "additionalProperties": {
        "$ref": "#/definitions/ApplicationDeltaHealthPolicy"
      },
      "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n",
      "type": "object"
    },
    "ApplicationHealthPolicy": {
      "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n",
      "properties": {
        "defaultServiceTypeHealthPolicy": {
          "$ref": "#/definitions/ServiceTypeHealthPolicy",
          "description": "The health policy used by default to evaluate the health of a service type."
        },
        "serviceTypeHealthPolicies": {
          "$ref": "#/definitions/ServiceTypeHealthPolicyMap",
          "description": "The map with service type health policy per service type name. The map is empty by default."
        }
      },
      "type": "object"
    },
    "ApplicationHealthPolicyMap": {
      "additionalProperties": {
        "$ref": "#/definitions/ApplicationHealthPolicy"
      },
      "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n",
      "type": "object"
    },
    "AvailableOperationDisplay": {
      "description": "Operation supported by Service Fabric resource provider",
      "properties": {
        "description": {
          "description": "Operation description",
          "type": "string"
        },
        "operation": {
          "description": "The operation that can be performed.",
          "type": "string"
        },
        "provider": {
          "description": "The name of the provider.",
          "type": "string"
        },
        "resource": {
          "description": "The resource on which the operation is performed",
          "type": "string"
        }
      }
    },
    "AzureActiveDirectory": {
      "description": "The settings to enable AAD authentication on the cluster.",
      "properties": {
        "clientApplication": {
          "description": "Azure active directory client application id.",
          "type": "string"
        },
        "clusterApplication": {
          "description": "Azure active directory cluster application id.",
          "type": "string"
        },
        "tenantId": {
          "description": "Azure active directory tenant id.",
          "type": "string"
        }
      }
    },
    "CertificateDescription": {
      "description": "Describes the certificate details.",
      "properties": {
        "thumbprint": {
          "description": "Thumbprint of the primary certificate.",
          "type": "string"
        },
        "thumbprintSecondary": {
          "description": "Thumbprint of the secondary certificate.",
          "type": "string"
        },
        "x509StoreName": {
          "$ref": "#/definitions/StoreName",
          "description": "The local certificate store location."
        }
      },
      "required": [
        "thumbprint"
      ]
    },
    "ClientCertificateCommonName": {
      "description": "Describes the client certificate details using common name.",
      "properties": {
        "certificateCommonName": {
          "description": "The common name of the client certificate.",
          "type": "string"
        },
        "certificateIssuerThumbprint": {
          "description": "The issuer thumbprint of the client certificate.",
          "type": "string"
        },
        "isAdmin": {
          "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster.",
          "type": "boolean"
        }
      },
      "required": [
        "certificateCommonName",
        "isAdmin",
        "certificateIssuerThumbprint"
      ]
    },
    "ClientCertificateThumbprint": {
      "description": "Describes the client certificate details using thumbprint.",
      "properties": {
        "certificateThumbprint": {
          "description": "The thumbprint of the client certificate.",
          "type": "string"
        },
        "isAdmin": {
          "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster.",
          "type": "boolean"
        }
      },
      "required": [
        "certificateThumbprint",
        "isAdmin"
      ]
    },
    "Cluster": {
      "allOf": [
        {
          "description": "The cluster resource properties"
        },
        {
          "$ref": "#/definitions/Resource"
        },
        {
          "properties": {
            "properties": {
              "$ref": "#/definitions/ClusterProperties",
              "description": "The cluster resource properties",
              "x-ms-client-flatten": true
            }
          },
          "type": "object"
        }
      ],
      "description": "The cluster resource\n",
      "type": "object"
    },
    "ClusterCodeVersionsListResult": {
      "description": "The list results of the ServiceFabric runtime versions.",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "items": {
            "$ref": "#/definitions/ClusterCodeVersionsResult"
          },
          "type": "array"
        }
      }
    },
    "ClusterCodeVersionsResult": {
      "description": "The result of the ServiceFabric runtime versions",
      "properties": {
        "id": {
          "description": "The identification of the result",
          "type": "string"
        },
        "name": {
          "description": "The name of the result",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ClusterVersionDetails",
          "description": "The detail of the Service Fabric runtime version result",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "The result resource type",
          "type": "string"
        }
      }
    },
    "ClusterEnvironment": {
      "description": "Cluster operating system, the default will be Windows",
      "enum": [
        "Windows",
        "Linux"
      ],
      "type": "string"
    },
    "ClusterHealthPolicy": {
      "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n",
      "properties": {
        "applicationHealthPolicies": {
          "$ref": "#/definitions/ApplicationHealthPolicyMap",
          "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
        },
        "maxPercentUnhealthyApplications": {
          "default": 0,
          "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",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        },
        "maxPercentUnhealthyNodes": {
          "default": 0,
          "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",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ClusterListResult": {
      "description": "Cluster list results",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "items": {
            "$ref": "#/definitions/Cluster"
          },
          "type": "array"
        }
      }
    },
    "ClusterProperties": {
      "description": "Describes the cluster resource properties.",
      "properties": {
        "addOnFeatures": {
          "description": "The list of add-on features to enable in the cluster.",
          "items": {
            "$ref": "#/definitions/AddOnFeatures"
          },
          "type": "array"
        },
        "availableClusterVersions": {
          "description": "The Service Fabric runtime versions available for this cluster.",
          "items": {
            "$ref": "#/definitions/ClusterVersionDetails"
          },
          "readOnly": true,
          "type": "array"
        },
        "azureActiveDirectory": {
          "$ref": "#/definitions/AzureActiveDirectory",
          "description": "The AAD authentication settings of the cluster."
        },
        "certificate": {
          "$ref": "#/definitions/CertificateDescription",
          "description": "The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client."
        },
        "certificateCommonNames": {
          "$ref": "#/definitions/ServerCertificateCommonNames",
          "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster."
        },
        "clientCertificateCommonNames": {
          "description": "The list of client certificates referenced by common name that are allowed to manage the cluster.",
          "items": {
            "$ref": "#/definitions/ClientCertificateCommonName"
          },
          "type": "array"
        },
        "clientCertificateThumbprints": {
          "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster.",
          "items": {
            "$ref": "#/definitions/ClientCertificateThumbprint"
          },
          "type": "array"
        },
        "clusterCodeVersion": {
          "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**.",
          "type": "string"
        },
        "clusterEndpoint": {
          "description": "The Azure Resource Provider endpoint. A system service in the cluster connects to this  endpoint.",
          "readOnly": true,
          "type": "string"
        },
        "clusterId": {
          "description": "A service generated unique identifier for the cluster resource.",
          "readOnly": true,
          "type": "string"
        },
        "clusterState": {
          "$ref": "#/definitions/ClusterState",
          "description": "The current state of the cluster.\n\n  - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it.\n  - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up.\n  - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time.\n  - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.\n  - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.\n  - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'.\n  - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.\n  - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider.\n  - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.\n  - Ready - Indicates that the cluster is in a stable state.\n",
          "readOnly": true
        },
        "diagnosticsStorageAccountConfig": {
          "$ref": "#/definitions/DiagnosticsStorageAccountConfig",
          "description": "The storage account information for storing Service Fabric diagnostic logs."
        },
        "fabricSettings": {
          "description": "The list of custom fabric settings to configure the cluster.",
          "items": {
            "$ref": "#/definitions/SettingsSectionDescription"
          },
          "type": "array"
        },
        "managementEndpoint": {
          "description": "The http management endpoint of the cluster.",
          "type": "string"
        },
        "nodeTypes": {
          "description": "The list of node types in the cluster.",
          "items": {
            "$ref": "#/definitions/NodeTypeDescription"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "The provisioning state of the cluster resource.",
          "enum": [
            "Updating",
            "Succeeded",
            "Failed",
            "Canceled"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProvisioningState"
          }
        },
        "reliabilityLevel": {
          "$ref": "#/definitions/ReliabilityLevel",
          "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n  - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n  - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n  - Silver - Run the System services with a target replica set count of 5.\n  - Gold - Run the System services with a target replica set count of 7.\n  - Platinum - Run the System services with a target replica set count of 9.\n"
        },
        "reverseProxyCertificate": {
          "$ref": "#/definitions/CertificateDescription",
          "description": "The server certificate used by reverse proxy."
        },
        "reverseProxyCertificateCommonNames": {
          "$ref": "#/definitions/ServerCertificateCommonNames",
          "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster."
        },
        "upgradeDescription": {
          "$ref": "#/definitions/ClusterUpgradePolicy",
          "description": "The policy to use when upgrading the cluster."
        },
        "upgradeMode": {
          "$ref": "#/definitions/UpgradeMode",
          "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n  - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n  - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n"
        },
        "vmImage": {
          "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used.",
          "type": "string"
        }
      },
      "required": [
        "managementEndpoint",
        "nodeTypes"
      ]
    },
    "ClusterPropertiesUpdateParameters": {
      "description": "Describes the cluster resource properties that can be updated during PATCH operation.",
      "properties": {
        "addOnFeatures": {
          "description": "The list of add-on features to enable in the cluster.",
          "items": {
            "$ref": "#/definitions/AddOnFeatures"
          },
          "type": "array"
        },
        "certificate": {
          "$ref": "#/definitions/CertificateDescription",
          "description": "The certificate to use for securing the cluster. The certificate provided will be used for  node to node security within the cluster, SSL certificate for cluster management endpoint and default  admin client."
        },
        "certificateCommonNames": {
          "$ref": "#/definitions/ServerCertificateCommonNames",
          "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster."
        },
        "clientCertificateCommonNames": {
          "description": "The list of client certificates referenced by common name that are allowed to manage the cluster. This will overwrite the existing list.",
          "items": {
            "$ref": "#/definitions/ClientCertificateCommonName"
          },
          "type": "array"
        },
        "clientCertificateThumbprints": {
          "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster. This will overwrite the existing list.",
          "items": {
            "$ref": "#/definitions/ClientCertificateThumbprint"
          },
          "type": "array"
        },
        "clusterCodeVersion": {
          "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**.",
          "type": "string"
        },
        "fabricSettings": {
          "description": "The list of custom fabric settings to configure the cluster. This will overwrite the existing list.",
          "items": {
            "$ref": "#/definitions/SettingsSectionDescription"
          },
          "type": "array"
        },
        "nodeTypes": {
          "description": "The list of node types in the cluster. This will overwrite the existing list.",
          "items": {
            "$ref": "#/definitions/NodeTypeDescription"
          },
          "type": "array"
        },
        "reliabilityLevel": {
          "$ref": "#/definitions/ReliabilityLevel",
          "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n  - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n  - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n  - Silver - Run the System services with a target replica set count of 5.\n  - Gold - Run the System services with a target replica set count of 7.\n  - Platinum - Run the System services with a target replica set count of 9.\n"
        },
        "reverseProxyCertificate": {
          "$ref": "#/definitions/CertificateDescription",
          "description": "The server certificate used by reverse proxy."
        },
        "upgradeDescription": {
          "$ref": "#/definitions/ClusterUpgradePolicy",
          "description": "The policy to use when upgrading the cluster."
        },
        "upgradeMode": {
          "$ref": "#/definitions/UpgradeMode",
          "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n  - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n  - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n"
        }
      }
    },
    "ClusterState": {
      "description": "The current state of the cluster.\n\n  - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it.\n  - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up.\n  - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time.\n  - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.\n  - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.\n  - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'.\n  - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.\n  - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider.\n  - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.\n  - Ready - Indicates that the cluster is in a stable state.\n",
      "enum": [
        "WaitingForNodes",
        "Deploying",
        "BaselineUpgrade",
        "UpdatingUserConfiguration",
        "UpdatingUserCertificate",
        "UpdatingInfrastructure",
        "EnforcingClusterVersion",
        "UpgradeServiceUnreachable",
        "AutoScale",
        "Ready"
      ],
      "type": "string"
    },
    "ClusterUpdateParameters": {
      "description": "Cluster update request",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ClusterPropertiesUpdateParameters",
          "description": "Describes the cluster resource properties that can be updated during PATCH operation.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cluster update parameters",
          "type": "object"
        }
      }
    },
    "ClusterUpgradeDeltaHealthPolicy": {
      "description": "Describes the delta health policies for the cluster upgrade.",
      "properties": {
        "applicationDeltaHealthPolicies": {
          "$ref": "#/definitions/ApplicationDeltaHealthPolicyMap",
          "description": "Defines the application delta health policy map used to evaluate the health of an application or one of its child entities when upgrading the cluster."
        },
        "maxPercentDeltaUnhealthyApplications": {
          "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",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        },
        "maxPercentDeltaUnhealthyNodes": {
          "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",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        },
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": {
          "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",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "maxPercentDeltaUnhealthyApplications",
        "maxPercentDeltaUnhealthyNodes",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes"
      ]
    },
    "ClusterUpgradePolicy": {
      "description": "Describes the policy used when upgrading the cluster.",
      "properties": {
        "deltaHealthPolicy": {
          "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy",
          "description": "The cluster delta health policy used when upgrading the cluster."
        },
        "forceRestart": {
          "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).",
          "type": "boolean"
        },
        "healthCheckRetryTimeout": {
          "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format.",
          "type": "string"
        },
        "healthCheckStableDuration": {
          "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format.",
          "type": "string"
        },
        "healthCheckWaitDuration": {
          "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format.",
          "type": "string"
        },
        "healthPolicy": {
          "$ref": "#/definitions/ClusterHealthPolicy",
          "description": "The cluster health policy used when upgrading the cluster."
        },
        "upgradeDomainTimeout": {
          "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format.",
          "type": "string"
        },
        "upgradeReplicaSetCheckTimeout": {
          "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format.",
          "type": "string"
        },
        "upgradeTimeout": {
          "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format.",
          "type": "string"
        }
      },
      "required": [
        "healthCheckRetryTimeout",
        "healthCheckStableDuration",
        "healthCheckWaitDuration",
        "healthPolicy",
        "upgradeDomainTimeout",
        "upgradeReplicaSetCheckTimeout",
        "upgradeTimeout"
      ]
    },
    "ClusterVersionDetails": {
      "description": "The detail of the Service Fabric runtime version result",
      "properties": {
        "codeVersion": {
          "description": "The Service Fabric runtime version of the cluster.",
          "type": "string"
        },
        "environment": {
          "$ref": "#/definitions/ClusterEnvironment",
          "description": "Indicates if this version is for Windows or Linux operating system."
        },
        "supportExpiryUtc": {
          "description": "The date of expiry of support of the version.",
          "type": "string"
        }
      }
    },
    "DiagnosticsStorageAccountConfig": {
      "description": "The storage account information for storing Service Fabric diagnostic logs.",
      "properties": {
        "blobEndpoint": {
          "description": "The blob endpoint of the azure storage account.",
          "type": "string"
        },
        "protectedAccountKeyName": {
          "description": "The protected diagnostics storage key name.",
          "type": "string"
        },
        "queueEndpoint": {
          "description": "The queue endpoint of the azure storage account.",
          "type": "string"
        },
        "storageAccountName": {
          "description": "The Azure storage account name.",
          "type": "string"
        },
        "tableEndpoint": {
          "description": "The table endpoint of the azure storage account.",
          "type": "string"
        }
      },
      "required": [
        "blobEndpoint",
        "protectedAccountKeyName",
        "queueEndpoint",
        "storageAccountName",
        "tableEndpoint"
      ]
    },
    "DurabilityLevel": {
      "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n  - Bronze - No privileges. This is the default.\n  - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n  - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM SKUs like D15_V2, G5 etc.\n",
      "enum": [
        "Bronze",
        "Silver",
        "Gold"
      ],
      "type": "string"
    },
    "EndpointRangeDescription": {
      "description": "Port range details",
      "properties": {
        "endPort": {
          "description": "End port of a range of ports",
          "type": "integer"
        },
        "startPort": {
          "description": "Starting port of a range of ports",
          "type": "integer"
        }
      },
      "required": [
        "endPort",
        "startPort"
      ]
    },
    "ErrorModel": {
      "description": "The structure of the error.",
      "properties": {
        "error": {
          "$ref": "#/definitions/ErrorModelError",
          "description": "The error details."
        }
      }
    },
    "ErrorModelError": {
      "description": "The error details.",
      "properties": {
        "code": {
          "description": "The error code.",
          "type": "string"
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        }
      }
    },
    "NodeTypeDescription": {
      "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster.",
      "properties": {
        "applicationPorts": {
          "$ref": "#/definitions/EndpointRangeDescription",
          "description": "The range of ports from which cluster assigned port to Service Fabric applications."
        },
        "capacities": {
          "additionalProperties": {
            "description": "Capacity tag value",
            "type": "string"
          },
          "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.",
          "type": "object"
        },
        "clientConnectionEndpointPort": {
          "description": "The TCP cluster management endpoint port.",
          "type": "integer"
        },
        "durabilityLevel": {
          "$ref": "#/definitions/DurabilityLevel",
          "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n  - Bronze - No privileges. This is the default.\n  - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n  - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM SKUs like D15_V2, G5 etc.\n"
        },
        "ephemeralPorts": {
          "$ref": "#/definitions/EndpointRangeDescription",
          "description": "The range of ephemeral ports that nodes in this node type should be configured with."
        },
        "httpGatewayEndpointPort": {
          "description": "The HTTP cluster management endpoint port.",
          "type": "integer"
        },
        "isPrimary": {
          "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters.",
          "type": "boolean"
        },
        "name": {
          "description": "The name of the node type.",
          "type": "string"
        },
        "placementProperties": {
          "additionalProperties": {
            "description": "Placement tag value",
            "type": "string"
          },
          "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.",
          "type": "object"
        },
        "reverseProxyEndpointPort": {
          "description": "The endpoint used by reverse proxy.",
          "type": "integer"
        },
        "vmInstanceCount": {
          "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.",
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "clientConnectionEndpointPort",
        "httpGatewayEndpointPort",
        "isPrimary",
        "name",
        "vmInstanceCount"
      ]
    },
    "OperationListResult": {
      "description": "Describes the result of the request to list Service Fabric operations.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of operation list results if there are any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of Service Fabric operations supported by the Microsoft.ServiceFabric resource provider.",
          "items": {
            "$ref": "#/definitions/OperationResult"
          },
          "type": "array"
        }
      }
    },
    "OperationResult": {
      "description": "Available operation list result",
      "properties": {
        "display": {
          "$ref": "#/definitions/AvailableOperationDisplay",
          "description": "The object that represents the operation."
        },
        "name": {
          "description": "The name of the operation.",
          "type": "string"
        },
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "origin": {
          "description": "Origin result",
          "type": "string"
        }
      }
    },
    "ReliabilityLevel": {
      "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n  - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n  - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n  - Silver - Run the System services with a target replica set count of 5.\n  - Gold - Run the System services with a target replica set count of 7.\n  - Platinum - Run the System services with a target replica set count of 9.\n",
      "enum": [
        "None",
        "Bronze",
        "Silver",
        "Gold",
        "Platinum"
      ],
      "type": "string"
    },
    "Resource": {
      "description": "The resource model definition.",
      "properties": {
        "id": {
          "description": "Azure resource identifier.",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Azure resource location.",
          "type": "string",
          "x-ms-mutability": [
            "create",
            "read"
          ]
        },
        "name": {
          "description": "Azure resource name.",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Azure resource tags.",
          "type": "object"
        },
        "type": {
          "description": "Azure resource type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },
    "ServerCertificateCommonName": {
      "description": "Describes the server certificate details using common name.",
      "properties": {
        "certificateCommonName": {
          "description": "The common name of the server certificate.",
          "type": "string"
        },
        "certificateIssuerThumbprint": {
          "description": "The issuer thumbprint of the server certificate.",
          "type": "string"
        }
      },
      "required": [
        "certificateCommonName",
        "certificateIssuerThumbprint"
      ]
    },
    "ServerCertificateCommonNames": {
      "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.",
      "properties": {
        "commonNames": {
          "description": "The list of server certificates referenced by common name that are used to secure the cluster.",
          "items": {
            "$ref": "#/definitions/ServerCertificateCommonName"
          },
          "type": "array"
        },
        "x509StoreName": {
          "$ref": "#/definitions/StoreName",
          "description": "The local certificate store location."
        }
      }
    },
    "ServiceTypeDeltaHealthPolicy": {
      "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n",
      "properties": {
        "maxPercentDeltaUnhealthyServices": {
          "default": 0,
          "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",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ServiceTypeDeltaHealthPolicyMap": {
      "additionalProperties": {
        "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy"
      },
      "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n",
      "type": "object"
    },
    "ServiceTypeHealthPolicy": {
      "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n",
      "properties": {
        "maxPercentUnhealthyServices": {
          "default": 0,
          "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ServiceTypeHealthPolicyMap": {
      "additionalProperties": {
        "$ref": "#/definitions/ServiceTypeHealthPolicy"
      },
      "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n",
      "type": "object"
    },
    "SettingsParameterDescription": {
      "description": "Describes a parameter in fabric settings of the cluster.",
      "properties": {
        "name": {
          "description": "The parameter name of fabric setting.",
          "type": "string"
        },
        "value": {
          "description": "The parameter value of fabric setting.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "value"
      ]
    },
    "SettingsSectionDescription": {
      "description": "Describes a section in the fabric settings of the cluster.",
      "properties": {
        "name": {
          "description": "The section name of the fabric settings.",
          "type": "string"
        },
        "parameters": {
          "description": "The collection of parameters in the section.",
          "items": {
            "$ref": "#/definitions/SettingsParameterDescription"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "parameters"
      ]
    },
    "StoreName": {
      "description": "The local certificate store location.",
      "enum": [
        "AddressBook",
        "AuthRoot",
        "CertificateAuthority",
        "Disallowed",
        "My",
        "Root",
        "TrustedPeople",
        "TrustedPublisher"
      ],
      "type": "string"
    },
    "UpgradeMode": {
      "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n  - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n  - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n",
      "enum": [
        "Automatic",
        "Manual"
      ],
      "type": "string"
    }
  }
}