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.
    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.
      Each entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.
      The application name should include the 'fabric:' URI scheme.
      The map is empty by default.
    type: object
  ApplicationHealthPolicy:
    description: |
      Defines a health policy used to evaluate the health of an application or one of its children entities.
    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.
      Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
      The application name should include the 'fabric:' URI scheme.
      The map is empty by default.
    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
    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.
    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.

          The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.
          If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.
          This 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.
          The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.
        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.

          The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.
          If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.
          The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.
          The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.

          In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.
        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.

            - 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.
            - 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.
            - 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.
            - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.
            - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.
            - 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'.
            - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.
            - 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.
            - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.
            - Ready - Indicates that the cluster is in a stable state.
        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).

            - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.
            - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.
            - Silver - Run the System services with a target replica set count of 5.
            - Gold - Run the System services with a target replica set count of 7.
            - Platinum - Run the System services with a target replica set count of 9.
      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.

            - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.
            - 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.
      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).

            - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.
            - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.
            - Silver - Run the System services with a target replica set count of 5.
            - Gold - Run the System services with a target replica set count of 7.
            - Platinum - Run the System services with a target replica set count of 9.
      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.

            - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.
            - 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.
  ClusterState:
    description: |
      The current state of the cluster.

        - 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.
        - 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.
        - 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.
        - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.
        - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.
        - 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'.
        - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.
        - 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.
        - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.
        - Ready - Indicates that the cluster is in a stable state.
    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.
          The delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.
          The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.
        maximum: 100
        minimum: 0
        type: integer
      maxPercentDeltaUnhealthyNodes:
        description: |
          The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.
          The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.
          The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.
        maximum: 100
        minimum: 0
        type: integer
      maxPercentUpgradeDomainDeltaUnhealthyNodes:
        description: |
          The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.
          The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.
          The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.
        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).

        - Bronze - No privileges. This is the default.
        - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.
        - 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.
    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).

            - Bronze - No privileges. This is the default.
            - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.
            - 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.
      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).

        - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.
        - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.
        - Silver - Run the System services with a target replica set count of 5.
        - Gold - Run the System services with a target replica set count of 7.
        - Platinum - Run the System services with a target replica set count of 9.
    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.
    properties:
      maxPercentDeltaUnhealthyServices:
        default: 0
        description: |
          The maximum allowed percentage of services health degradation allowed during cluster upgrades.
          The 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.
          The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.
        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.
      Each entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.
      The map is empty by default.
    type: object
  ServiceTypeHealthPolicy:
    description: |
      Represents the health policy used to evaluate the health of services belonging to a service type.
    properties:
      maxPercentUnhealthyServices:
        default: 0
        description: |
          The maximum percentage of services allowed to be unhealthy before your application is considered in error.
        maximum: 100
        minimum: 0
        type: integer
    type: object
  ServiceTypeHealthPolicyMap:
    additionalProperties:
      $ref: "#/definitions/ServiceTypeHealthPolicy"
    description: |
      Defines a ServiceTypeHealthPolicy per service type name.

      The entries in the map replace the default service type health policy for each specified service type.
      For 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.
      With policy per service type, there's more granular control of the health of the service.

      If no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.
    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.

        - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.
        - 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.
    enum:
      - Automatic
      - Manual
    type: string
