swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: APIs to deploy and manage resources to SeaBreeze.
  title: SeaBreezeManagementClient
  version: 2018-09-01-preview
  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/servicefabricmesh/resource-manager/Microsoft.ServiceFabricMesh/preview/2018-09-01-preview/servicefabricmesh.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: servicefabricmesh
  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:
  ApplicationResourceDescriptionRequiredBodyParam:
    description: Description for creating a Application resource.
    in: body
    name: applicationResourceDescription
    required: true
    schema:
      $ref: "#/definitions/ApplicationResourceDescription"
    x-ms-parameter-location: method
  ApplicationResourceNameRequiredPathParam:
    description: The identity of the application.
    in: path
    name: applicationResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  CodePackageNameRequiredPathParam:
    description: The name of code package of the service.
    in: path
    name: codePackageName
    required: true
    type: string
    x-ms-parameter-location: method
  GatewayResourceDescriptionRequiredBodyParam:
    description: Description for creating a Gateway resource.
    in: body
    name: gatewayResourceDescription
    required: true
    schema:
      $ref: "#/definitions/GatewayResourceDescription"
    x-ms-parameter-location: method
  GatewayResourceNameRequiredPathParam:
    description: The identity of the gateway.
    in: path
    name: gatewayResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  NetworkResourceDescriptionRequiredBodyParam:
    description: Description for creating a Network resource.
    in: body
    name: networkResourceDescription
    required: true
    schema:
      $ref: "#/definitions/NetworkResourceDescription"
    x-ms-parameter-location: method
  NetworkResourceNameRequiredPathParam:
    description: The identity of the network.
    in: path
    name: networkResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  ReplicaNameRequiredPathParam:
    description: Service Fabric replica name.
    in: path
    name: replicaName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  ResourceGroupNameRequiredPathParam:
    description: Azure resource group name
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SecretResourceDescriptionRequiredBodyParam:
    description: Description for creating a secret resource.
    in: body
    name: secretResourceDescription
    required: true
    schema:
      $ref: "#/definitions/SecretResourceDescription"
    x-ms-parameter-location: method
  SecretResourceNameRequiredPathParam:
    description: The name of the secret resource.
    in: path
    name: secretResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  SecretValueResourceDescriptionRequiredBodyParam:
    description: Description for creating a value of a secret resource.
    in: body
    name: secretValueResourceDescription
    required: true
    schema:
      $ref: "#/definitions/SecretValueResourceDescription"
    x-ms-parameter-location: method
  SecretValueResourceNameRequiredPathParam:
    description: The name of the secret resource value which is typically the version identifier for the value.
    in: path
    name: secretValueResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  ServiceResourceNameRequiredPathParam:
    description: The identity of the service.
    in: path
    name: serviceResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  TailOptionalQueryParam:
    description: Number of lines to show from the end of the logs. Default is 100.
    in: query
    name: tail
    required: false
    type: integer
    x-ms-parameter-location: method
  VolumeResourceDescriptionRequiredBodyParam:
    description: Description for creating a Volume resource.
    in: body
    name: volumeResourceDescription
    required: true
    schema:
      $ref: "#/definitions/VolumeResourceDescription"
    x-ms-parameter-location: method
  VolumeResourceNameRequiredPathParam:
    description: The identity of the volume.
    in: path
    name: volumeResourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  api-versionRequiredQueryParam:
    default: 2018-09-01-preview
    description: The version of the API. This parameter is required and its value must be `2018-09-01-preview`.
    enum:
      - 2018-09-01-preview
    in: query
    name: api-version
    required: true
    type: string
    x-ms-enum:
      modelAsString: true
      name: 2018-09-01-preview
      values:
        - description: The `2018-09-01-preview` version of the API.
          value: 2018-09-01-preview
  subscriptionIdRequiredPathParam:
    description: The customer subscription identifier
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.ServiceFabricMesh/operations:
    get:
      description: Lists all the available operations provided by Service Fabric SeaBreeze resource provider.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/api-versionRequiredQueryParam"
      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 operations.
      tags:
        - Operations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/applications":
    get:
      description: Gets the information about all application resources in a given resource group. The information include the description and other properties of the application.
      operationId: Application_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ApplicationResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the application resources in a given subscription.
      tags:
        - Applications
      x-ms-examples:
        ListApplicationsBySubscriptionId:
          description: This example shows how to list all application resources for a specified subscription.
          operationId: Application_ListBySubscriptionId
          parameters:
            api-version: 2018-09-01-privatepreview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication
                    location: EastUS
                    name: sampleApplication
                    properties:
                      description: Service Fabric Mesh sample application.
                      healthState: Ok
                      provisioningState: Succeeded
                      serviceNames:
                        - helloWorldService
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/applications
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/gateways":
    get:
      description: Gets the information about all gateway resources in a given resource group. The information include the description and other properties of the gateway.
      operationId: Gateway_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/GatewayResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the gateway resources in a given subscription.
      tags:
        - Gateways
      x-ms-examples:
        ListGatewaysBySubscriptionId:
          description: This example shows how to list all gateway resources for a specified subscription.
          operationId: Gateway_ListBySubscriptionId
          parameters:
            api-version: 2018-09-01-privatepreview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/gateways/sampleGateway
                    location: EastUS
                    name: sampleGateway
                    properties:
                      description: Service Fabric Mesh sample gateway.
                      destinationNetwork:
                        name: helloWorldNetwork
                      http:
                        - hosts:
                            - name: contoso.com
                              routes:
                                - destination:
                                    applicationName: httpHelloWorldApp
                                    endpointName: indexHttpEndpoint
                                    serviceName: indexService
                                  match:
                                    headers:
                                      - name: accept
                                        type: exact
                                        value: application/json
                                    path:
                                      rewrite: /
                                      type: prefix
                                      value: /index
                                  name: index
                          name: contosoWebsite
                          port: 8081
                      ipAddress: 192.168.1.1
                      provisioningState: Succeeded
                      sourceNetwork:
                        name: Open
                      status: Ready
                      tcp:
                        - destination:
                            applicationName: helloWorldApp
                            endpointName: helloWorldListener
                            serviceName: helloWorldService
                          name: web
                          port: 80
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/gateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/networks":
    get:
      description: Gets the information about all network resources in a given resource group. The information include the description and other properties of the network.
      operationId: Network_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/NetworkResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the network resources in a given subscription.
      tags:
        - Networks
      x-ms-examples:
        ListNetworksBySubscriptionId:
          description: This example shows how to list all network resources for a specified subscription.
          operationId: Network_ListBySubscriptionId
          parameters:
            api-version: 2018-09-01-privatepreview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                    location: EastUS
                    name: sampleNetwork
                    properties:
                      description: Service Fabric Mesh sample network.
                      kind: Local
                      networkAddressPrefix: 2.0.0.0/16
                      provisioningState: Succeeded
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/networks
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/secrets":
    get:
      description: Gets the information about all secret resources in a given resource group. The information include the description and other properties of the secret.
      operationId: Secret_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the secret resources in a given subscription.
      tags:
        - Secrets
      x-ms-examples:
        ListSecretsBySubscriptionId:
          description: This example shows how to list all secret resources for a specified subscription.
          operationId: Secret_ListBySubscriptionId
          parameters:
            api-version: 2018-09-01-privatepreview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString
                    location: EastUS
                    name: dbConnectionString
                    properties:
                      contentType: text/plain
                      description: Mongo DB connection string for backend database!
                      kind: inlinedValue
                      provisioningState: Succeeded
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/secrets
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/volumes":
    get:
      description: Gets the information about all volume resources in a given resource group. The information include the description and other properties of the volume.
      operationId: Volume_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VolumeResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the volume resources in a given subscription.
      tags:
        - Volumes
      x-ms-examples:
        ListVolumesBySubscriptionId:
          description: This example shows how to list all volume resources for a specified subscription.
          operationId: Volume_ListBySubscriptionId
          parameters:
            api-version: 2018-09-01-privatepreview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/volumes/sampleVolume
                    location: EastUS
                    name: sampleVolume
                    properties:
                      azureFileParameters:
                        accountName: sbzdemoaccount
                        shareName: sharel
                      description: Service Fabric Mesh sample volume.
                      provider: SFAzureFile
                      provisioningState: Succeeded
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/volumes
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications":
    get:
      description: Gets the information about all application resources in a given resource group. The information include the description and other properties of the Application.
      operationId: Application_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ApplicationResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the application resources in a given resource group.
      tags:
        - Applications
      x-ms-examples:
        ListApplicationsByResourceGroup:
          description: This example shows how to list all application resources within a specified resource group.
          operationId: Application_ListByResourceGroup
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication
                    location: EastUS
                    name: sampleApplication
                    properties:
                      description: Service Fabric Mesh sample application.
                      healthState: Ok
                      provisioningState: Succeeded
                      serviceNames:
                        - helloWorldService
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/applications
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications/{applicationResourceName}":
    delete:
      description: Deletes the application resource identified by the name.
      operationId: Application_Delete
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content - the specified application was not found.
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Deletes the application resource.
      tags:
        - Applications
      x-ms-examples:
        DeleteApplication:
          description: This example shows how to delete an existing application resource. If the application resource exists and is deleted successfully, an empty response with 200 status code is returned. If the application resource does not exit, an empty response with 204 status code is returned.
          operationId: Application_Delete
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceName: sampleApplication
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202": {}
            "204": {}
    get:
      description: Gets the information about the application resource with the given name. The information include the description and other properties of the application.
      operationId: Application_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ApplicationResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the application resource with the given name.
      tags:
        - Applications
      x-ms-examples:
        GetApplication:
          description: This example shows how to get a application resource. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.
          operationId: Application_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceName: sampleApplication
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication
                location: EastUS
                name: sampleApplication
                properties:
                  description: Service Fabric Mesh sample application.
                  healthState: Ok
                  provisioningState: Succeeded
                  serviceNames:
                    - helloWorldService
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/applications
    put:
      description: Creates an application resource with the specified name, description and properties. If an application resource with the same name exists, then it is updated with the specified description and properties.
      operationId: Application_Create
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceDescriptionRequiredBodyParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ApplicationResourceDescription"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/ApplicationResourceDescription"
        "202":
          description: Accepted
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Creates or updates an application resource.
      tags:
        - Applications
      x-ms-examples:
        CreateOrUpdateApplication:
          description: This example shows how to create or update a application resource.
          operationId: Application_Create
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceDescription:
              location: EastUS
              properties:
                description: Service Fabric Mesh sample application.
                services:
                  - name: helloWorldService
                    properties:
                      codePackages:
                        - endpoints:
                            - name: helloWorldListener
                              port: 80
                          image: seabreeze/sbz-helloworld:1.0-alpine
                          name: helloWorldCode
                          resources:
                            requests:
                              cpu: 1
                              memoryInGB: 1
                      description: SeaBreeze Hello World Service.
                      networkRefs:
                        - endpointRefs:
                            - name: helloWorldListener
                          name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                      osType: Linux
                      replicaCount: 1
              tags: {}
            applicationResourceName: sampleApplication
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication
                location: EastUS
                name: sampleApplication
                properties:
                  description: Service Fabric Mesh sample application.
                  healthState: Ok
                  provisioningState: Succeeded
                  serviceNames:
                    - helloWorldService
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/applications
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication
                location: EastUS
                name: sampleApplication
                properties:
                  description: Service Fabric Mesh sample application.
                  healthState: Unknown
                  provisioningState: Updating
                  serviceNames:
                    - helloWorldService
                  status: Creating
                tags: {}
                type: Microsoft.ServiceFabricMesh/applications
            "202": {}
      x-sf-codegen:
        Powershell:
          skipGeneration: "true"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications/{applicationResourceName}/services":
    get:
      description: Gets the information about all services of an application resource. The information include the description and other properties of the Service.
      operationId: Service_List
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ServiceResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Lists all the service resources.
      tags:
        - Services
      x-ms-examples:
        ListServices:
          description: This example shows how to list all services of a given application.
          operationId: Service_List
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceName: sampleApplication
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication/services/helloWorldService
                    name: helloWorldService
                    properties:
                      codePackages:
                        - endpoints:
                            - name: helloWorldListener
                              port: 80
                          image: seabreeze/sbz-helloworld:1.0-alpine
                          name: helloWorldCode
                          resources:
                            requests:
                              cpu: 1
                              memoryInGB: 1
                      description: SeaBreeze Hello World Service.
                      healthState: Ok
                      networkRefs:
                        - endpointRefs:
                            - name: helloWorldListener
                          name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                      osType: Linux
                      replicaCount: 1
                      status: Ready
                    type: Microsoft.ServiceFabricMesh/services
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications/{applicationResourceName}/services/{serviceResourceName}":
    get:
      description: Gets the information about the service resource with the given name. The information include the description and other properties of the service.
      operationId: Service_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
        - $ref: "#/parameters/ServiceResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ServiceResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the service resource with the given name.
      tags:
        - Services
      x-ms-examples:
        GetService:
          description: This example shows how to get a service resource for a given application. If the service resource exists, its description is returned along with an OK (200) status code. If the service resource does not exist, an error is returned with an appropriate status code.
          operationId: Service_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceName: sampleApplication
            resourceGroupName: sbz_demo
            serviceResourceName: helloWorldService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/applications/sampleApplication/services/helloWorldService
                name: helloWorldService
                properties:
                  codePackages:
                    - endpoints:
                        - name: helloWorldListener
                          port: 80
                      image: seabreeze/sbz-helloworld:1.0-alpine
                      name: helloWorldCode
                      resources:
                        requests:
                          cpu: 1
                          memoryInGB: 1
                  description: SeaBreeze Hello World Service.
                  healthState: Ok
                  networkRefs:
                    - endpointRefs:
                        - name: helloWorldListener
                      name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                  osType: Linux
                  replicaCount: 1
                  status: Ready
                type: Microsoft.ServiceFabricMesh/services
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications/{applicationResourceName}/services/{serviceResourceName}/replicas":
    get:
      description: Gets the information about all replicas of a given service of an application. The information includes the runtime properties of the replica instance.
      operationId: ServiceReplica_List
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
        - $ref: "#/parameters/ServiceResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ServiceReplicaDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets replicas of a given service.
      tags:
        - ServiceReplicas
      x-ms-examples:
        ReplicasGetAll:
          description: This example shows how to list replicas of a service resources for a given application.
          operationId: ServiceReplica_List
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceName: sampleApplication
            resourceGroupName: sbz_demo
            serviceResourceName: helloWorldService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - codePackages:
                      - endpoints:
                          - name: helloWorldListener
                            port: 80
                        image: seabreeze/sbz-helloworld:1.0-alpine
                        instanceView:
                          currentState:
                            exitCode: "0"
                            state: Running
                          events:
                            - count: 3
                              firstTimestamp: 2018-04-05T22:37:20.9016844
                              lastTimestamp: 2018-04-06T06:36:06.0887046
                              message: Container created and started.
                              name: Created
                              type: Normal
                            - count: 1
                              firstTimestamp: 2018-04-06T06:34:00.6622454
                              lastTimestamp: 2018-04-06T06:34:00.6622454
                              message: Container was stopped.
                              name: Stopped
                              type: Normal
                          previousState:
                            exitCode: "0"
                            state: NotSpecified
                          restartCount: 1
                        name: helloWorldCode
                        resources:
                          requests:
                            cpu: 1
                            memoryInGB: 1
                    networkRefs:
                      - endpointRefs:
                          - name: helloWorldListener
                        name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                    osType: Linux
                    replicaName: "0"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications/{applicationResourceName}/services/{serviceResourceName}/replicas/{replicaName}":
    get:
      description: Gets the information about the service replica with the given name. The information include the description and other properties of the service replica.
      operationId: ServiceReplica_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
        - $ref: "#/parameters/ServiceResourceNameRequiredPathParam"
        - $ref: "#/parameters/ReplicaNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ServiceReplicaDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the given replica of the service of an application.
      tags:
        - ServiceReplicas
      x-ms-examples:
        ReplicaGet:
          description: This example shows how to get information about given replica of a service. If the replica exists, its description is returned along with an OK (200) status code. If the replica does not exist, an error is returned with an appropriate status code.
          operationId: ServiceReplica_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            applicationResourceName: helloWorldApp
            replicaName: "0"
            resourceGroupName: sbz_demo
            serviceResourceName: helloWorldService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                codePackages:
                  - endpoints:
                      - name: helloWorldListener
                        port: 80
                    image: seabreeze/sbz-helloworld:1.0-alpine
                    instanceView:
                      currentState:
                        exitCode: "0"
                        state: Running
                      events:
                        - count: 3
                          firstTimestamp: 2018-04-05T22:37:20.9016844
                          lastTimestamp: 2018-04-06T06:36:06.0887046
                          message: Container created and started.
                          name: Created
                          type: Normal
                        - count: 1
                          firstTimestamp: 2018-04-06T06:34:00.6622454
                          lastTimestamp: 2018-04-06T06:34:00.6622454
                          message: Container was stopped.
                          name: Stopped
                          type: Normal
                      previousState:
                        exitCode: "0"
                        state: NotSpecified
                      restartCount: 1
                    name: helloWorldCode
                    resources:
                      requests:
                        cpu: 1
                        memoryInGB: 1
                networkRefs:
                  - endpointRefs:
                      - name: helloWorldListener
                    name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                osType: Linux
                replicaName: "0"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/applications/{applicationResourceName}/services/{serviceResourceName}/replicas/{replicaName}/codePackages/{codePackageName}/logs":
    get:
      description: Gets the logs for the container of the specified code package of the service replica.
      operationId: CodePackage_GetContainerLogs
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ApplicationResourceNameRequiredPathParam"
        - $ref: "#/parameters/ServiceResourceNameRequiredPathParam"
        - $ref: "#/parameters/ReplicaNameRequiredPathParam"
        - $ref: "#/parameters/CodePackageNameRequiredPathParam"
        - $ref: "#/parameters/TailOptionalQueryParam"
      responses:
        "200":
          description: Successful response
          schema:
            $ref: "#/definitions/ContainerLogs"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the logs from the container.
      tags:
        - CodePackages
      x-ms-examples:
        GetContainerLogs:
          description: This example shows how to get logs from the container of service replica. If the container exists, the logs are returned with an OK (200) status code, otherwise an error is returned with an appropriate status code.
          operationId: CodePackage_GetContainerLogs
          parameters:
            api-version: 6.4-preview
            applicationResourceName: sbzDocApp
            codePackageName: sbzDocCode
            replicaName: "0"
            resourceGroupName: sbz_demo
            serviceResourceName: sbzDocService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                content: |2
                   * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
                   * Downloading style https://assets-cdn.github.com/assets/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css
                   * Downloading style https://assets-cdn.github.com/assets/github-a698da0d53574b056d3c79ac732d4a70.css
                   * Downloading style https://assets-cdn.github.com/assets/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css
                   * Cached all downloads in /root/.grip/cache-4.5.2
                  167.220.0.83 - - [06/Apr/2018 07:16:02] "GET / HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:02] "GET /__/grip/asset/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:02] "GET /__/grip/asset/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:02] "GET /__/grip/asset/github-a698da0d53574b056d3c79ac732d4a70.css HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:02] "GET /__/grip/static/octicons/octicons.css HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:03] "GET /__/grip/static/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6 HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:03] "GET /__/grip/static/favicon.ico HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:05] "GET /seabreeze-index.md HTTP/1.1" 200 -
                  167.220.0.83 - - [06/Apr/2018 07:16:09] "GET /seabreeze-api-application_get.md HTTP/1.1" 200 -
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/gateways":
    get:
      description: Gets the information about all gateway resources in a given resource group. The information include the description and other properties of the Gateway.
      operationId: Gateway_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/GatewayResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the gateway resources in a given resource group.
      tags:
        - Gateways
      x-ms-examples:
        ListGatewaysByResourceGroup:
          description: This example shows how to list all gateway resources within a specified resource group.
          operationId: Gateway_ListByResourceGroup
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/gateways/sampleGateway
                    location: EastUS
                    name: sampleGateway
                    properties:
                      description: Service Fabric Mesh sample gateway.
                      destinationNetwork:
                        name: helloWorldNetwork
                      http:
                        - hosts:
                            - name: contoso.com
                              routes:
                                - destination:
                                    applicationName: httpHelloWorldApp
                                    endpointName: indexHttpEndpoint
                                    serviceName: indexService
                                  match:
                                    headers:
                                      - name: accept
                                        type: exact
                                        value: application/json
                                    path:
                                      rewrite: /
                                      type: prefix
                                      value: /index
                                  name: index
                          name: contosoWebsite
                          port: 8081
                      ipAddress: 192.168.1.1
                      provisioningState: Succeeded
                      sourceNetwork:
                        name: Open
                      status: Ready
                      tcp:
                        - destination:
                            applicationName: helloWorldApp
                            endpointName: helloWorldListener
                            serviceName: helloWorldService
                          name: web
                          port: 80
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/gateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/gateways/{gatewayResourceName}":
    delete:
      description: Deletes the gateway resource identified by the name.
      operationId: Gateway_Delete
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/GatewayResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content - the specified gateway was not found.
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Deletes the gateway resource.
      tags:
        - Gateways
      x-ms-examples:
        DeleteGateway:
          description: This example shows how to delete an existing gateway resource. If the gateway resource exists and is deleted successfully, an empty response with 200 status code is returned. If the gateway resource does not exist, an empty response with 204 status code is returned.
          operationId: Gateway_Delete
          parameters:
            api-version: 2018-09-01-privatepreview
            gatewayResourceName: sampleGateway
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202": {}
            "204": {}
    get:
      description: Gets the information about the gateway resource with the given name. The information include the description and other properties of the gateway.
      operationId: Gateway_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/GatewayResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/GatewayResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the gateway resource with the given name.
      tags:
        - Gateways
      x-ms-examples:
        GetGateway:
          description: This example shows how to get a gateway resource. If the gateway resource exists, its description is returned along with an OK (200) status code. If the gateway resource does not exist, an error is returned with an appropriate status code.
          operationId: Gateway_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            gatewayResourceName: sampleGateway
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/gateways/sampleGateway
                location: EastUS
                name: sampleGateway
                properties:
                  description: Service Fabric Mesh sample gateway.
                  destinationNetwork:
                    name: helloWorldNetwork
                  http:
                    - hosts:
                        - name: contoso.com
                          routes:
                            - destination:
                                applicationName: httpHelloWorldApp
                                endpointName: indexHttpEndpoint
                                serviceName: indexService
                              match:
                                headers:
                                  - name: accept
                                    type: exact
                                    value: application/json
                                path:
                                  rewrite: /
                                  type: prefix
                                  value: /index
                              name: index
                      name: contosoWebsite
                      port: 8081
                  ipAddress: 192.168.1.1
                  provisioningState: Succeeded
                  sourceNetwork:
                    name: Open
                  status: Ready
                  tcp:
                    - destination:
                        applicationName: helloWorldApp
                        endpointName: helloWorldListener
                        serviceName: helloWorldService
                      name: web
                      port: 80
                tags: {}
                type: Microsoft.ServiceFabricMesh/gateways
    put:
      description: Creates a gateway resource with the specified name, description and properties. If a gateway resource with the same name exists, then it is updated with the specified description and properties. Use gateway resources to create a gateway for public connectivity for services within your application.
      operationId: Gateway_Create
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/GatewayResourceNameRequiredPathParam"
        - $ref: "#/parameters/GatewayResourceDescriptionRequiredBodyParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/GatewayResourceDescription"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/GatewayResourceDescription"
        "202":
          description: Accepted
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Creates or updates a gateway resource.
      tags:
        - Gateways
      x-ms-examples:
        CreateOrUpdateGateway:
          description: This example shows how to create or update a gateway resource.
          operationId: Gateway_Create
          parameters:
            api-version: 2018-09-01-privatepreview
            gatewayResourceDescription:
              location: EastUS
              properties:
                description: Service Fabric Mesh sample gateway.
                destinationNetwork:
                  name: helloWorldNetwork
                http:
                  - hosts:
                      - name: contoso.com
                        routes:
                          - destination:
                              applicationName: httpHelloWorldApp
                              endpointName: indexHttpEndpoint
                              serviceName: indexService
                            match:
                              headers:
                                - name: accept
                                  type: exact
                                  value: application/json
                              path:
                                rewrite: /
                                type: prefix
                                value: /index
                            name: index
                    name: contosoWebsite
                    port: 8081
                sourceNetwork:
                  name: Open
                tcp:
                  - destination:
                      applicationName: helloWorldApp
                      endpointName: helloWorldListener
                      serviceName: helloWorldService
                    name: web
                    port: 80
              tags: {}
            gatewayResourceName: sampleGateway
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/gateways/sampleGateway
                location: EastUS
                name: sampleGateway
                properties:
                  description: Service Fabric Mesh sample gateway.
                  destinationNetwork:
                    name: helloWorldNetwork
                  http:
                    - hosts:
                        - name: contoso.com
                          routes:
                            - destination:
                                applicationName: httpHelloWorldApp
                                endpointName: indexHttpEndpoint
                                serviceName: indexService
                              match:
                                headers:
                                  - name: accept
                                    type: exact
                                    value: application/json
                                path:
                                  rewrite: /
                                  type: prefix
                                  value: /index
                              name: index
                      name: contosoWebsite
                      port: 8081
                  ipAddress: 192.168.1.1
                  provisioningState: Succeeded
                  sourceNetwork:
                    name: Open
                  status: Ready
                  tcp:
                    - destination:
                        applicationName: helloWorldApp
                        endpointName: helloWorldListener
                        serviceName: helloWorldService
                      name: web
                      port: 80
                tags: {}
                type: Microsoft.ServiceFabricMesh/gateways
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/gateways/sampleGateway
                location: EastUS
                name: sampleGateway
                properties:
                  description: Service Fabric Mesh sample gateway.
                  destinationNetwork:
                    name: helloWorldNetwork
                  http:
                    - hosts:
                        - name: contoso.com
                          routes:
                            - destination:
                                applicationName: httpHelloWorldApp
                                endpointName: indexHttpEndpoint
                                serviceName: indexService
                              match:
                                headers:
                                  - name: accept
                                    type: exact
                                    value: application/json
                                path:
                                  rewrite: /
                                  type: prefix
                                  value: /index
                              name: index
                      name: contosoWebsite
                      port: 8081
                  provisioningState: Updating
                  sourceNetwork:
                    name: Open
                  status: Creating
                  tcp:
                    - destination:
                        applicationName: helloWorldApp
                        endpointName: helloWorldListener
                        serviceName: helloWorldService
                      name: web
                      port: 80
                tags: {}
                type: Microsoft.ServiceFabricMesh/gateways
            "202": {}
      x-sf-codegen:
        Powershell:
          skipGeneration: "true"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/networks":
    get:
      description: Gets the information about all network resources in a given resource group. The information include the description and other properties of the Network.
      operationId: Network_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/NetworkResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the network resources in a given resource group.
      tags:
        - Networks
      x-ms-examples:
        ListNetworksByResourceGroup:
          description: This example shows how to list all network resources within a specified resource group.
          operationId: Network_ListByResourceGroup
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                    location: EastUS
                    name: sampleNetwork
                    properties:
                      description: Service Fabric Mesh sample network.
                      kind: Local
                      networkAddressPrefix: 2.0.0.0/16
                      provisioningState: Succeeded
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/networks
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/networks/{networkResourceName}":
    delete:
      description: Deletes the network resource identified by the name.
      operationId: Network_Delete
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/NetworkResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content - the specified network was not found.
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Deletes the network resource.
      tags:
        - Networks
      x-ms-examples:
        DeleteNetwork:
          description: This example shows how to delete an existing network resource. If the network resource exists and is deleted successfully, an empty response with 200 status code is returned. If the network resource does not exist, an empty response with 204 status code is returned.
          operationId: Network_Delete
          parameters:
            api-version: 2018-09-01-privatepreview
            networkResourceName: sampleNetwork
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202": {}
            "204": {}
    get:
      description: Gets the information about the network resource with the given name. The information include the description and other properties of the network.
      operationId: Network_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/NetworkResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/NetworkResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the network resource with the given name.
      tags:
        - Networks
      x-ms-examples:
        GetNetwork:
          description: This example shows how to get a network resource. If the network resource exists, its description is returned along with an OK (200) status code. If the network resource does not exist, an error is returned with an appropriate status code.
          operationId: Network_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            networkResourceName: sampleNetwork
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                location: EastUS
                name: sampleNetwork
                properties:
                  description: Service Fabric Mesh sample network.
                  kind: Local
                  networkAddressPrefix: 2.0.0.0/16
                  provisioningState: Succeeded
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/networks
    put:
      description: Creates a network resource with the specified name, description and properties. If a network resource with the same name exists, then it is updated with the specified description and properties.
      operationId: Network_Create
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/NetworkResourceNameRequiredPathParam"
        - $ref: "#/parameters/NetworkResourceDescriptionRequiredBodyParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/NetworkResourceDescription"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/NetworkResourceDescription"
        "202":
          description: Accepted
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Creates or updates a network resource.
      tags:
        - Networks
      x-ms-examples:
        CreateOrUpdateNetwork:
          description: This example shows how to create or update a network resource.
          operationId: Network_Create
          parameters:
            api-version: 2018-09-01-privatepreview
            networkResourceDescription:
              location: EastUS
              properties:
                description: Service Fabric Mesh sample network.
                kind: Local
                networkAddressPrefix: 2.0.0.0/16
              tags: {}
            networkResourceName: sampleNetwork
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                location: EastUS
                name: sampleNetwork
                properties:
                  description: Service Fabric Mesh sample network.
                  kind: Local
                  networkAddressPrefix: 2.0.0.0/16
                  provisioningState: Succeeded
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/networks
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/networks/sampleNetwork
                location: EastUS
                name: sampleNetwork
                properties:
                  description: Service Fabric Mesh sample network.
                  kind: Local
                  networkAddressPrefix: 2.0.0.0/16
                  provisioningState: Updating
                  status: Creating
                tags: {}
                type: Microsoft.ServiceFabricMesh/networks
            "202": {}
      x-sf-codegen:
        Powershell:
          skipGeneration: "true"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/secrets":
    get:
      description: Gets the information about all secret resources in a given resource group. The information include the description and other properties of the Secret.
      operationId: Secret_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the secret resources in a given resource group.
      tags:
        - Secrets
      x-ms-examples:
        ListSecretsByResourceGroup:
          description: This example shows how to list all secret resources within a specified resource group.
          operationId: Secret_ListByResourceGroup
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString
                    location: EastUS
                    name: dbConnectionString
                    properties:
                      contentType: text/plain
                      description: Mongo DB connection string for backend database!
                      kind: inlinedValue
                      provisioningState: Succeeded
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/secrets
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/secrets/{secretResourceName}":
    delete:
      description: Deletes the secret resource identified by the name.
      operationId: Secret_Delete
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content - the specified secret was not found.
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Deletes the secret resource.
      tags:
        - Secrets
      x-ms-examples:
        DeleteSecret:
          description: This example shows how to delete an existing secret resource. If the secret resource exists and is deleted successfully, an empty response with 200 status code is returned. If the secret resource does not exit, an empty response with 204 status code is returned.
          operationId: Secret_Delete
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202": {}
            "204": {}
    get:
      description: Gets the information about the secret resource with the given name. The information include the description and other properties of the secret.
      operationId: Secret_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the secret resource with the given name.
      tags:
        - Secrets
      x-ms-examples:
        GetSecret:
          description: This example shows how to get a secret resource. If the secret resource exists, its description is returned along with an OK (200) status code. If the secret resource does not exist, an error is returned with an appropriate status code.
          operationId: Secret_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString
                location: EastUS
                name: dbConnectionString
                properties:
                  contentType: text/plain
                  description: Mongo DB connection string for backend database!
                  kind: inlinedValue
                  provisioningState: Succeeded
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/secrets
    put:
      description: Creates a secret resource with the specified name, description and properties. If a secret resource with the same name exists, then it is updated with the specified description and properties.
      operationId: Secret_Create
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceDescriptionRequiredBodyParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretResourceDescription"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/SecretResourceDescription"
        "202":
          description: Accepted
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Creates or updates a secret resource.
      tags:
        - Secrets
      x-ms-examples:
        CreateOrUpdateSecret:
          description: This example shows how to create or update a secret resource.
          operationId: Secret_Create
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceDescription:
              location: EastUS
              properties:
                contentType: text/plain
                description: Mongo DB connection string for backend database!
                kind: inlinedValue
              tags: {}
            secretResourceName: dbConnectionString
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString
                location: EastUS
                name: dbConnectionString
                properties:
                  contentType: text/plain
                  description: Mongo DB connection string for backend database!
                  kind: inlinedValue
                  provisioningState: Succeeded
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/secrets
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString
                location: EastUS
                name: dbConnectionString
                properties:
                  contentType: text/plain
                  description: Mongo DB connection string for backend database!
                  kind: inlinedValue
                  provisioningState: Updating
                  status: Creating
                tags: {}
                type: Microsoft.ServiceFabricMesh/secrets
            "202": {}
      x-sf-codegen:
        Powershell:
          skipGeneration: "true"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/secrets/{secretResourceName}/values":
    get:
      description: Gets information about all secret value resources of the specified secret resource. The information includes the names of the secret value resources, but not the actual values.
      operationId: SecretValue_List
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretValueResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: List names of all values of the specified secret resource.
      tags:
        - SecretValues
      x-ms-examples:
        ListSecretValues:
          description: This example shows how to list names of all values of a secret resource, not including their respective values.
          operationId: SecretValue_List
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString/values/v1
                    location: EastUS
                    name: v1
                    properties:
                      provisioningState: Succeeded
                      value: null
                    type: secrets/values
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString/values/v2
                    location: EastUS
                    name: v2
                    properties:
                      provisioningState: Succeeded
                      value: null
                    type: secrets/values
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/secrets/{secretResourceName}/values/{secretValueResourceName}":
    delete:
      description: Deletes the secret value resource identified by the name. The name of the resource is typically the version associated with that value. Deletion will fail if the specified value is in use.
      operationId: SecretValue_Delete
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
        - $ref: "#/parameters/SecretValueResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content - the specified named secret value was not found.
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Deletes the specified  value of the named secret resource.
      tags:
        - SecretValues
      x-ms-examples:
        DeleteSecretValue:
          description: This example shows how to delete a secret value. If the specified named value exists and is deleted successfully, an empty response with 200 status code is returned. If the specified named value does not exist, an empty response with 204 status code is returned.
          operationId: SecretValue_Delete
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            secretValueResourceName: v1
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202": {}
            "204": {}
    get:
      description: Get the information about the specified named secret value resources. The information does not include the actual value of the secret.
      operationId: SecretValue_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
        - $ref: "#/parameters/SecretValueResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretValueResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the specified secret value resource.
      tags:
        - SecretValues
      x-ms-examples:
        GetSecretValue:
          description: This example shows how to get the specified secret value resource. If the specified named value exists, its information is returned along with status code 200. The information does not include the value. To get the unecnrypted value use SecretValue_ListValue operation. If the specified named value does not exist, an error is returned with an appropriate status code.
          operationId: SecretValue_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            secretValueResourceName: v1
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString/values/v1
                location: EastUS
                name: v1
                properties:
                  provisioningState: Succeeded
                  value: null
                type: secrets/values
    put:
      description: Creates a new value of the specified secret resource. The name of the value is typically the version identifier. Once created the value cannot be changed.
      operationId: SecretValue_Create
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
        - $ref: "#/parameters/SecretValueResourceNameRequiredPathParam"
        - $ref: "#/parameters/SecretValueResourceDescriptionRequiredBodyParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretValueResourceDescription"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/SecretValueResourceDescription"
        "202":
          description: Accepted
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Adds the specified value as a new version of the specified secret resource.
      tags:
        - SecretValues
      x-ms-examples:
        CreateSecretValue:
          description: This example shows how to add a new value of a secret resource; the secret value is provided as plaintext.
          operationId: SecretValue_Create
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            secretValueResourceDescription:
              name: v1
              properties:
                value: mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true
            secretValueResourceName: v1
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString/values/v1
                location: EastUS
                name: v1
                properties:
                  provisioningState: Succeeded
                  value: null
                type: secrets/values
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/secrets/dbConnectionString/values/v1
                location: EastUS
                name: v1
                properties:
                  provisioningState: Updating
                  value: null
                type: secrets/values
            "202": {}
      x-sf-codegen:
        Powershell:
          skipGeneration: "true"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/secrets/{secretResourceName}/values/{secretValueResourceName}/list_value":
    post:
      description: Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.
      operationId: SecretValue_ListValue
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/SecretResourceNameRequiredPathParam"
        - $ref: "#/parameters/SecretValueResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SecretValue"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Lists the specified value of the secret resource.
      tags:
        - SecretValues
      x-ms-examples:
        ListSecretValue:
          description: This example shows how to get the unencrypted value of the secret. If the specified named value resource exists, its unencrypted value is returned along with status code 200. If the specified named value does not exist, an error is returned with an appropriate status code.
          operationId: SecretValue_ListValue
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            secretResourceName: dbConnectionString
            secretValueResourceName: v1
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value: mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/volumes":
    get:
      description: Gets the information about all volume resources in a given resource group. The information include the description and other properties of the Volume.
      operationId: Volume_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VolumeResourceDescriptionList"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets all the volume resources in a given resource group.
      tags:
        - Volumes
      x-ms-examples:
        ListVolumesByResourceGroup:
          description: This example shows how to list all volume resources within a specified resource group.
          operationId: Volume_ListByResourceGroup
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/volumes/sampleVolume
                    location: EastUS
                    name: sampleVolume
                    properties:
                      azureFileParameters:
                        accountName: sbzdemoaccount
                        shareName: sharel
                      description: Service Fabric Mesh sample volume.
                      provider: SFAzureFile
                      provisioningState: Succeeded
                      status: Ready
                    tags: {}
                    type: Microsoft.ServiceFabricMesh/volumes
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh/volumes/{volumeResourceName}":
    delete:
      description: Deletes the volume resource identified by the name.
      operationId: Volume_Delete
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/VolumeResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content - the specified volume was not found.
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Deletes the volume resource.
      tags:
        - Volumes
      x-ms-examples:
        DeleteVolume:
          description: This example shows how to delete an existing volume resource. If the volume resource exists and is deleted successfully, an empty response with 200 status code is returned. If the volume resource does not exit, an empty response with 204 status code is returned.
          operationId: Volume_Delete
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
            volumeResourceName: sampleVolume
          responses:
            "200": {}
            "202": {}
            "204": {}
    get:
      description: Gets the information about the volume resource with the given name. The information include the description and other properties of the volume.
      operationId: Volume_Get
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/VolumeResourceNameRequiredPathParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VolumeResourceDescription"
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Gets the volume resource with the given name.
      tags:
        - Volumes
      x-ms-examples:
        GetVolume:
          description: This example shows how to get a volume resource. If the volume resource exists, its description is returned along with an OK (200) status code. If the volume resource does not exist, an error is returned with an appropriate status code.
          operationId: Volume_Get
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
            volumeResourceName: sampleVolume
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/volumes/sampleVolume
                location: EastUS
                name: sampleVolume
                properties:
                  azureFileParameters:
                    accountName: sbzdemoaccount
                    shareName: sharel
                  description: Service Fabric Mesh sample volume.
                  provider: SFAzureFile
                  provisioningState: Succeeded
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/volumes
    put:
      description: Creates a volume resource with the specified name, description and properties. If a volume resource with the same name exists, then it is updated with the specified description and properties.
      operationId: Volume_Create
      parameters:
        - $ref: "#/parameters/subscriptionIdRequiredPathParam"
        - $ref: "#/parameters/api-versionRequiredQueryParam"
        - $ref: "#/parameters/ResourceGroupNameRequiredPathParam"
        - $ref: "#/parameters/VolumeResourceNameRequiredPathParam"
        - $ref: "#/parameters/VolumeResourceDescriptionRequiredBodyParam"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VolumeResourceDescription"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/VolumeResourceDescription"
        "202":
          description: Accepted
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorModel"
      summary: Creates or updates a volume resource.
      tags:
        - Volumes
      x-ms-examples:
        CreateOrUpdateVolume:
          description: This example shows how to create or update a volume resource.
          operationId: Volume_Create
          parameters:
            api-version: 2018-09-01-privatepreview
            resourceGroupName: sbz_demo
            subscriptionId: 00000000-0000-0000-0000-000000000000
            volumeResourceDescription:
              location: EastUS
              properties:
                azureFileParameters:
                  accountKey: provide-account-key-here
                  accountName: sbzdemoaccount
                  shareName: sharel
                description: Service Fabric Mesh sample volume.
                provider: SFAzureFile
              tags: {}
            volumeResourceName: sampleVolume
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/volumes/sampleVolume
                location: EastUS
                name: sampleVolume
                properties:
                  azureFileParameters:
                    accountName: sbzdemoaccount
                    shareName: sharel
                  description: Service Fabric Mesh sample volume.
                  provider: SFAzureFile
                  provisioningState: Succeeded
                  status: Ready
                tags: {}
                type: Microsoft.ServiceFabricMesh/volumes
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sbz_demo/providers/Microsoft.ServiceFabricMesh/volumes/sampleVolume
                location: EastUS
                name: sampleVolume
                properties:
                  azureFileParameters:
                    accountName: sbzdemoaccount
                    shareName: sharel
                  description: Service Fabric Mesh sample volume.
                  provider: SFAzureFile
                  provisioningState: Updating
                  status: Creating
                tags: {}
                type: Microsoft.ServiceFabricMesh/volumes
            "202": {}
      x-sf-codegen:
        Powershell:
          skipGeneration: "true"
definitions:
  AddRemoveReplicaScalingMechanism:
    allOf:
      - $ref: "#/definitions/AutoScalingMechanism"
      - type: object
    description: Describes the horizontal auto scaling mechanism that adds or removes replicas (containers or container groups).
    properties:
      maxCount:
        description: Maximum number of containers (scale up won't be performed above this number).
        type: integer
      minCount:
        description: Minimum number of containers (scale down won't be performed below this number).
        type: integer
      scaleIncrement:
        description: Each time auto scaling is performed, this number of containers will be added or removed.
        type: integer
    required:
      - minCount
      - maxCount
      - scaleIncrement
    x-ms-discriminator-value: AddRemoveReplica
  ApplicationProperties:
    description: Describes properties of a application resource.
    properties:
      debugParams:
        description: Internal - used by Visual Studio to setup the debugging session on the local development environment.
        type: string
      description:
        description: User readable description of the application.
        type: string
      diagnostics:
        $ref: "#/definitions/DiagnosticsDescription"
        description: Describes the diagnostics definition and usage for an application resource.
      healthState:
        $ref: "#/definitions/HealthState"
        description: Describes the health state of an application resource.
        readOnly: true
      serviceNames:
        description: Names of the services in the application.
        items:
          type: string
        readOnly: true
        type: array
      services:
        description: Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.
        items:
          $ref: "#/definitions/ServiceResourceDescription"
        type: array
      status:
        $ref: "#/definitions/ResourceStatus"
        description: Status of the application.
        readOnly: true
      statusDetails:
        description: Gives additional information about the current status of the application.
        readOnly: true
        type: string
      unhealthyEvaluation:
        description: When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy.
        readOnly: true
        type: string
  ApplicationResourceDescription:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: This type describes an application resource.
    properties:
      properties:
        $ref: "#/definitions/ApplicationResourceProperties"
        description: This type describes properties of an application resource.
        x-ms-client-flatten: true
    required:
      - properties
  ApplicationResourceDescriptionList:
    description: A pageable list of application resources.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/ApplicationResourceDescription"
        type: array
    type: object
  ApplicationResourceProperties:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
      - $ref: "#/definitions/ApplicationProperties"
    description: This type describes properties of an application resource.
  ApplicationScopedVolume:
    allOf:
      - $ref: "#/definitions/VolumeReference"
    description: Describes a volume whose lifetime is scoped to the application's lifetime.
    properties:
      creationParameters:
        $ref: "#/definitions/ApplicationScopedVolumeCreationParameters"
        description: Describes parameters for creating application-scoped volumes.
    required:
      - creationParameters
  ApplicationScopedVolumeCreationParameters:
    description: Describes parameters for creating application-scoped volumes.
    discriminator: kind
    properties:
      description:
        description: User readable description of the volume.
        type: string
      kind:
        $ref: "#/definitions/ApplicationScopedVolumeKind"
        description: Specifies the application-scoped volume kind.
    required:
      - kind
    type: object
  ApplicationScopedVolumeCreationParametersServiceFabricVolumeDisk:
    allOf:
      - $ref: "#/definitions/ApplicationScopedVolumeCreationParameters"
    description: Describes parameters for creating application-scoped volumes provided by Service Fabric Volume Disks
    properties:
      sizeDisk:
        description: Volume size
        enum:
          - Small
          - Medium
          - Large
        type: string
        x-ms-enum:
          modelAsString: true
          name: SizeTypes
    required:
      - sizeDisk
    x-ms-discriminator-value: ServiceFabricVolumeDisk
  ApplicationScopedVolumeKind:
    description: Specifies the application-scoped volume kind.
    enum:
      - ServiceFabricVolumeDisk
    type: string
    x-ms-enum:
      modelAsString: true
      name: ApplicationScopedVolumeKind
      values:
        - description: Provides Service Fabric High Availability Volume Disk
          value: ServiceFabricVolumeDisk
  AutoScalingMechanism:
    description: Describes the mechanism for performing auto scaling operation. Derived classes will describe the actual mechanism.
    discriminator: kind
    properties:
      kind:
        $ref: "#/definitions/AutoScalingMechanismKind"
        description: The type of auto scaling mechanism.
    required:
      - kind
    type: object
  AutoScalingMechanismKind:
    description: Enumerates the mechanisms for auto scaling.
    enum:
      - AddRemoveReplica
    type: string
    x-ms-enum:
      modelAsString: true
      name: AutoScalingMechanismKind
      values:
        - description: Indicates that scaling should be performed by adding or removing replicas.
          value: AddRemoveReplica
  AutoScalingMetric:
    description: Describes the metric that is used for triggering auto scaling operation. Derived classes will describe resources or metrics.
    discriminator: kind
    properties:
      kind:
        $ref: "#/definitions/AutoScalingMetricKind"
        description: The type of auto scaling metric
    required:
      - kind
    type: object
  AutoScalingMetricKind:
    description: Enumerates the metrics that are used for triggering auto scaling.
    enum:
      - Resource
    type: string
    x-ms-enum:
      modelAsString: true
      name: AutoScalingMetricKind
      values:
        - description: Indicates that the metric is one of resources, like cpu or memory.
          value: Resource
  AutoScalingPolicy:
    description: Describes the auto scaling policy
    properties:
      mechanism:
        $ref: "#/definitions/AutoScalingMechanism"
        description: The mechanism that is used to scale when auto scaling operation is invoked.
      name:
        description: The name of the auto scaling policy.
        type: string
      trigger:
        $ref: "#/definitions/AutoScalingTrigger"
        description: Determines when auto scaling operation will be invoked.
    required:
      - name
      - trigger
      - mechanism
    type: object
  AutoScalingResourceMetric:
    allOf:
      - $ref: "#/definitions/AutoScalingMetric"
      - type: object
    description: Describes the resource that is used for triggering auto scaling.
    properties:
      name:
        $ref: "#/definitions/AutoScalingResourceMetricName"
        description: Name of the resource.
    required:
      - name
    x-ms-discriminator-value: Resource
  AutoScalingResourceMetricName:
    description: Enumerates the resources that are used for triggering auto scaling.
    enum:
      - cpu
      - memoryInGB
    type: string
    x-ms-enum:
      modelAsString: true
      name: AutoScalingResourceMetricName
      values:
        - description: Indicates that the resource is CPU cores.
          value: cpu
        - description: Indicates that the resource is memory in GB.
          value: memoryInGB
  AutoScalingTrigger:
    description: Describes the trigger for performing auto scaling operation.
    discriminator: kind
    properties:
      kind:
        $ref: "#/definitions/AutoScalingTriggerKind"
        description: The type of auto scaling trigger
    required:
      - kind
    type: object
  AutoScalingTriggerKind:
    description: Enumerates the triggers for auto scaling.
    enum:
      - AverageLoad
    type: string
    x-ms-enum:
      modelAsString: true
      name: AutoScalingTriggerKind
      values:
        - description: Indicates that scaling should be performed based on average load of all replicas in the service.
          value: AverageLoad
  AvailableOperationDisplay:
    description: An operation available at the listed Azure resource provider.
    properties:
      description:
        description: Description of the available operation.
        type: string
      operation:
        description: Name of the available operation.
        type: string
      provider:
        description: Name of the operation provider.
        type: string
      resource:
        description: Name of the resource on which the operation is available.
        type: string
  AverageLoadScalingTrigger:
    allOf:
      - $ref: "#/definitions/AutoScalingTrigger"
      - type: object
    description: Describes the average load trigger used for auto scaling.
    properties:
      lowerLoadThreshold:
        description: Lower load threshold (if average load is below this threshold, service will scale down).
        format: double
        type: number
      metric:
        $ref: "#/definitions/AutoScalingMetric"
        description: Description of the metric that is used for scaling.
      scaleIntervalInSeconds:
        description: Scale interval that indicates how often will this trigger be checked.
        minimum: 60
        type: integer
      upperLoadThreshold:
        description: Upper load threshold (if average load is above this threshold, service will scale up).
        format: double
        type: number
    required:
      - metric
      - lowerLoadThreshold
      - upperLoadThreshold
      - scaleIntervalInSeconds
    x-ms-discriminator-value: AverageLoad
  AzureInternalMonitoringPipelineSinkDescription:
    allOf:
      - $ref: "#/definitions/DiagnosticsSinkProperties"
    description: Diagnostics settings for Geneva.
    properties:
      accountName:
        description: Azure Internal monitoring pipeline account.
        type: string
      autoKeyConfigUrl:
        description: Azure Internal monitoring pipeline autokey associated with the certificate.
        type: string
      fluentdConfigUrl:
        description: Azure Internal monitoring agent fluentd configuration.
      maConfigUrl:
        description: Azure Internal monitoring agent configuration.
        type: string
      namespace:
        description: Azure Internal monitoring pipeline account namespace.
        type: string
    x-ms-discriminator-value: AzureInternalMonitoringPipeline
  ContainerCodePackageProperties:
    description: Describes a container and its runtime properties.
    properties:
      commands:
        description: Command array to execute within the container in exec form.
        items:
          type: string
        type: array
      diagnostics:
        $ref: "#/definitions/DiagnosticsRef"
        description: Reference to sinks in DiagnosticsDescription.
      endpoints:
        description: The endpoints exposed by this container.
        items:
          $ref: "#/definitions/EndpointProperties"
        type: array
      entrypoint:
        description: Override for the default entry point in the container.
        type: string
      environmentVariables:
        description: The environment variables to set in this container
        items:
          $ref: "#/definitions/EnvironmentVariable"
        type: array
      image:
        description: The Container image to use.
        type: string
      imageRegistryCredential:
        $ref: "#/definitions/ImageRegistryCredential"
        description: Image registry credential.
      instanceView:
        $ref: "#/definitions/ContainerInstanceView"
        description: Runtime information of a container instance.
        readOnly: true
      labels:
        description: The labels to set in this container.
        items:
          $ref: "#/definitions/ContainerLabel"
        type: array
      name:
        description: The name of the code package.
        type: string
      reliableCollectionsRefs:
        description: A list of ReliableCollection resources used by this particular code package. Please refer to ReliableCollectionsRef for more details.
        items:
          $ref: "#/definitions/ReliableCollectionsRef"
        type: array
      resources:
        $ref: "#/definitions/ResourceRequirements"
        description: The resources required by this container.
      settings:
        description: The settings to set in this container. The setting file path can be fetched from environment variable "Fabric_SettingPath". The path for Windows container is "C:\\secrets". The path for Linux container is "/var/secrets".
        items:
          $ref: "#/definitions/Setting"
        type: array
      volumeRefs:
        description: Volumes to be attached to the container. The lifetime of these volumes is independent of the application's lifetime.
        items:
          $ref: "#/definitions/VolumeReference"
        type: array
      volumes:
        description: Volumes to be attached to the container. The lifetime of these volumes is scoped to the application's lifetime.
        items:
          $ref: "#/definitions/ApplicationScopedVolume"
        type: array
    required:
      - name
      - image
      - resources
  ContainerEvent:
    description: A container event.
    properties:
      count:
        description: The count of the event.
        type: integer
      firstTimestamp:
        description: Date/time of the first event.
        type: string
      lastTimestamp:
        description: Date/time of the last event.
        type: string
      message:
        description: The event message
        type: string
      name:
        description: The name of the container event.
        type: string
      type:
        description: The event type.
        type: string
  ContainerInstanceView:
    description: Runtime information of a container instance.
    properties:
      currentState:
        $ref: "#/definitions/ContainerState"
        description: Current container instance state.
      events:
        description: The events of this container instance.
        items:
          $ref: "#/definitions/ContainerEvent"
        type: array
      previousState:
        $ref: "#/definitions/ContainerState"
        description: Previous container instance state.
      restartCount:
        description: The number of times the container has been restarted.
        type: integer
  ContainerLabel:
    description: Describes a container label.
    properties:
      name:
        description: The name of the container label.
        type: string
      value:
        description: The value of the container label.
        type: string
    required:
      - name
      - value
  ContainerLogs:
    description: Container logs.
    properties:
      content:
        description: Container logs.
        type: string
  ContainerState:
    description: The container state.
    properties:
      detailStatus:
        description: Human-readable status of this state.
        type: string
      exitCode:
        description: The container exit code.
        type: string
      finishTime:
        description: Date/time when the container state finished.
        format: date-time
        type: string
      startTime:
        description: Date/time when the container state started.
        format: date-time
        type: string
      state:
        description: The state of this container
        type: string
  DiagnosticsDescription:
    description: Describes the diagnostics options available
    properties:
      defaultSinkRefs:
        description: The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.
        items:
          type: string
        type: array
      enabled:
        description: Status of whether or not sinks are enabled.
        type: boolean
      sinks:
        description: List of supported sinks that can be referenced.
        items:
          $ref: "#/definitions/DiagnosticsSinkProperties"
        type: array
  DiagnosticsRef:
    description: Reference to sinks in DiagnosticsDescription.
    properties:
      enabled:
        description: Status of whether or not sinks are enabled.
        type: boolean
      sinkRefs:
        description: List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.
        items:
          type: string
        type: array
  DiagnosticsSinkKind:
    description: The kind of DiagnosticsSink.
    enum:
      - Invalid
      - AzureInternalMonitoringPipeline
    type: string
    x-ms-enum:
      modelAsString: true
      name: DiagnosticsSinkKind
      values:
        - description: Indicates an invalid sink kind. All Service Fabric enumerations have the invalid type.
          value: Invalid
        - description: Diagnostics settings for Geneva.
          value: AzureInternalMonitoringPipeline
  DiagnosticsSinkProperties:
    description: Properties of a DiagnosticsSink.
    discriminator: kind
    properties:
      description:
        description: A description of the sink.
        type: string
      kind:
        $ref: "#/definitions/DiagnosticsSinkKind"
        description: The kind of DiagnosticsSink.
      name:
        description: Name of the sink. This value is referenced by DiagnosticsReferenceDescription
        type: string
    required:
      - kind
  EndpointProperties:
    description: Describes a container endpoint.
    properties:
      name:
        description: The name of the endpoint.
        type: string
      port:
        description: Port used by the container.
        type: integer
    required:
      - name
  EndpointRef:
    description: Describes a reference to a service endpoint.
    properties:
      name:
        description: Name of the endpoint.
        type: string
  EnvironmentVariable:
    description: Describes an environment variable for the container.
    properties:
      name:
        description: The name of the environment variable.
        type: string
      value:
        description: The value of the environment variable.
        type: string
  ErrorDetailsModel:
    description: Error model details information
    properties:
      code:
        type: string
      message:
        description: Error message.
        type: string
    required:
      - code
      - message
  ErrorErrorModel:
    description: Error model information
    properties:
      code:
        type: string
      details:
        description: List of error message details.
        items:
          $ref: "#/definitions/ErrorDetailsModel"
        type: array
      innerError:
        type: string
      message:
        description: Error message.
        type: string
    required:
      - code
  ErrorModel:
    description: The error details.
    properties:
      error:
        $ref: "#/definitions/ErrorErrorModel"
        description: Error model information
    required:
      - error
  GatewayDestination:
    description: Describes destination endpoint for routing traffic.
    properties:
      applicationName:
        description: Name of the service fabric Mesh application.
        type: string
      endpointName:
        description: name of the endpoint in the service.
        type: string
      serviceName:
        description: service that contains the endpoint.
        type: string
    required:
      - applicationName
      - endpointName
      - serviceName
    type: object
  GatewayProperties:
    description: Describes properties of a gateway resource.
    properties:
      description:
        description: User readable description of the gateway.
        type: string
      destinationNetwork:
        $ref: "#/definitions/NetworkRef"
        description: Network that the Application is using.
      http:
        description: Configuration for http connectivity for this gateway.
        items:
          $ref: "#/definitions/HttpConfig"
        type: array
      ipAddress:
        description: IP address of the gateway. This is populated in the response and is ignored for incoming requests.
        readOnly: true
        type: string
      sourceNetwork:
        $ref: "#/definitions/NetworkRef"
        description: Network the gateway should listen on for requests.
      status:
        $ref: "#/definitions/ResourceStatus"
        description: Status of the resource.
        readOnly: true
      statusDetails:
        description: Gives additional information about the current status of the gateway.
        readOnly: true
        type: string
      tcp:
        description: Configuration for tcp connectivity for this gateway.
        items:
          $ref: "#/definitions/TcpConfig"
        type: array
    required:
      - destinationNetwork
      - sourceNetwork
  GatewayResourceDescription:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: This type describes a gateway resource.
    properties:
      properties:
        $ref: "#/definitions/GatewayResourceProperties"
        description: This type describes properties of a gateway resource.
        x-ms-client-flatten: true
    required:
      - properties
  GatewayResourceDescriptionList:
    description: A pageable list of gateway resources.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/GatewayResourceDescription"
        type: array
    type: object
  GatewayResourceProperties:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
      - $ref: "#/definitions/GatewayProperties"
    description: This type describes properties of a gateway resource.
  HealthState:
    description: The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.
    enum:
      - Invalid
      - Ok
      - Warning
      - Error
      - Unknown
    type: string
    x-ms-enum:
      modelAsString: true
      name: HealthState
      values:
        - description: Indicates an invalid health state. All Service Fabric enumerations have the invalid type. The value is zero.
          value: Invalid
        - description: Indicates the health state is okay. The value is 1.
          value: Ok
        - description: Indicates the health state is at a warning level. The value is 2.
          value: Warning
        - description: Indicates the health state is at an error level. Error health state should be investigated, as they can impact the correct functionality of the cluster. The value is 3.
          value: Error
        - description: Indicates an unknown health status. The value is 65535.
          value: Unknown
  HttpConfig:
    description: Describes the http configuration for external connectivity for this network.
    properties:
      hosts:
        description: description for routing.
        items:
          $ref: "#/definitions/HttpHostConfig"
        type: array
      name:
        description: http gateway config name.
        type: string
      port:
        description: Specifies the port at which the service endpoint below needs to be exposed.
        type: integer
    required:
      - hosts
      - name
      - port
    type: object
  HttpHostConfig:
    description: Describes the hostname properties for http routing.
    properties:
      name:
        description: http hostname config name.
        type: string
      routes:
        description: Route information to use for routing. Routes are processed in the order they are specified. Specify routes that are more specific before routes that can handle general cases.
        items:
          $ref: "#/definitions/HttpRouteConfig"
        type: array
    required:
      - name
      - routes
    type: object
  HttpRouteConfig:
    description: Describes the hostname properties for http routing.
    properties:
      destination:
        $ref: "#/definitions/GatewayDestination"
        description: Describes destination endpoint for routing traffic.
      match:
        $ref: "#/definitions/HttpRouteMatchRule"
        description: Describes a rule for http route matching.
      name:
        description: http route name.
        type: string
    required:
      - destination
      - match
      - name
    type: object
  HttpRouteMatchHeader:
    description: Describes header information for http route matching.
    properties:
      name:
        description: Name of header to match in request.
        type: string
      type:
        description: how to match header value
        enum:
          - exact
        type: string
        x-ms-enum:
          modelAsString: true
          name: HeaderMatchType
      value:
        description: Value of header to match in request.
        type: string
    required:
      - name
    type: object
  HttpRouteMatchPath:
    description: Path to match for routing.
    properties:
      rewrite:
        description: replacement string for matched part of the Uri.
        type: string
      type:
        description: how to match value in the Uri
        enum:
          - prefix
        type: string
        x-ms-enum:
          modelAsString: true
          name: PathMatchType
      value:
        description: Uri path to match for request.
        type: string
    required:
      - type
      - value
    type: object
  HttpRouteMatchRule:
    description: Describes a rule for http route matching.
    properties:
      headers:
        description: headers and their values to match in request.
        items:
          $ref: "#/definitions/HttpRouteMatchHeader"
        type: array
      path:
        $ref: "#/definitions/HttpRouteMatchPath"
        description: Path to match for routing.
    required:
      - path
    type: object
  ImageRegistryCredential:
    description: Image registry credential.
    properties:
      password:
        description: The password for the private registry. The password is required for create or update operations, however it is not returned in the get or list operations.
        type: string
      server:
        description: Docker image registry server, without protocol such as `http` and `https`.
        type: string
      username:
        description: The username for the private registry.
        type: string
    required:
      - server
      - username
  InlinedValueSecretResourceProperties:
    allOf:
      - $ref: "#/definitions/SecretResourceProperties"
    description: Describes the properties of a secret resource whose value is provided explicitly as plaintext. The secret resource may have multiple values, each being uniquely versioned. The secret value of each version is stored encrypted, and delivered as plaintext into the context of applications referencing it.
    x-ms-discriminator-value: inlinedValue
  LocalNetworkResourceProperties:
    allOf:
      - $ref: "#/definitions/NetworkResourceProperties"
    description: Information about a Service Fabric container network local to a single Service Fabric cluster.
    properties:
      networkAddressPrefix:
        $ref: "#/definitions/NetworkAddressPrefix"
        description: Address space for the local container network.
    x-ms-discriminator-value: Local
  ManagedProxyResource:
    description: The resource model definition for Azure Resource Manager proxy resource. It will have everything other than required location and tags. This proxy resource is explicitly created or updated by including it in the parent resource.
    properties:
      id:
        description: Fully qualified identifier for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
        readOnly: true
        type: string
        x-ms-mutability:
          - read
      name:
        description: The name of the resource
        type: string
        x-ms-mutability:
          - read
          - create
          - update
      type:
        description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
        readOnly: true
        type: string
        x-ms-mutability:
          - read
    x-ms-azure-resource: true
  NetworkAddressPrefix:
    description: Address space for a container network. This is expressed in CIDR notation.
    type: string
  NetworkKind:
    description: The type of a Service Fabric container network.
    enum:
      - Local
    type: string
    x-ms-enum:
      modelAsString: true
      name: NetworkKind
      values:
        - description: Indicates a container network local to a single Service Fabric cluster. The value is 1.
          value: Local
  NetworkRef:
    description: Describes a network reference in a service.
    properties:
      endpointRefs:
        description: A list of endpoints that are exposed on this network.
        items:
          $ref: "#/definitions/EndpointRef"
        type: array
      name:
        description: Name of the network
        type: string
  NetworkResourceDescription:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: This type describes a network resource.
    properties:
      properties:
        $ref: "#/definitions/NetworkResourceProperties"
        description: Describes properties of a network resource.
    required:
      - properties
  NetworkResourceDescriptionList:
    description: A pageable list of network resources.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/NetworkResourceDescription"
        type: array
    type: object
  NetworkResourceProperties:
    allOf:
      - $ref: "#/definitions/NetworkResourcePropertiesBase"
    description: Describes properties of a network resource.
    properties:
      description:
        description: User readable description of the network.
        type: string
      status:
        $ref: "#/definitions/ResourceStatus"
        description: Status of the network.
        readOnly: true
      statusDetails:
        description: Gives additional information about the current status of the network.
        readOnly: true
        type: string
    type: object
  NetworkResourcePropertiesBase:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
    description: This type describes the properties of a network resource, including its kind.
    discriminator: kind
    properties:
      kind:
        $ref: "#/definitions/NetworkKind"
        description: The type of a Service Fabric container network.
    required:
      - kind
    type: object
  OperatingSystemType:
    description: The operation system required by the code in service.
    enum:
      - Linux
      - Windows
    type: string
    x-ms-enum:
      modelAsString: true
      name: OperatingSystemType
      values:
        - description: The required operating system is Linux.
          value: Linux
        - description: The required operating system is Windows.
          value: Windows
  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: List of operations available at the listed Azure resource provider.
    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
  ProvisionedResourceProperties:
    description: Describes common properties of a provisioned resource.
    properties:
      provisioningState:
        description: State of the resource.
        readOnly: true
        type: string
  ProxyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for Azure Resource Manager proxy resource. It will have everything other than required location and tags.
  ReliableCollectionsRef:
    description: Specifying this parameter adds support for reliable collections
    properties:
      doNotPersistState:
        description: False (the default) if ReliableCollections state is persisted to disk as usual. True if you do not want to persist state, in which case replication is still enabled and you can use ReliableCollections as distributed cache.
        type: boolean
      name:
        description: Name of ReliableCollection resource. Right now it's not used and you can use any string.
        type: string
    required:
      - name
  Resource:
    description: The resource model definition for Azure Resource Manager resource.
    properties:
      id:
        description: Fully qualified identifier for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
        readOnly: true
        type: string
        x-ms-mutability:
          - read
      name:
        description: The name of the resource
        readOnly: true
        type: string
        x-ms-mutability:
          - read
      type:
        description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
        readOnly: true
        type: string
        x-ms-mutability:
          - read
    x-ms-azure-resource: true
  ResourceLimits:
    description: This type describes the resource limits for a given container. It describes the most amount of resources a container is allowed to use before being restarted.
    properties:
      cpu:
        description: CPU limits in cores. At present, only full cores are supported.
        format: double
        type: number
      memoryInGB:
        description: The memory limit in GB.
        format: double
        type: number
  ResourceRequests:
    description: This type describes the requested resources for a given container. It describes the least amount of resources required for the container. A container can consume more than requested resources up to the specified limits before being restarted. Currently, the requested resources are treated as limits.
    properties:
      cpu:
        description: Requested number of CPU cores. At present, only full cores are supported.
        format: double
        type: number
      memoryInGB:
        description: The memory request in GB for this container.
        format: double
        type: number
    required:
      - memoryInGB
      - cpu
  ResourceRequirements:
    description: This type describes the resource requirements for a container or a service.
    properties:
      limits:
        $ref: "#/definitions/ResourceLimits"
        description: Describes the maximum limits on the resources for a given container.
      requests:
        $ref: "#/definitions/ResourceRequests"
        description: Describes the requested resources for a given container.
    required:
      - requests
  ResourceStatus:
    description: Status of the resource.
    enum:
      - Unknown
      - Ready
      - Upgrading
      - Creating
      - Deleting
      - Failed
    type: string
    x-ms-enum:
      modelAsString: true
      name: ResourceStatus
      values:
        - description: Indicates the resource status is unknown. The value is zero.
          value: Unknown
        - description: Indicates the resource is ready. The value is 1.
          value: Ready
        - description: Indicates the resource is upgrading. The value is 2.
          value: Upgrading
        - description: Indicates the resource is being created. The value is 3.
          value: Creating
        - description: Indicates the resource is being deleted. The value is 4.
          value: Deleting
        - description: Indicates the resource is not functional due to persistent failures. See statusDetails property for more details. The value is 5.
          value: Failed
  SecretKind:
    description: Describes the kind of secret.
    enum:
      - inlinedValue
    type: string
    x-ms-enum:
      modelAsString: true
      name: SecretKind
      values:
        - description: A simple secret resource whose plaintext value is provided by the user.
          value: inlinedValue
  SecretResourceDescription:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: This type describes a secret resource.
    properties:
      properties:
        $ref: "#/definitions/SecretResourceProperties"
        description: Describes the properties of a secret resource.
    required:
      - properties
  SecretResourceDescriptionList:
    description: A pageable list of secret resources.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/SecretResourceDescription"
        type: array
    type: object
  SecretResourceProperties:
    allOf:
      - $ref: "#/definitions/SecretResourcePropertiesBase"
    description: Describes the properties of a secret resource.
    properties:
      contentType:
        description: The type of the content stored in the secret value. The value of this property is opaque to Service Fabric. Once set, the value of this property cannot be changed.
        type: string
      description:
        description: User readable description of the secret.
        type: string
      status:
        $ref: "#/definitions/ResourceStatus"
        description: Status of the resource.
        readOnly: true
      statusDetails:
        description: Gives additional information about the current status of the secret.
        readOnly: true
        type: string
    type: object
  SecretResourcePropertiesBase:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
    description: This type describes the properties of a secret resource, including its kind.
    discriminator: kind
    properties:
      kind:
        $ref: "#/definitions/SecretKind"
        description: Describes the kind of secret.
    required:
      - kind
    type: object
  SecretValue:
    description: This type represents the unencrypted value of the secret.
    properties:
      value:
        description: The actual value of the secret.
        type: string
    type: object
  SecretValueProperties:
    description: This type describes properties of secret value resource.
    properties:
      value:
        description: The actual value of the secret.
        type: string
    type: object
  SecretValueResourceDescription:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: This type describes a value of a secret resource. The name of this resource is the version identifier corresponding to this secret value.
    properties:
      properties:
        $ref: "#/definitions/SecretValueResourceProperties"
        description: This type describes properties of a secret value resource.
        x-ms-client-flatten: true
    required:
      - properties
  SecretValueResourceDescriptionList:
    description: A pageable list of values of a secret resource. The information does not include only the name of the value and not the actual unencrypted value.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/SecretValueResourceDescription"
        type: array
    type: object
  SecretValueResourceProperties:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
      - $ref: "#/definitions/SecretValueProperties"
    description: This type describes properties of a secret value resource.
  ServiceProperties:
    description: Describes properties of a service resource.
    properties:
      autoScalingPolicies:
        description: Auto scaling policies
        items:
          $ref: "#/definitions/AutoScalingPolicy"
        type: array
      description:
        description: User readable description of the service.
        type: string
      healthState:
        $ref: "#/definitions/HealthState"
        description: Describes the health state of an application resource.
        readOnly: true
      replicaCount:
        description: The number of replicas of the service to create. Defaults to 1 if not specified.
        type: integer
      status:
        $ref: "#/definitions/ResourceStatus"
        description: Status of the service.
        readOnly: true
      statusDetails:
        description: Gives additional information about the current status of the service.
        readOnly: true
        type: string
      unhealthyEvaluation:
        description: When the service's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the service is marked unhealthy.
        readOnly: true
        type: string
  ServiceReplicaDescription:
    allOf:
      - $ref: "#/definitions/ServiceReplicaProperties"
    description: Describes a replica of a service resource.
    properties:
      replicaName:
        description: Name of the replica.
        type: string
    required:
      - replicaName
  ServiceReplicaDescriptionList:
    description: A pageable list of service replicas.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/ServiceReplicaDescription"
        type: array
    type: object
  ServiceReplicaProperties:
    description: Describes the properties of a service replica.
    properties:
      codePackages:
        description: Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
        items:
          $ref: "#/definitions/ContainerCodePackageProperties"
        type: array
      diagnostics:
        $ref: "#/definitions/DiagnosticsRef"
        description: Reference to sinks in DiagnosticsDescription.
      networkRefs:
        description: The names of the private networks that this service needs to be part of.
        items:
          $ref: "#/definitions/NetworkRef"
        type: array
      osType:
        $ref: "#/definitions/OperatingSystemType"
        description: The operation system required by the code in service.
    required:
      - osType
      - codePackages
  ServiceResourceDescription:
    allOf:
      - $ref: "#/definitions/ManagedProxyResource"
    description: This type describes a service resource.
    properties:
      properties:
        $ref: "#/definitions/ServiceResourceProperties"
        description: This type describes properties of a service resource.
        x-ms-client-flatten: true
    required:
      - properties
  ServiceResourceDescriptionList:
    description: A pageable list of service resources.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/ServiceResourceDescription"
        type: array
    type: object
  ServiceResourceProperties:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
      - $ref: "#/definitions/ServiceReplicaProperties"
      - $ref: "#/definitions/ServiceProperties"
    description: This type describes properties of a service resource.
  Setting:
    description: Describes a setting for the container. The setting file path can be fetched from environment variable "Fabric_SettingPath". The path for Windows container is "C:\\secrets". The path for Linux container is "/var/secrets".
    properties:
      name:
        description: The name of the setting.
        type: string
      value:
        description: The value of the setting.
        type: string
  TcpConfig:
    description: Describes the tcp configuration for external connectivity for this network.
    properties:
      destination:
        $ref: "#/definitions/GatewayDestination"
        description: Describes destination endpoint for routing traffic.
      name:
        description: tcp gateway config name.
        type: string
      port:
        description: Specifies the port at which the service endpoint below needs to be exposed.
        type: integer
    required:
      - destination
      - name
      - port
    type: object
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for Azure Resource Manager tracked top-level resource.
    properties:
      location:
        description: The geo-location where the resource lives
        type: string
        x-ms-mutability:
          - read
          - create
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
        x-ms-mutability:
          - read
          - create
          - update
    required:
      - location
  VolumeProperties:
    description: Describes properties of a volume resource.
    properties:
      azureFileParameters:
        $ref: "#/definitions/VolumeProviderParametersAzureFile"
        description: This type describes a volume provided by an Azure Files file share.
      description:
        description: User readable description of the volume.
        type: string
      provider:
        $ref: "#/definitions/VolumeProvider"
        description: Provider of the volume.
      status:
        $ref: "#/definitions/ResourceStatus"
        description: Status of the volume.
        readOnly: true
      statusDetails:
        description: Gives additional information about the current status of the volume.
        readOnly: true
        type: string
    required:
      - provider
  VolumeProvider:
    description: Describes the provider of the volume resource.
    enum:
      - SFAzureFile
    type: string
    x-ms-enum:
      modelAsString: true
      name: VolumeProvider
      values:
        - description: Provides volumes that are backed by Azure Files.
          value: SFAzureFile
  VolumeProviderParametersAzureFile:
    description: This type describes a volume provided by an Azure Files file share.
    properties:
      accountKey:
        description: Access key of the Azure storage account for the File Share.
        type: string
      accountName:
        description: Name of the Azure storage account for the File Share.
        type: string
      shareName:
        description: Name of the Azure Files file share that provides storage for the volume.
        type: string
    required:
      - accountName
      - shareName
  VolumeReference:
    description: Describes a reference to a volume resource.
    properties:
      destinationPath:
        description: The path within the container at which the volume should be mounted. Only valid path characters are allowed.
        type: string
      name:
        description: Name of the volume being referenced.
        type: string
      readOnly:
        description: The flag indicating whether the volume is read only. Default is 'false'.
        type: boolean
    required:
      - name
      - destinationPath
    type: object
  VolumeResourceDescription:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: This type describes a volume resource.
    properties:
      properties:
        $ref: "#/definitions/VolumeResourceProperties"
        description: This type describes properties of a volume resource.
        x-ms-client-flatten: true
    required:
      - properties
  VolumeResourceDescriptionList:
    description: A pageable list of volume resources.
    properties:
      nextLink:
        description: URI to fetch the next page of the list.
        type: string
      value:
        description: One page of the list.
        items:
          $ref: "#/definitions/VolumeResourceDescription"
        type: array
    type: object
  VolumeResourceProperties:
    allOf:
      - $ref: "#/definitions/ProvisionedResourceProperties"
      - $ref: "#/definitions/VolumeProperties"
    description: This type describes properties of a volume resource.
