swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Description of the new service
  title: VMwareCloudSimple
  version: 2019-04-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-ms-code-generation-settings:
    name: VMwareCloudSimpleClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: vmwarecloudsimple
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  api-version:
    description: Client API version.
    in: query
    name: api-version
    required: true
    type: string
  pcName:
    description: The private cloud name
    in: path
    name: pcName
    required: true
    type: string
    x-ms-parameter-location: method
  referer:
    description: referer url
    in: header
    name: Referer
    required: true
    type: string
    x-ms-parameter-location: client
  regionId:
    description: The region Id (westus, eastus)
    in: path
    name: regionId
    required: true
    type: string
    x-ms-parameter-location: method
  resourceGroupName:
    description: The name of the resource group
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  subscriptionId:
    description: The subscription ID.
    in: path
    name: subscriptionId
    required: true
    type: string
tags:
  - description: Subscription life cycle
    name: Subscription
  - description: Virtual machine resource operations
    name: VirtualMachines
  - description: Virtual networks functions
    name: VirtualNetwork
  - description: VM templates functions
    name: VirtualMachineTemplates
  - description: available operations function
    name: Operations
  - description: Resource pools operations
    name: ResourcePools
  - description: dedicated cloud nodes operations
    name: DedicatedCloudNodes
  - description: Azure Service object operations
    name: AzureService
  - description: operations related to availability and usage
    name: AvailabilityUsages
  - description: Customization policies operations
    name: CustomizationPolicies
paths:
  /providers/Microsoft.VMwareCloudSimple/operations:
    get:
      description: Return list of operations
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/AvailableOperationsListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list of available operations
      tags:
        - Operations
      x-ms-examples:
        ListOperations:
          parameters:
            api-version: 2019-04-01
          responses:
            "200":
              body:
                nextLink: string
                value:
                  - display:
                      description: Creates a new dedicated cloud node
                      operation: Create Dedicated Cloud Node
                      provider: VMware Solution by CloudSimple
                      resource: Dedicated Cloud Nodes
                    name: Microsoft.VMwareCloudSimple/dedicatedCloudNodes/write
                    origin: user,system
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes":
    get:
      description: Returns list of dedicate cloud nodes within subscription
      operationId: DedicatedCloudNodes_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation
          in: query
          name: $filter
          type: string
        - description: The maximum number of record sets to return
          format: int32
          in: query
          name: $top
          type: integer
        - description: to be used by nextLink implementation
          in: query
          name: $skipToken
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/DedicatedCloudNodeListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list of dedicated cloud nodes within subscription method
      tags:
        - DedicatedCloudNodes
      x-ms-examples:
        ListDedicatedCloudNodes:
          parameters:
            api-version: 2019-04-01
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-1/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/node-2
                    location: westus2
                    name: node-2
                    properties:
                      availabilityZoneId: az1
                      availabilityZoneName: Availability Zone 1
                      cloudRackName: cloud_rack_1
                      created: 2019-05-21T07:32:12.134Z
                      nodesCount: 0
                      placementGroupId: n2
                      placementGroupName: Placement Group 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      privateCloudName: private_cloud_name
                      purchaseId: 225fadec-3bbe-4e61-a119-ff102da67d0d
                      skuDescription:
                        id: general
                        name: CS28-Node
                      status: used
                      vmwareClusterName: Cluster
                    sku:
                      name: VMware_CloudSimple_CS28
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-2/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/node-1
                    location: westus2
                    name: node1
                    properties:
                      availabilityZoneId: az1
                      availabilityZoneName: Availability Zone 1
                      created: 2019-05-22T11:57:43.891Z
                      nodesCount: 0
                      placementGroupId: n1
                      placementGroupName: Placement Group 1
                      purchaseId: eb9d2e22-c787-4723-aa4f-3760b53a0a4d
                      skuDescription:
                        id: general
                        name: CS28-Node
                      status: unused
                    sku:
                      name: VMware_CloudSimple_CS28
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices":
    get:
      description: Returns list of dedicated cloud services within a subscription
      operationId: DedicatedCloudServices_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation
          in: query
          name: $filter
          type: string
        - description: The maximum number of record sets to return
          format: int32
          in: query
          name: $top
          type: integer
        - description: to be used by nextLink implementation
          in: query
          name: $skipToken
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/DedicatedCloudServiceListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list of dedicatedCloudService objects within subscription method
      tags:
        - DedicatedCloudServices
      x-ms-examples:
        ListDedicatedCloudServices:
          parameters:
            api-version: 2019-04-01
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-1/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/service-east
                    location: eastus
                    name: service-east
                    properties:
                      gatewaySubnet: 10.101.201.0/28
                      isAccountOnboarded: onBoarded
                      serviceURL: https://eastus-he.azure.cloudsimple.com
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-2/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/service-west
                    location: westus
                    name: service-west
                    properties:
                      gatewaySubnet: 10.0.0.0/28
                      isAccountOnboarded: onBoarded
                      serviceURL: https://westus-he.azure.cloudsimple.com
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/availabilities":
    get:
      description: Returns list of available resources in region
      operationId: SkusAvailability_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - description: sku id, if no sku is passed availability for all skus will be returned
          in: query
          name: skuId
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/SkuAvailabilityListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements SkuAvailability List method
      tags:
        - AvailabilityUsages
      x-ms-examples:
        ListAvailabilities:
          parameters:
            api-version: 2019-04-01
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - dedicatedAvailabilityZoneId: az1
                    dedicatedAvailabilityZoneName: Availability Zone 1
                    dedicatedPlacementGroupId: n1
                    dedicatedPlacementGroupName: Placement Group 1
                    limit: 0
                    resourceType: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
                    skuId: general
                    skuName: CS28-Node
                  - dedicatedAvailabilityZoneId: az1
                    dedicatedAvailabilityZoneName: Availability Zone 1
                    dedicatedPlacementGroupId: n1
                    dedicatedPlacementGroupName: Placement Group 1
                    limit: 0
                    resourceType: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
                    skuId: large
                    skuName: CS36-Node
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/operationResults/{operationId}":
    get:
      description: Return an async operation
      operationId: Operations_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/referer"
        - description: operation id
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: "#/definitions/OperationResource"
        "202":
          description: Operation is still running
          headers:
            Location:
              type: string
            Retry-After:
              type: integer
        "204":
          description: No Content
        default:
          description: General Error
          headers:
            Content-Type:
              default: application/json
              type: string
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements get of async operation
      tags:
        - Operations
      x-ms-examples:
        GetFailedOperationResult:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            operationId: d030bb3f-7d53-11e9-8e09-9a86872085ff
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                endTime: 2019-05-23T12:11:00.655Z
                error:
                  code: InternalError
                  message: Internal Service error
                id: /subscriptions/{subscription-id}/providers/microsoft.vmwarecloudsimple/locations/westus2/operationresults/d030bb3f-7d53-11e9-8e09-9a86872085ff
                name: d030bb3f-7d53-11e9-8e09-9a86872085ff
                startTime: 2019-05-23T12:10:54.012Z
                status: Failed
            "202": {}
            "204": {}
        GetOperationResult:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            operationId: f8e1c8f1-7d52-11e9-8e07-9a86872085ff
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                endTime: 2019-05-23T12:05:55.660Z
                id: /subscriptions/{subscription-id}/providers/microsoft.vmwarecloudsimple/locations/westus2/operationresults/f8e1c8f1-7d52-11e9-8e07-9a86872085ff
                name: f8e1c8f1-7d52-11e9-8e07-9a86872085ff
                startTime: 2019-05-23T12:04:52.784Z
                status: Succeeded
            "202": {}
            "204": {}
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds":
    get:
      description: Returns list of private clouds in particular region
      operationId: PrivateClouds_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/PrivateCloudList"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements private cloud list GET method
      tags:
        - PrivateClouds
      x-ms-examples:
        ListPrivateCloudInLocation:
          parameters:
            api-version: 2019-04-01
            regionId: eastus
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/eastus/privateClouds/myPrivateCloud
                    location: eastus
                    name: myPrivateCloud
                    properties:
                      availabilityZoneId: az1
                      availabilityZoneName: Availability Zone 1
                      clustersNumber: 1
                      createdBy: john.doe@cloudsimple.com
                      createdOn: 2019-05-21T07:32:59.491Z
                      dnsServers:
                        - 100.100.100.8
                        - 100.100.100.9
                      expires: n/a
                      nsxType: Advanced
                      placementGroupId: n2
                      placementGroupName: Placement Group 2
                      privateCloudId: private-cloud-id
                      state: operational
                      totalCpuCores: 84
                      totalNodes: 3
                      totalRam: 768
                      totalStorage: 16.875
                      type: vSphere
                      vSphereVersion: 6.7u1
                      vcenterFqdn: vcsa-eastus.az.cloudsimple.io
                      vcenterRefid: 100.100.100.6
                    type: Microsoft.VMwareCloudSimple/privateClouds
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}":
    get:
      description: Returns private cloud by its name
      operationId: PrivateClouds_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/pcName"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/PrivateCloud"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements private cloud GET method
      tags:
        - PrivateClouds
      x-ms-examples:
        GetPrivateCloud:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                location: westus2
                name: myPrivateCloud
                properties:
                  availabilityZoneId: az1
                  availabilityZoneName: Availability Zone 1
                  clustersNumber: 1
                  createdBy: john.doe@cloudsimple.com
                  createdOn: 2019-05-22T09:55:36.627Z
                  dnsServers:
                    - 100.0.0.8
                    - 100.0.0.9
                  expires: n/a
                  nsxType: Advanced
                  placementGroupId: n1
                  placementGroupName: Placement Group 1
                  privateCloudId: "{pc-id}"
                  resourcePools:
                    - id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                      location: westus2
                      name: Workload
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      properties:
                        fullName: myPrivateCloud/Datacenter/Cluster/Workload
                      type: Microsoft.VMwareCloudSimple/resourcePools
                  state: operational
                  totalCpuCores: 28
                  totalNodes: 1
                  totalRam: 256
                  totalStorage: 5.625
                  type: vSphere
                  vSphereVersion: 6.7u1
                  vcenterFqdn: vcsa-4-westus2.az.cloudsimple.io
                  vcenterRefid: 100.0.0.6
                  virtualMachineTemplates:
                    - id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                      location: westus2
                      name: centos-template
                      properties:
                        amountOfRam: 4096
                        controllers:
                          - id: "1000"
                            name: SCSI controller 0
                            subType: LSI_PARALEL
                            type: SCSI
                        disks:
                          - controllerId: "1000"
                            independenceMode: persistent
                            totalSize: 10485760
                            virtualDiskId: "2000"
                            virtualDiskName: Hard disk 1
                        guestOS: Other (32-bit)
                        guestOSType: other
                        nics:
                          - ipAddresses: null
                            macAddress: 00:50:56:a6:7e:93
                            network:
                              id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                            nicType: E1000
                            powerOnBoot: true
                            virtualNicId: "4000"
                            virtualNicName: Network adapter 1
                        numberOfCores: 2
                        path: Datacenter/Workload VMs
                        privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                        vSphereNetworks: null
                        vSphereTags: null
                        vmwaretools: "10309"
                      type: Microsoft.VMwareCloudSimple/virtualMachineTemplates
                  virtualNetworks:
                    - assignable: false
                      id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                      location: westus2
                      name: Datacenter/CS-Management
                      properties:
                        privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      type: Microsoft.VMwareCloudSimple/virtualNetworks
                    - assignable: true
                      id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-20
                      location: westus2
                      name: Datacenter/CS-Rescue
                      properties:
                        privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      type: Microsoft.VMwareCloudSimple/virtualNetworks
                    - assignable: false
                      id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-21
                      location: westus2
                      name: Datacenter/CS-VSAN
                      properties:
                        privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      type: Microsoft.VMwareCloudSimple/virtualNetworks
                    - assignable: false
                      id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-22
                      location: westus2
                      name: Datacenter/CS-VMotion
                      properties:
                        privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      type: Microsoft.VMwareCloudSimple/virtualNetworks
                    - assignable: true
                      id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-35
                      location: westus2
                      name: Datacenter/net-01
                      properties:
                        privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      type: Microsoft.VMwareCloudSimple/virtualNetworks
                type: Microsoft.VMwareCloudSimple/privateClouds
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/customizationPolicies":
    get:
      description: Returns list of customization policies in region for private cloud
      operationId: customizationPolicies_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation. only type is allowed here as a filter e.g. $filter=type eq 'xxxx'
          in: query
          name: $filter
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/CustomizationPoliciesListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements get of customization policies list
      tags:
        - customizationPolicies
      x-ms-examples:
        ListCustomizationPolicies:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/b85c4986-56ae-4ebd-b5c5-a1595ca3dab1/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/foobar/customizationpolicies/Linux1
                    location: westus2
                    name: Linux1
                    properties:
                      privateCloudId: /subscriptions/b85c4986-56ae-4ebd-b5c5-a1595ca3dab1/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/foobar
                      specification:
                        identity:
                          hostName:
                            type: USER_DEFINED
                          type: LINUX
                          userData:
                            isPasswordPredefined: false
                        nicSettings:
                          - adapter:
                              gateway: null
                              ip:
                                type: USER_DEFINED
                      type: LINUX
                      version: "1568102823"
                    type: Microsoft.VMwareCloudSimple/customizationPolicies
                  - id: /subscriptions/b85c4986-56ae-4ebd-b5c5-a1595ca3dab1/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/foobar/customizationpolicies/Linux2
                    location: westus2
                    name: Linux2
                    properties:
                      privateCloudId: /subscriptions/b85c4986-56ae-4ebd-b5c5-a1595ca3dab1/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/foobar
                      specification:
                        identity:
                          hostName:
                            type: VIRTUAL_MACHINE_NAME
                          type: LINUX
                          userData:
                            isPasswordPredefined: false
                        nicSettings:
                          - adapter:
                              gateway: null
                              ip:
                                type: DHCP_IP
                      type: LINUX
                      version: "1568102846"
                    type: Microsoft.VMwareCloudSimple/customizationPolicies
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/customizationPolicies/{customizationPolicyName}":
    get:
      description: Returns customization policy by its name
      operationId: customizationPolicies_Get
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - description: customization policy name
          in: path
          name: customizationPolicyName
          required: true
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/CustomizationPolicy"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements get of customization policy
      tags:
        - customizationPolicies
      x-ms-examples:
        GetCustomizationPolicy:
          parameters:
            api-version: 2019-04-01
            customizationPolicyName: Linux1
            pcName: myPrivateCloud
            regionId: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/b85c4986-56ae-4ebd-b5c5-a1595ca3dab1/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/foobar/customizationpolicies/Linux1
                location: westus2
                name: Linux1
                properties:
                  privateCloudId: /subscriptions/b85c4986-56ae-4ebd-b5c5-a1595ca3dab1/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/foobar
                  specification:
                    identity:
                      hostName:
                        type: USER_DEFINED
                      type: LINUX
                      userData:
                        isPasswordPredefined: false
                    nicSettings:
                      - adapter:
                          gateway: null
                          ip:
                            type: USER_DEFINED
                  type: LINUX
                  version: "1568102823"
                type: Microsoft.VMwareCloudSimple/customizationPolicies
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/resourcePools":
    get:
      description: Returns list of resource pools in region for private cloud
      operationId: ResourcePools_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ResourcePoolsListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements get of resource pools list
      tags:
        - ResourcePools
      x-ms-examples:
        ListResourcePools:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                    location: westus2
                    name: Workload
                    privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    properties:
                      fullName: myPrivateCloud/Datacenter/Cluster/Workload
                    type: Microsoft.VMwareCloudSimple/resourcePools
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/resourcePools/{resourcePoolName}":
    get:
      description: Returns resource pool templates by its name
      operationId: ResourcePools_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - description: resource pool id (vsphereId)
          in: path
          name: resourcePoolName
          required: true
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ResourcePool"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements get of resource pool
      tags:
        - ResourcePools
      x-ms-examples:
        GetResourcePool:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            resourcePoolName: resgroup-26
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                location: westus2
                name: Workload
                privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                properties:
                  fullName: myPrivateCloud/Datacenter/Cluster/Workload
                type: Microsoft.VMwareCloudSimple/resourcePools
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/virtualMachineTemplates":
    get:
      description: Returns list of virtual machine templates in region for private cloud
      operationId: VirtualMachineTemplates_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/pcName"
        - $ref: "#/parameters/regionId"
        - description: Resource pool used to derive vSphere cluster which contains VM templates
          in: query
          name: resourcePoolName
          required: true
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualMachineTemplateListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list of available VM templates
      tags:
        - VirtualMachineTemplates
      x-ms-examples:
        ListVirtualMachineTemplates:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            resourcePoolName: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                    location: westus2
                    name: centos-template
                    properties:
                      amountOfRam: 4096
                      controllers:
                        - id: "1000"
                          name: SCSI controller 0
                          subType: LSI_PARALEL
                          type: SCSI
                      disks:
                        - controllerId: "1000"
                          independenceMode: persistent
                          totalSize: 10485760
                          virtualDiskId: "2000"
                          virtualDiskName: Hard disk 1
                      guestOS: Other (32-bit)
                      guestOSType: other
                      nics:
                        - ipAddresses: null
                          macAddress: 00:50:56:a6:7e:93
                          network:
                            id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                          nicType: E1000
                          powerOnBoot: true
                          virtualNicId: "4000"
                          virtualNicName: Network adapter 1
                      numberOfCores: 2
                      path: Datacenter/Workload VMs
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      vSphereNetworks: null
                      vSphereTags: null
                      vmwaretools: "10309"
                    type: Microsoft.VMwareCloudSimple/virtualMachineTemplates
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/virtualMachineTemplates/{virtualMachineTemplateName}":
    get:
      description: Returns virtual machine templates by its name
      operationId: VirtualMachineTemplates_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - description: virtual machine template id (vsphereId)
          in: path
          name: virtualMachineTemplateName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualMachineTemplate"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements virtual machine template GET method
      tags:
        - VirtualMachineTemplates
      x-ms-examples:
        GetVirtualMachineTemplate:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            subscriptionId: "{subscription-id}"
            virtualMachineTemplateName: vm-34
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                location: westus2
                name: centos-template
                properties:
                  amountOfRam: 4096
                  controllers:
                    - id: "1000"
                      name: SCSI controller 0
                      subType: LSI_PARALEL
                      type: SCSI
                  disks:
                    - controllerId: "1000"
                      independenceMode: persistent
                      totalSize: 10485760
                      virtualDiskId: "2000"
                      virtualDiskName: Hard disk 1
                  guestOS: Other (32-bit)
                  guestOSType: other
                  nics:
                    - ipAddresses: null
                      macAddress: 00:50:56:a6:7e:93
                      network:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                      nicType: E1000
                      powerOnBoot: true
                      virtualNicId: "4000"
                      virtualNicName: Network adapter 1
                  numberOfCores: 2
                  path: Datacenter/Workload VMs
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                  vSphereNetworks: null
                  vSphereTags: null
                  vmwaretools: "10309"
                type: Microsoft.VMwareCloudSimple/virtualMachineTemplates
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/virtualNetworks":
    get:
      description: Return list of virtual networks in location for private cloud
      operationId: VirtualNetworks_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - $ref: "#/parameters/api-version"
        - description: Resource pool used to derive vSphere cluster which contains virtual networks
          in: query
          name: resourcePoolName
          required: true
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualNetworkListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list available virtual networks within a subscription method
      tags:
        - VirtualNetworks
      x-ms-examples:
        ListVirtualNetworks:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            resourcePoolName: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - assignable: false
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                    location: westus2
                    name: Datacenter/CS-Management
                    properties:
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    type: Microsoft.VMwareCloudSimple/virtualNetworks
                  - assignable: true
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-20
                    location: westus2
                    name: Datacenter/CS-Rescue
                    properties:
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    type: Microsoft.VMwareCloudSimple/virtualNetworks
                  - assignable: false
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-21
                    location: westus2
                    name: Datacenter/CS-VSAN
                    properties:
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    type: Microsoft.VMwareCloudSimple/virtualNetworks
                  - assignable: false
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-22
                    location: westus2
                    name: Datacenter/CS-VMotion
                    properties:
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    type: Microsoft.VMwareCloudSimple/virtualNetworks
                  - assignable: true
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-35
                    location: westus2
                    name: Datacenter/net-01
                    properties:
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    type: Microsoft.VMwareCloudSimple/virtualNetworks
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/virtualNetworks/{virtualNetworkName}":
    get:
      description: Return virtual network by its name
      operationId: VirtualNetworks_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - $ref: "#/parameters/pcName"
        - description: virtual network id (vsphereId)
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualNetwork"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements virtual network GET method
      tags:
        - VirtualNetworks
      x-ms-examples:
        GetVirtualNetwork:
          parameters:
            api-version: 2019-04-01
            pcName: myPrivateCloud
            regionId: westus2
            subscriptionId: "{subscription-id}"
            virtualNetworkName: dvportgroup-19
          responses:
            "200":
              body:
                assignable: false
                id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                location: westus2
                name: Datacenter/CS-Management
                properties:
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                type: Microsoft.VMwareCloudSimple/virtualNetworks
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/usages":
    get:
      description: Returns list of usage in region
      operationId: Usages_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/regionId"
        - description: The filter to apply on the list operation. only name.value is allowed here as a filter e.g. $filter=name.value eq 'xxxx'
          in: query
          name: $filter
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/UsageListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements Usages List method
      tags:
        - AvailabilityUsages
      x-ms-examples:
        ListUsages:
          parameters:
            api-version: 2019-04-01
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - currentValue: 1
                    limit: 5
                    name:
                      localizedValue: CS28-Node
                      value: general
                    unit: Count
                  - currentValue: 0
                    limit: 5
                    name:
                      localizedValue: CS36-Node
                      value: large
                    unit: Count
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/virtualMachines":
    get:
      description: Returns list virtual machine within subscription
      operationId: VirtualMachines_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation
          in: query
          name: $filter
          type: string
        - description: The maximum number of record sets to return
          format: int32
          in: query
          name: $top
          type: integer
        - description: to be used by nextLink implementation
          in: query
          name: $skipToken
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualMachineListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list virtual machine within subscription method
      tags:
        - VirtualMachines
      x-ms-examples:
        ListVirtualMachines:
          parameters:
            api-version: 2019-04-01
            regionId: westus2
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-1/providers/Microsoft.VMwareCloudSimple/virtualMachines/virtualMachine-1
                    location: westus2
                    name: virtualMachine-1
                    properties:
                      amountOfRam: 4096
                      controllers:
                        - id: "1000"
                          name: SCSI controller 0
                          subType: LSI_PARALEL
                          type: SCSI
                      disks:
                        - controllerId: "1000"
                          independenceMode: persistent
                          totalSize: 10485760
                          virtualDiskId: "2000"
                          virtualDiskName: Hard disk 1
                      guestOS: Other (32-bit)
                      guestOSType: other
                      nics:
                        - ipAddresses: null
                          macAddress: 00:50:56:a6:d0:e1
                          network:
                            id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                          nicType: E1000
                          powerOnBoot: true
                          virtualNicId: "4000"
                          virtualNicName: Network adapter 1
                      numberOfCores: 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      resourcePool:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/rp-test/resourcepools/resgroup-26
                      templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                      vSphereNetworks: null
                      vmId: vm-100
                      vmwaretools: "10309"
                    tags:
                      inUse: "true"
                    type: Microsoft.VMwareCloudSimple/virtualMachines
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-2/providers/Microsoft.VMwareCloudSimple/virtualMachines/virtualMachine-2
                    location: westus2
                    name: virtualMachine-2
                    properties:
                      amountOfRam: 4096
                      controllers:
                        - id: "1000"
                          name: SCSI controller 0
                          subType: LSI_PARALEL
                          type: SCSI
                      disks:
                        - controllerId: "1000"
                          independenceMode: persistent
                          totalSize: 10485760
                          virtualDiskId: "2000"
                          virtualDiskName: Hard disk 1
                      guestOS: Other (32-bit)
                      guestOSType: other
                      nics:
                        - ipAddresses: null
                          macAddress: 00:50:56:a6:33:12
                          network:
                            id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                          nicType: E1000
                          powerOnBoot: true
                          virtualNicId: "4000"
                          virtualNicName: Network adapter 1
                      numberOfCores: 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      resourcePool:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/rp-test/resourcepools/resgroup-26
                      templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                      vSphereNetworks: null
                      vmId: vm-101
                      vmwaretools: "10309"
                    tags:
                      inUse: "true"
                    type: Microsoft.VMwareCloudSimple/virtualMachines
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup-1/providers/Microsoft.VMwareCloudSimple/virtualMachines/virtualMachine-3
                    location: westus2
                    name: virtualMachine-3
                    properties:
                      amountOfRam: 4096
                      controllers:
                        - id: "1000"
                          name: SCSI controller 0
                          subType: LSI_PARALEL
                          type: SCSI
                      disks:
                        - controllerId: "1000"
                          independenceMode: persistent
                          totalSize: 10485760
                          virtualDiskId: "2000"
                          virtualDiskName: Hard disk 1
                      guestOS: Other (32-bit)
                      guestOSType: other
                      nics:
                        - ipAddresses: null
                          macAddress: 00:50:56:a6:63:f3
                          network:
                            id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                          nicType: E1000
                          powerOnBoot: true
                          virtualNicId: "4000"
                          virtualNicName: Network adapter 1
                      numberOfCores: 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      resourcePool:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/rp-test/resourcepools/resgroup-26
                      templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                      vSphereNetworks: null
                      vmId: vm-102
                      vmwaretools: "10309"
                    tags:
                      inUse: "true"
                    type: Microsoft.VMwareCloudSimple/virtualMachines
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes":
    get:
      description: Returns list of dedicate cloud nodes within resource group
      operationId: DedicatedCloudNodes_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation
          in: query
          name: $filter
          type: string
        - description: The maximum number of record sets to return
          format: int32
          in: query
          name: $top
          type: integer
        - description: to be used by nextLink implementation
          in: query
          name: $skipToken
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/DedicatedCloudNodeListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list of dedicated cloud nodes within RG method
      tags:
        - DedicatedCloudNodes
      x-ms-examples:
        ListRGDedicatedCloudNodes:
          parameters:
            api-version: 2019-04-01
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/node-east-1
                    location: eastus
                    name: node-east-1
                    properties:
                      availabilityZoneId: az1
                      availabilityZoneName: Availability Zone 1
                      cloudRackName: cloud_rack_1
                      created: 2019-05-21T07:32:12.134Z
                      nodesCount: 0
                      placementGroupId: n2
                      placementGroupName: Placement Group 2
                      privateCloudId: private_cloud_id
                      privateCloudName: private_cloud_name
                      purchaseId: 225fadec-3bbe-4e61-a119-ff102da67d0d
                      skuDescription:
                        id: general
                        name: CS28-Node
                      status: used
                      vmwareClusterName: Cluster
                    sku:
                      name: VMware_CloudSimple_CS28
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
                  - id: /subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/node-east-2
                    location: eastus
                    name: node-east-2
                    properties:
                      availabilityZoneId: az1
                      availabilityZoneName: Availability Zone 1
                      cloudRackName: cloud_rack_1
                      created: 2019-05-21T07:32:12.114Z
                      nodesCount: 0
                      placementGroupId: n2
                      placementGroupName: Placement Group 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      privateCloudName: private_cloud_name
                      purchaseId: 225fadec-3bbe-4e61-a119-ff102da67d0d
                      skuDescription:
                        id: general
                        name: CS28-Node
                      status: used
                      vmwareClusterName: Cluster
                    sku:
                      name: VMware_CloudSimple_CS28
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
                  - id: /subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/myNode
                    location: eastus
                    name: myNode
                    properties:
                      availabilityZoneId: az1
                      availabilityZoneName: Availability Zone 1
                      cloudRackName: cloud_rack_1
                      created: 2019-05-08T09:35:47.961Z
                      nodesCount: 0
                      placementGroupId: n2
                      placementGroupName: Placement Group 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      privateCloudName: myPrivateCloud
                      purchaseId: b3fcd958-f19c-4421-ab46-e4fa9cc8514e
                      skuDescription:
                        id: general
                        name: CS28-Node
                      status: used
                      vmwareClusterName: Cluster
                    sku:
                      name: VMware_CloudSimple_CS28
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName}":
    delete:
      description: Delete dedicated cloud node
      operationId: DedicatedCloudNodes_Delete
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud node name
          in: path
          name: dedicatedCloudNodeName
          pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "204":
          description: no content. resource does not exist and the request is well formed
        default:
          description: General Error
          headers:
            Content-Type:
              default: application/json
              type: string
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicated cloud node DELETE method
      tags:
        - DedicatedCloudNodes
      x-ms-examples:
        DeleteDedicatedCloudNode:
          parameters:
            api-version: 2019-04-01
            dedicatedCloudNodeName: myNode
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "204": {}
    get:
      description: Returns dedicated cloud node
      operationId: DedicatedCloudNodes_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud node name
          in: path
          name: dedicatedCloudNodeName
          pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/DedicatedCloudNode"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicated cloud node GET method
      tags:
        - DedicatedCloudNodes
      x-ms-examples:
        GetDedicatedCloudNode:
          parameters:
            api-version: 2019-04-01
            dedicatedCloudNodeName: myNode
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/myNode
                location: eastus
                name: myNode
                properties:
                  availabilityZoneId: az1
                  availabilityZoneName: Availability Zone 1
                  cloudRackName: cloud_rack_1
                  created: 2019-05-21T07:32:12.114Z
                  nodesCount: 0
                  placementGroupId: n2
                  placementGroupName: Placement Group 2
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                  privateCloudName: private_cloud_name
                  purchaseId: 225fadec-3bbe-4e61-a119-ff102da67d0d
                  skuDescription:
                    id: general
                    name: CS28-Node
                  status: used
                  vmwareClusterName: Cluster
                sku:
                  name: VMware_CloudSimple_CS28
                type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
    patch:
      description: Patches dedicated node properties
      operationId: DedicatedCloudNodes_Update
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud node name
          in: path
          name: dedicatedCloudNodeName
          pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
          required: true
          type: string
        - description: Patch Dedicated Cloud Node request
          in: body
          name: dedicatedCloudNodeRequest
          required: true
          schema:
            $ref: "#/definitions/PatchPayload"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: If resource is created or updated successfully, 200 should be returned
          schema:
            $ref: "#/definitions/DedicatedCloudNode"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicated cloud node PATCH method
      tags:
        - DedicatedCloudNodes
      x-ms-examples:
        PatchDedicatedCloudNode:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            dedicatedCloudNodeName: myNode
            dedicatedCloudNodeRequest:
              tags:
                myTag: tagValue
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/myNode
                location: westus
                name: myNode
                properties:
                  availabilityZoneId: az1
                  created: 2019-05-21T13:43:26.441Z
                  nodesCount: 0
                  placementGroupId: n1
                  purchaseId: 56acbd46-3d36-4bbf-9b08-57c30fdf6932
                  skuDescription:
                    id: general
                    name: CS28-Node
                  status: unused
                tags:
                  myTag: tagValue
                type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
    put:
      description: Returns dedicated cloud node by its name
      operationId: DedicatedCloudNodes_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/referer"
        - description: dedicated cloud node name
          in: path
          name: dedicatedCloudNodeName
          pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
          required: true
          type: string
        - description: Create Dedicated Cloud Node request
          in: body
          name: dedicatedCloudNodeRequest
          required: true
          schema:
            $ref: "#/definitions/DedicatedCloudNode"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: If resource is created or updated successfully, 200 should be returned
          headers:
            Azure-AsyncOperation:
              type: string
            Location:
              type: string
            Retry-After:
              type: integer
          schema:
            $ref: "#/definitions/DedicatedCloudNode"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicated cloud node PUT method
      tags:
        - DedicatedCloudNodes
      x-ms-examples:
        CreateDedicatedCloudNode:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            dedicatedCloudNodeName: myNode
            dedicatedCloudNodeRequest:
              location: westus
              properties:
                availabilityZoneId: az1
                nodesCount: 1
                placementGroupId: n1
                purchaseId: 56acbd46-3d36-4bbf-9b08-57c30fdf6932
                skuDescription:
                  id: general
                  name: CS28-Node
              sku:
                name: VMware_CloudSimple_CS28
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/myNode
                location: westus
                name: myNode
                properties:
                  availabilityZoneId: az1
                  created: 2019-05-21T13:43:26.441Z
                  nodesCount: 0
                  placementGroupId: n1
                  provisioningState: Accepted
                  purchaseId: 56acbd46-3d36-4bbf-9b08-57c30fdf6932
                  skuDescription:
                    id: general
                    name: CS28-Node
                  status: unused
                sku:
                  name: VMware_CloudSimple_CS28
                type: Microsoft.VMwareCloudSimple/dedicatedCloudNodes
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices":
    get:
      description: Returns list of dedicated cloud services within a resource group
      operationId: DedicatedCloudServices_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation
          in: query
          name: $filter
          type: string
        - description: The maximum number of record sets to return
          format: int32
          in: query
          name: $top
          type: integer
        - description: to be used by nextLink implementation
          in: query
          name: $skipToken
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/DedicatedCloudServiceListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list of dedicatedCloudService objects within RG method
      tags:
        - DedicatedCloudServices
      x-ms-examples:
        ListRGDedicatedCloudServices:
          parameters:
            api-version: 2019-04-01
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/service-east
                    location: eastus
                    name: service-east
                    properties:
                      gatewaySubnet: 10.101.201.0/28
                      isAccountOnboarded: onBoarded
                      serviceURL: https://eastus-he.azure.cloudsimple.com
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/service-west
                    location: westus
                    name: service-west
                    properties:
                      gatewaySubnet: 10.0.0.0/28
                      isAccountOnboarded: onBoarded
                      serviceURL: https://westus-he.azure.cloudsimple.com
                    type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/{dedicatedCloudServiceName}":
    delete:
      description: Delete dedicate cloud service
      operationId: DedicatedCloudServices_Delete
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud service name
          in: path
          name: dedicatedCloudServiceName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "204":
          description: no content. resource does not exist and the request is well formed
        default:
          description: General Error
          headers:
            Content-Type:
              default: application/json
              type: string
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicatedCloudService DELETE method
      tags:
        - DedicatedCloudServices
      x-ms-examples:
        DeleteDedicatedCloudService:
          parameters:
            api-version: 2019-04-01
            dedicatedCloudServiceName: myService
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Returns Dedicate Cloud Service
      operationId: DedicatedCloudServices_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud Service name
          in: path
          name: dedicatedCloudServiceName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/DedicatedCloudService"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicatedCloudService GET method
      tags:
        - DedicatedCloudServices
      x-ms-examples:
        GetDedicatedCloudService:
          parameters:
            api-version: 2019-04-01
            dedicatedCloudServiceName: myService
            dedicatedCloudServiceRequest:
              location: westus
              name: myService
              properties:
                gatewaySubnet: 10.0.0.0
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/myService
                location: westus
                name: myService
                properties:
                  gatewaySubnet: 10.0.10.0/28
                  isAccountOnboarded: notOnBoarded
                  nodes: 1
                  serviceURL: https://westus-he.azure.cloudsimple.com
                type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
    patch:
      description: Patch dedicated cloud service's properties
      operationId: DedicatedCloudServices_Update
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud service name
          in: path
          name: dedicatedCloudServiceName
          required: true
          type: string
        - description: Patch Dedicated Cloud Service request
          in: body
          name: dedicatedCloudServiceRequest
          required: true
          schema:
            $ref: "#/definitions/PatchPayload"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: If resource is created or updated successfully, 200 should be returned
          schema:
            $ref: "#/definitions/DedicatedCloudService"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicatedCloudService PATCH method
      tags:
        - DedicatedCloudServices
      x-ms-examples:
        PatchDedicatedService:
          parameters:
            api-version: 2019-04-01
            dedicatedCloudServiceName: myService
            dedicatedCloudServiceRequest:
              tags:
                myTag: tagValue
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/myService
                location: westus2
                name: myService
                properties:
                  gatewaySubnet: 10.0.0.0/28
                  isAccountOnboarded: onBoarded
                  serviceURL: https://westus-he.azure.cloudsimple.com
                tags:
                  myTag: tagValue
                type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
    put:
      description: Create dedicate cloud service
      operationId: DedicatedCloudServices_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: dedicated cloud Service name
          in: path
          name: dedicatedCloudServiceName
          pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
          required: true
          type: string
        - description: Create Dedicated Cloud Service request
          in: body
          name: dedicatedCloudServiceRequest
          required: true
          schema:
            $ref: "#/definitions/DedicatedCloudService"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: If resource is created or updated successfully, 200 should be returned
          schema:
            $ref: "#/definitions/DedicatedCloudService"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements dedicated cloud service PUT method
      tags:
        - DedicatedCloudServices
      x-ms-examples:
        CreateDedicatedCloudService:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            dedicatedCloudServiceName: myService
            dedicatedCloudServiceRequest:
              location: westus
              properties:
                gatewaySubnet: 10.0.0.0
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/dedicatedCloudServices/myService
                location: westus
                name: myService
                properties:
                  gatewaySubnet: 10.0.10.0/28
                  isAccountOnboarded: notOnBoarded
                type: Microsoft.VMwareCloudSimple/dedicatedCloudServices
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines":
    get:
      description: Returns list of virtual machine within resource group
      operationId: VirtualMachines_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/api-version"
        - description: The filter to apply on the list operation
          in: query
          name: $filter
          type: string
        - description: The maximum number of record sets to return
          format: int32
          in: query
          name: $top
          type: integer
        - description: to be used by nextLink implementation
          in: query
          name: $skipToken
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualMachineListResponse"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements list virtual machine within RG method
      tags:
        - VirtualMachines
      x-ms-examples:
        ListRGVirtualMachines:
          parameters:
            api-version: 2019-04-01
            regionId: westus2
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/virtualMachines/virtualMachine-2
                    location: westus2
                    name: virtualMachine-2
                    properties:
                      amountOfRam: 4096
                      controllers:
                        - id: "1000"
                          name: SCSI controller 0
                          subType: LSI_PARALEL
                          type: SCSI
                      disks:
                        - controllerId: "1000"
                          independenceMode: persistent
                          totalSize: 10485760
                          virtualDiskId: "2000"
                          virtualDiskName: Hard disk 1
                      guestOS: Other (32-bit)
                      guestOSType: other
                      nics:
                        - ipAddresses: null
                          macAddress: 00:50:56:a6:33:12
                          network:
                            id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                          nicType: E1000
                          powerOnBoot: true
                          virtualNicId: "4000"
                          virtualNicName: Network adapter 1
                      numberOfCores: 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      resourcePool:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/rp-test/resourcepools/resgroup-26
                      templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                      vSphereNetworks: null
                      vmId: vm-101
                      vmwaretools: "10309"
                    tags:
                      inUse: "true"
                    type: Microsoft.VMwareCloudSimple/virtualMachines
                  - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/virtualMachines/virtualMachine-3
                    location: westus2
                    name: virtualMachine-3
                    properties:
                      amountOfRam: 4096
                      controllers:
                        - id: "1000"
                          name: SCSI controller 0
                          subType: LSI_PARALEL
                          type: SCSI
                      disks:
                        - controllerId: "1000"
                          independenceMode: persistent
                          totalSize: 10485760
                          virtualDiskId: "2000"
                          virtualDiskName: Hard disk 1
                      guestOS: Other (32-bit)
                      guestOSType: other
                      nics:
                        - ipAddresses: null
                          macAddress: 00:50:56:a6:63:f3
                          network:
                            id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                          nicType: E1000
                          powerOnBoot: true
                          virtualNicId: "4000"
                          virtualNicName: Network adapter 1
                      numberOfCores: 2
                      privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                      resourcePool:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/rp-test/resourcepools/resgroup-26
                      templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                      vSphereNetworks: null
                      vmId: vm-102
                      vmwaretools: "10309"
                    tags:
                      inUse: "true"
                    type: Microsoft.VMwareCloudSimple/virtualMachines
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}":
    delete:
      description: Delete virtual machine
      operationId: VirtualMachines_Delete
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/referer"
        - description: virtual machine name
          in: path
          name: virtualMachineName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "202":
          description: accepted. the operation will complete asynchronously
          headers:
            Azure-AsyncOperation:
              type: string
            Location:
              type: string
            Retry-After:
              type: integer
        "204":
          description: no content. resource does not exist and the request is well formed
        default:
          description: General Error
          headers:
            Content-Type:
              default: application/json
              type: string
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements virtual machine DELETE method
      tags:
        - VirtualMachines
      x-ms-examples:
        DeleteVirtualMachine:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
          responses:
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Get virtual machine
      operationId: VirtualMachines_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: virtual machine name
          in: path
          name: virtualMachineName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/VirtualMachine"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements virtual machine GET method
      tags:
        - VirtualMachines
      x-ms-examples:
        GetVirtualMachine:
          parameters:
            api-version: 2019-04-01
            regionId: westus2
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/virtualMachines/myVirtualMachine
                location: westus2
                name: myVirtualMachine
                properties:
                  amountOfRam: 4096
                  controllers:
                    - id: "1000"
                      name: SCSI controller 0
                      subType: LSI_PARALEL
                      type: SCSI
                  disks:
                    - controllerId: "1000"
                      independenceMode: persistent
                      totalSize: 10485760
                      virtualDiskId: "2000"
                      virtualDiskName: Hard disk 1
                  folder: Datacenter/Workload VMs
                  guestOS: Other (32-bit)
                  guestOSType: other
                  nics:
                    - ipAddresses: null
                      macAddress: 00:50:56:a6:d0:e1
                      network:
                        assignable: false
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualnetworks/dvportgroup-19
                        location: westus2
                        name: Datacenter/CS-Management
                        properties:
                          privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                        type: Microsoft.VMwareCloudSimple/virtualNetworks
                      nicType: E1000
                      powerOnBoot: true
                      virtualNicId: "4000"
                      virtualNicName: Network adapter 1
                  numberOfCores: 2
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                  provisioningState: Succeeded
                  resourcePool:
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcepools/resgroup-26
                    location: westus2
                    name: Workload
                    privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                    properties:
                      fullName: Datacenter/Cluster/Workload
                    type: Microsoft.VMwareCloudSimple/resourcePools
                  status: running
                  templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualmachinetemplates/vm-34
                  vSphereNetworks: null
                  vmId: vm-100
                  vmwaretools: "10309"
                tags:
                  inUse: "true"
                type: Microsoft.VMwareCloudSimple/virtualMachines
    patch:
      description: Patch virtual machine properties
      operationId: VirtualMachines_Update
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - description: virtual machine name
          in: path
          name: virtualMachineName
          required: true
          type: string
        - description: Patch virtual machine request
          in: body
          name: virtualMachineRequest
          required: true
          schema:
            $ref: "#/definitions/PatchPayload"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: If resource is created or updated successfully, 200 should be returned
          schema:
            $ref: "#/definitions/VirtualMachine"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements virtual machine PATCH method
      tags:
        - VirtualMachines
      x-ms-examples:
        PatchVirtualMachine:
          parameters:
            api-version: 2019-04-01
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
            virtualMachineRequest:
              tags:
                myTag: tagValue
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/virtualMachines/myVirtualMachine
                location: westus2
                name: myVirtualMachine
                properties:
                  amountOfRam: 4096
                  controllers:
                    - id: "1000"
                      name: SCSI controller 0
                      subType: LSI_PARALEL
                      type: SCSI
                  disks:
                    - controllerId: "1000"
                      independenceMode: persistent
                      totalSize: 10485760
                      virtualDiskId: "2000"
                      virtualDiskName: Hard disk 1
                  guestOS: Other (32-bit)
                  guestOSType: other
                  nics:
                    - ipAddresses: null
                      network:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                      nicType: E1000
                      powerOnBoot: true
                      virtualNicId: "4000"
                      virtualNicName: Network adapter 1
                  numberOfCores: 2
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                  provisioningState: Succeeded
                  resourcePool:
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                  status: running
                  templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                  vSphereNetworks: null
                  vmId: vm-106
                  vmwaretools: "10309"
                tags:
                  myTag: tagValue
                type: Microsoft.VMwareCloudSimple/virtualMachines
      x-ms-long-running-operation: true
    put:
      description: Create Or Update Virtual Machine
      operationId: VirtualMachines_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/referer"
        - description: virtual machine name
          in: path
          name: virtualMachineName
          pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
          required: true
          type: string
        - description: Create or Update Virtual Machine request
          in: body
          name: virtualMachineRequest
          required: true
          schema:
            $ref: "#/definitions/VirtualMachine"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: If resource is created or updated successfully, 200 should be returned
          headers:
            Azure-AsyncOperation:
              type: string
          schema:
            $ref: "#/definitions/VirtualMachine"
        "201":
          description: If resource is created or updated successfully, 201 should be returned. provisionedState would of VirtualMachineProperties object would reflect the state of the resource
          headers:
            Azure-AsyncOperation:
              type: string
          schema:
            $ref: "#/definitions/VirtualMachine"
        default:
          description: General Error
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements virtual machine PUT method
      tags:
        - VirtualMachines
      x-ms-examples:
        CreateVirtualMachine:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
            virtualMachineRequest:
              location: westus2
              properties:
                amountOfRam: 4096
                disks:
                  - controllerId: "1000"
                    independenceMode: persistent
                    totalSize: 10485760
                    virtualDiskId: "2000"
                nics:
                  - network:
                      id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                    nicType: E1000
                    powerOnBoot: true
                    virtualNicId: "4000"
                numberOfCores: 2
                privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                resourcePool:
                  id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/virtualMachines/myVirtualMachine
                location: westus2
                name: myVirtualMachine
                properties:
                  amountOfRam: 4096
                  controllers: []
                  disks:
                    - controllerId: "1000"
                      independenceMode: persistent
                      totalSize: 10485760
                      virtualDiskId: "2000"
                      virtualDiskName: Hard disk 1
                  guestOS: Other (32-bit)
                  guestOSType: other
                  nics:
                    - ipAddresses: null
                      network:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                      nicType: E1000
                      powerOnBoot: true
                      virtualNicId: "4000"
                      virtualNicName: Network adapter 1
                  numberOfCores: 2
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                  provisioningState: Created
                  resourcePool:
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                  templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                  vSphereNetworks: null
                  vmwaretools: "0"
                type: Microsoft.VMwareCloudSimple/virtualMachines
            "201":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VMwareCloudSimple/virtualMachines/myVirtualMachine
                location: westus2
                name: myVirtualMachine
                properties:
                  amountOfRam: 4096
                  controllers: []
                  disks:
                    - controllerId: "1000"
                      independenceMode: persistent
                      totalSize: 10485760
                      virtualDiskId: "2000"
                      virtualDiskName: Hard disk 1
                  guestOS: Other (32-bit)
                  guestOSType: other
                  nics:
                    - ipAddresses: null
                      network:
                        id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualNetworks/dvportgroup-19
                      nicType: E1000
                      powerOnBoot: true
                      virtualNicId: "4000"
                      virtualNicName: Network adapter 1
                  numberOfCores: 2
                  privateCloudId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud
                  provisioningState: Created
                  resourcePool:
                    id: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/resourcePools/resgroup-26
                  templateId: /subscriptions/{subscription-id}/providers/Microsoft.VMwareCloudSimple/locations/westus2/privateClouds/myPrivateCloud/virtualMachineTemplates/vm-34
                  vSphereNetworks: null
                  vmwaretools: "0"
                type: Microsoft.VMwareCloudSimple/virtualMachines
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}/start":
    post:
      description: Power on virtual machine
      operationId: VirtualMachines_Start
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/referer"
        - description: virtual machine name
          in: path
          name: virtualMachineName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted. the operation will complete asynchronously
          headers:
            Azure-AsyncOperation:
              type: string
            Location:
              type: string
            Retry-After:
              type: integer
        default:
          description: General Error
          headers:
            Content-Type:
              default: application/json
              type: string
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements a start method for a virtual machine
      tags:
        - VirtualMachines
      x-ms-examples:
        StartVirtualMachine:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            regionId: westus2
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}/stop":
    post:
      description: "Power off virtual machine, options: shutdown, poweroff, and suspend"
      operationId: VirtualMachines_Stop
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/referer"
        - description: virtual machine name
          in: path
          name: virtualMachineName
          required: true
          type: string
        - description: body stop mode parameter (reboot, shutdown, etc...)
          in: body
          name: m
          schema:
            $ref: "#/definitions/VirtualMachineStopMode"
        - description: query stop mode parameter (reboot, shutdown, etc...)
          enum:
            - reboot
            - suspend
            - shutdown
            - poweroff
          in: query
          name: mode
          type: string
          x-ms-enum:
            modelAsString: false
            name: StopMode
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted. the operation will complete asynchronously
          headers:
            Azure-AsyncOperation:
              type: string
            Location:
              type: string
            Retry-After:
              type: integer
        default:
          description: General Error
          headers:
            Content-Type:
              default: application/json
              type: string
          schema:
            $ref: "#/definitions/CSRPError"
      summary: Implements shutdown, poweroff, and suspend method for a virtual machine
      tags:
        - VirtualMachines
      x-ms-examples:
        StopInBodyVirtualMachine:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            m: shutdown
            regionId: westus2
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
          responses:
            "200": {}
            "202": {}
        StopInQueryVirtualMachine:
          parameters:
            Referer: https://management.azure.com/
            api-version: 2019-04-01
            mode: suspend
            regionId: westus2
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
            virtualMachineName: myVirtualMachine
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
definitions:
  AvailableOperation:
    description: Resource provider available operation model
    properties:
      display:
        $ref: "#/definitions/AvailableOperationDisplay"
        description: The list of operations
      isDataAction:
        default: false
        description: Indicating whether the operation is a data action or not
        type: boolean
      name:
        description: "{resourceProviderNamespace}/{resourceType}/{read|write|delete|action}"
        type: string
      origin:
        description: The origin of operation
        enum:
          - user
          - system
          - user,system
        type: string
        x-ms-enum:
          modelAsString: false
          name: OperationOrigin
      properties:
        $ref: "#/definitions/AvailableOperationDisplayPropertyServiceSpecification"
        description: The list of operation properties
        x-ms-client-flatten: true
  AvailableOperationDisplay:
    description: Resource provider available operation display model
    properties:
      description:
        description: Description of the operation for display purposes
        type: string
      operation:
        description: Name of the operation for display purposes
        type: string
      provider:
        description: Name of the provider for display purposes
        type: string
      resource:
        description: Name of the resource type for display purposes
        type: string
    type: object
  AvailableOperationDisplayPropertyServiceSpecification:
    description: Available operation display property service specification model
    properties:
      serviceSpecification:
        $ref: "#/definitions/AvailableOperationDisplayPropertyServiceSpecificationMetricsList"
        description: The list of specification's service metrics
  AvailableOperationDisplayPropertyServiceSpecificationMetricsItem:
    description: Available operation display property service specification metrics item
    properties:
      aggregationType:
        description: Metric's aggregation type for e.g. (Average, Total)
        enum:
          - Average
          - Total
        type: string
        x-ms-enum:
          modelAsString: false
          name: AggregationType
      displayDescription:
        description: Metric's description
        example: Average disk throughput due to read operations over the sample period.
        type: string
      displayName:
        description: Human readable metric's name
        example: Disk Read Bytes/Sec
        type: string
      name:
        description: Metric's name/id
        example: DiskReadBytesPerSecond
        type: string
      unit:
        description: Metric's unit
        example: BytePerSecond
        type: string
    required:
      - name
      - displayName
      - displayDescription
      - unit
      - aggregationType
  AvailableOperationDisplayPropertyServiceSpecificationMetricsList:
    description: List of available operation display property service specification metrics
    properties:
      metricSpecifications:
        description: Metric specifications of operation
        items:
          $ref: "#/definitions/AvailableOperationDisplayPropertyServiceSpecificationMetricsItem"
          description: The list of specification's metrics
        type: array
  AvailableOperationsListResponse:
    description: List of available operations
    properties:
      nextLink:
        description: Link for next list of available operations
        type: string
      value:
        description: Returns a list of available operations
        items:
          $ref: "#/definitions/AvailableOperation"
        type: array
  CSRPError:
    description: General error model
    properties:
      error:
        $ref: "#/definitions/CSRPErrorBody"
        description: Error's body
  CSRPErrorBody:
    description: Error properties
    properties:
      code:
        description: Error's code
        readOnly: true
        type: string
      details:
        description: Error's details
        items:
          $ref: "#/definitions/CSRPErrorBody"
        readOnly: true
        type: array
      message:
        description: Error's message
        readOnly: true
        type: string
      target:
        description: Error's target
        type: string
  CustomizationHostName:
    description: Host name model
    properties:
      name:
        description: Hostname
        type: string
      type:
        description: Type of host name
        enum:
          - USER_DEFINED
          - PREFIX_BASED
          - FIXED
          - VIRTUAL_MACHINE_NAME
          - CUSTOM_NAME
        type: string
    type: object
  CustomizationIPAddress:
    properties:
      argument:
        description: Argument when Custom ip type is selected
        type: string
      ipAddress:
        description: Defined Ip Address when Fixed ip type is selected
        type: string
      type:
        description: Customization Specification ip type
        enum:
          - CUSTOM
          - DHCP_IP
          - FIXED_IP
          - USER_DEFINED
        type: string
    type: object
  CustomizationIPSettings:
    properties:
      gateway:
        description: The list of gateways
        items:
          type: string
        type: array
      ip:
        $ref: "#/definitions/CustomizationIPAddress"
        description: Ip address customization settings
      subnetMask:
        description: Adapter subnet mask
        type: string
    type: object
  CustomizationIdentity:
    properties:
      data:
        description: Windows Text Identity. Prepared data
        type: string
      hostName:
        $ref: "#/definitions/CustomizationHostName"
        description: Virtual machine host name settings
      type:
        description: Identity type
        enum:
          - WINDOWS_TEXT
          - WINDOWS
          - LINUX
        type: string
      userData:
        description: Windows Identity. User data customization
        properties:
          isPasswordPredefined:
            default: false
            description: Is password predefined in customization policy
            type: boolean
        type: object
    type: object
  CustomizationNicSetting:
    properties:
      adapter:
        $ref: "#/definitions/CustomizationIPSettings"
        description: The list of adapters' settings
      macAddress:
        description: NIC mac address
        type: string
    type: object
  CustomizationPoliciesListResponse:
    description: List of customization polices response model
    properties:
      nextLink:
        description: Link for next list of the Customization policy
        type: string
      value:
        description: List of the customization policies
        items:
          $ref: "#/definitions/CustomizationPolicy"
        type: array
  CustomizationPolicy:
    description: The virtual machine customization policy
    properties:
      id:
        description: Customization policy azure id
        type: string
      location:
        description: Azure region
        type: string
      name:
        description: Customization policy name
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/CustomizationPolicyProperties"
        description: Customization Policy properties
        x-ms-client-flatten: true
      type:
        readOnly: true
        type: string
    type: object
  CustomizationPolicyProperties:
    description: The properties of Customization policy
    properties:
      description:
        description: Policy description
        type: string
      privateCloudId:
        description: The Private cloud id
        type: string
      specification:
        $ref: "#/definitions/CustomizationSpecification"
        description: Detailed customization policy specification
      type:
        description: The type of customization (Linux or Windows)
        enum:
          - LINUX
          - WINDOWS
        type: string
      version:
        description: Policy version
        type: string
    type: object
  CustomizationSpecification:
    description: The specification for Customization Policy
    properties:
      identity:
        $ref: "#/definitions/CustomizationIdentity"
        description: Customization Identity. It contains data about user and hostname
      nicSettings:
        description: Network interface settings
        items:
          $ref: "#/definitions/CustomizationNicSetting"
        type: array
    type: object
  DedicatedCloudNode:
    description: Dedicated cloud node model
    properties:
      id:
        description: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName}
        readOnly: true
        type: string
      location:
        description: Azure region
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: "{dedicatedCloudNodeName}"
        pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/DedicatedCloudNodeProperties"
        description: Dedicated Cloud Nodes properties
        x-ms-client-flatten: true
      sku:
        $ref: "#/definitions/Sku"
        description: Dedicated Cloud Nodes SKU
      tags:
        $ref: "#/definitions/Tags"
        description: Dedicated Cloud Nodes tags
      type:
        description: "{resourceProviderNamespace}/{resourceType}"
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  DedicatedCloudNodeListResponse:
    description: List of dedicated nodes response model
    properties:
      nextLink:
        description: Link for next list of DedicatedCloudNode
        type: string
      value:
        description: Results of the DedicatedCloudNode list
        items:
          $ref: "#/definitions/DedicatedCloudNode"
        type: array
  DedicatedCloudNodeProperties:
    description: Properties of dedicated cloud node
    properties:
      availabilityZoneId:
        description: Availability Zone id, e.g. "az1"
        type: string
      availabilityZoneName:
        description: Availability Zone name, e.g. "Availability Zone 1"
        readOnly: true
        type: string
      cloudRackName:
        description: VMWare Cloud Rack Name
        readOnly: true
        type: string
      created:
        description: date time the resource was created
        format: date-time
        readOnly: true
      nodesCount:
        description: count of nodes to create
        type: integer
      placementGroupId:
        description: Placement Group id, e.g. "n1"
        type: string
      placementGroupName:
        description: Placement Name, e.g. "Placement Group 1"
        readOnly: true
        type: string
      privateCloudId:
        description: Private Cloud Id
        readOnly: true
        type: string
      privateCloudName:
        description: Resource Pool Name
        readOnly: true
        type: string
      provisioningState:
        description: The provisioning status of the resource
        readOnly: true
        type: string
      purchaseId:
        description: purchase id
        format: uuid
        type: string
      skuDescription:
        $ref: "#/definitions/SkuDescription"
        description: Dedicated Cloud Nodes SKU's description
        x-ms-client-flatten: true
      status:
        description: Node status, indicates is private cloud set up on this node or not
        enum:
          - unused
          - used
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: NodeStatus
      vmwareClusterName:
        description: VMWare Cluster Name
        readOnly: true
        type: string
    required:
      - placementGroupId
      - availabilityZoneId
      - purchaseId
      - nodesCount
  DedicatedCloudService:
    description: Dedicated cloud service model
    properties:
      id:
        description: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudServices/{dedicatedCloudServiceName}
        readOnly: true
        type: string
      location:
        description: Azure region
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: "{dedicatedCloudServiceName}"
        pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/DedicatedCloudServiceProperties"
        description: The properties of Dedicated Node Service
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/Tags"
        description: The list of tags
      type:
        description: "{resourceProviderNamespace}/{resourceType}"
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  DedicatedCloudServiceListResponse:
    description: List of dedicated cloud services
    properties:
      nextLink:
        description: Link for next list of DedicatedCloudNode
        type: string
      value:
        description: Results of the DedicatedCloudService list
        items:
          $ref: "#/definitions/DedicatedCloudService"
        type: array
  DedicatedCloudServiceProperties:
    description: Properties of dedicated cloud service
    properties:
      gatewaySubnet:
        description: gateway Subnet for the account. It will collect the subnet address and always treat it as /28
        type: string
      isAccountOnboarded:
        description: indicates whether account onboarded or not in a given region
        enum:
          - notOnBoarded
          - onBoarded
          - onBoardingFailed
          - onBoarding
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: OnboardingStatus
      nodes:
        description: total nodes purchased
        readOnly: true
        type: integer
      serviceURL:
        description: link to a service management web portal
        readOnly: true
        type: string
    required:
      - gatewaySubnet
  GuestOSCustomization:
    description: Guest OS Customization properties
    properties:
      dnsServers:
        description: List of dns servers to use
        items:
          $ref: "#/definitions/IPV4Address"
        type: array
      hostName:
        description: Virtual Machine hostname
        type: string
      password:
        description: Password for login
        type: string
      policyId:
        description: id of customization policy
        type: string
      username:
        description: Username for login
        type: string
  GuestOSNICCustomization:
    description: Guest OS nic customization
    properties:
      allocation:
        description: IP address allocation method
        enum:
          - static
          - dynamic
        type: string
      dnsServers:
        description: List of dns servers to use
        items:
          $ref: "#/definitions/IPV4Address"
        type: array
      gateway:
        description: Gateway addresses assigned to nic
        items:
          $ref: "#/definitions/IPV4Address"
        type: array
      ipAddress:
        $ref: "#/definitions/IPV4Address"
        description: Static ip address for nic
      mask:
        $ref: "#/definitions/IPV4Address"
        description: Network mask for nic
      primaryWinsServer:
        $ref: "#/definitions/IPV4Address"
        description: primary WINS server for Windows
      secondaryWinsServer:
        $ref: "#/definitions/IPV4Address"
        description: secondary WINS server for Windows
  IPV4Address:
    pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])[.]){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
    type: string
  OperationError:
    description: Operation error model
    properties:
      code:
        description: Error's code
        type: string
      message:
        description: Error's message
        type: string
  OperationResource:
    description: Operation status response
    properties:
      endTime:
        description: End time of the operation
        format: date-time
        readOnly: true
        type: string
      error:
        $ref: "#/definitions/OperationError"
        description: Error Message if operation failed
      id:
        description: Operation Id
        readOnly: true
        type: string
      name:
        description: Operation ID
        readOnly: true
        type: string
      startTime:
        description: Start time of the operation
        format: date-time
        readOnly: true
        type: string
      status:
        description: Operation status
        readOnly: true
        type: string
  PatchPayload:
    description: General patch payload modal
    properties:
      tags:
        $ref: "#/definitions/Tags"
        description: The tags key:value pairs
  PrivateCloud:
    description: Private cloud model
    properties:
      id:
        description: Azure Id, e.g. "/subscriptions/4da99247-a172-4ed6-8ae9-ebed2d12f839/providers/Microsoft.VMwareCloudSimple/privateClouds/cloud123"
        type: string
      location:
        description: Location where private cloud created, e.g "westus"
        type: string
      name:
        description: Private cloud name
        type: string
      properties:
        $ref: "#/definitions/PrivateCloudProperties"
        description: Private cloud properties
        x-ms-client-flatten: true
      type:
        description: Azure Resource type
        enum:
          - Microsoft.VMwareCloudSimple/privateClouds
        type: string
        x-ms-enum:
          modelAsString: false
          name: PrivateCloudResourceType
  PrivateCloudList:
    description: List of private clouds
    properties:
      nextLink:
        description: Link for next list of Private Clouds
        type: string
      value:
        description: the list of private clouds
        items:
          $ref: "#/definitions/PrivateCloud"
        type: array
  PrivateCloudProperties:
    description: Properties of private
    properties:
      availabilityZoneId:
        description: Availability Zone id, e.g. "az1"
        type: string
      availabilityZoneName:
        description: Availability Zone name, e.g. "Availability Zone 1"
        type: string
      clustersNumber:
        description: Number of clusters
        type: integer
      createdBy:
        description: User's emails who created cloud
        type: string
      createdOn:
        description: When private cloud was created
        format: date-time
        type: string
      dnsServers:
        description: Array of DNS servers
        items:
          type: string
        type: array
      expires:
        description: Expiration date of PC
        type: string
      nsxType:
        description: Nsx Type, e.g. "Advanced"
        type: string
      placementGroupId:
        description: Placement Group id, e.g. "n1"
        type: string
      placementGroupName:
        description: Placement Group name
        type: string
      privateCloudId:
        description: Id of a private cloud
        format: uuid
        type: string
      resourcePools:
        description: The list of Resource Pools
        items:
          $ref: "#/definitions/ResourcePool"
        type: array
      state:
        description: Private Cloud state, e.g. "operational"
        type: string
      totalCpuCores:
        description: Number of cores
        type: integer
      totalNodes:
        description: Number of nodes
        type: integer
      totalRam:
        description: Memory size
        type: integer
      totalStorage:
        description: Disk space in TB
        type: number
      type:
        description: Virtualization type e.g. "vSphere"
        type: string
      vSphereVersion:
        description: e.g. "6.5u2"
        type: string
      vcenterFqdn:
        description: FQDN for vcenter access
        type: string
      vcenterRefid:
        description: Vcenter ip address
        type: string
      virtualMachineTemplates:
        description: The list of Virtual Machine Templates
        items:
          $ref: "#/definitions/VirtualMachineTemplate"
        type: array
      virtualNetworks:
        description: The list of Virtual Networks
        items:
          $ref: "#/definitions/VirtualNetwork"
        type: array
      vrOpsEnabled:
        description: Is Vrops enabled/disabled
        type: boolean
  ResourcePool:
    description: Resource pool model
    properties:
      id:
        description: resource pool id (privateCloudId:vsphereId)
        type: string
      location:
        description: Azure region
        readOnly: true
        type: string
      name:
        description: "{ResourcePoolName}"
        readOnly: true
        type: string
      privateCloudId:
        description: The Private Cloud Id
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/ResourcePoolProperties"
        description: Resource pool properties
        x-ms-client-flatten: true
      type:
        description: "{resourceProviderNamespace}/{resourceType}"
        readOnly: true
        type: string
    required:
      - id
  ResourcePoolProperties:
    description: Properties of resource pool
    properties:
      fullName:
        description: Hierarchical resource pool name
        readOnly: true
        type: string
  ResourcePoolsListResponse:
    description: List of resource pools response model
    properties:
      nextLink:
        description: Link for next list of ResourcePoolsList
        type: string
      value:
        description: Results of the Resource pools list
        items:
          $ref: "#/definitions/ResourcePool"
        type: array
  Sku:
    description: The purchase SKU for CloudSimple paid resources
    properties:
      capacity:
        description: The capacity of the SKU
        type: string
      description:
        description: "dedicatedCloudNode example: 8 x Ten-Core Intel® Xeon® Processor E5-2640 v4 2.40GHz 25MB Cache (90W); 12 x 64GB PC4-19200 2400MHz DDR4 ECC Registered DIMM, ..."
        type: string
      family:
        description: If the service has different generations of hardware, for the same SKU, then that can be captured here
        type: string
      name:
        description: The name of the SKU for VMWare CloudSimple Node
        type: string
      tier:
        description: The tier of the SKU
        type: string
    required:
      - name
  SkuAvailability:
    description: SKU availability model
    properties:
      dedicatedAvailabilityZoneId:
        description: CloudSimple Availability Zone id
        type: string
      dedicatedAvailabilityZoneName:
        description: CloudSimple Availability Zone Name
        type: string
      dedicatedPlacementGroupId:
        description: CloudSimple Placement Group Id
        type: string
      dedicatedPlacementGroupName:
        description: CloudSimple Placement Group name
        type: string
      limit:
        description: indicates how many resources of a given SKU is available in a AZ->PG
        type: integer
      resourceType:
        description: resource type e.g. DedicatedCloudNodes
        type: string
      skuId:
        description: sku id
        type: string
      skuName:
        description: sku name
        type: string
    required:
      - limit
  SkuAvailabilityListResponse:
    description: List of SKU availabilities
    properties:
      nextLink:
        description: Link for next list of DedicatedCloudNode
        type: string
      value:
        description: Results of the DedicatedPlacementGroupSkuAvailability list
        items:
          $ref: "#/definitions/SkuAvailability"
        type: array
  SkuDescription:
    description: The purchase SKU for CloudSimple paid resources
    properties:
      id:
        description: SKU's id
        type: string
      name:
        description: SKU's name
        type: string
    required:
      - name
      - id
  Tags:
    additionalProperties:
      type: string
    description: Tags model
  Usage:
    description: Usage model
    properties:
      currentValue:
        default: 0
        description: The current usage value
        type: integer
      limit:
        default: 0
        description: limit of a given sku in a region for a subscription. The maximum permitted value for the usage quota. If there is no limit, this value will be -1
        type: integer
      name:
        $ref: "#/definitions/UsageName"
        description: Usage name value and localized name
      unit:
        description: The usages' unit
        enum:
          - Count
          - Bytes
          - Seconds
          - Percent
          - CountPerSecond
          - BytesPerSecond
        type: string
        x-ms-enum:
          modelAsString: false
          name: UsageCount
    required:
      - currentValue
      - limit
  UsageListResponse:
    description: List of usages
    properties:
      nextLink:
        description: Link for next list of DedicatedCloudNode
        type: string
      value:
        description: The list of usages
        items:
          $ref: "#/definitions/Usage"
        readOnly: true
        type: array
  UsageName:
    description: User name model
    properties:
      localizedValue:
        description: e.g. "Virtual Machines"
        type: string
      value:
        description: resource type or resource type sku name, e.g. virtualMachines
        type: string
  VirtualDisk:
    description: Virtual disk model
    properties:
      controllerId:
        description: Disk's Controller id
        type: string
      independenceMode:
        description: Disk's independence mode type
        enum:
          - persistent
          - independent_persistent
          - independent_nonpersistent
        type: string
        x-ms-enum:
          modelAsString: false
          name: DiskIndependenceMode
      totalSize:
        description: Disk's total size
        type: integer
      virtualDiskId:
        description: Disk's id
        type: string
      virtualDiskName:
        description: Disk's display name
        readOnly: true
        type: string
    required:
      - totalSize
      - independenceMode
      - controllerId
  VirtualDiskController:
    description: Virtual disk controller model
    properties:
      id:
        description: Controller's id
        readOnly: true
        type: string
      name:
        description: The display name of Controller
        readOnly: true
        type: string
      subType:
        description: dik controller subtype (VMWARE_PARAVIRTUAL, BUS_PARALLEL, LSI_PARALLEL, LSI_SAS)
        readOnly: true
        type: string
      type:
        description: disk controller type (SCSI)
        readOnly: true
        type: string
  VirtualMachine:
    description: Virtual machine model
    properties:
      id:
        description: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/virtualMachines/{virtualMachineName}
        readOnly: true
        type: string
      location:
        description: Azure region
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: "{virtualMachineName}"
        pattern: ^[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?$
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VirtualMachineProperties"
        description: Virtual machine properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/Tags"
        description: The list of tags
      type:
        description: "{resourceProviderNamespace}/{resourceType}"
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  VirtualMachineListResponse:
    description: List of virtual machines
    properties:
      nextLink:
        description: Link for next list of VirtualMachines
        type: string
      value:
        description: Results of the VirtualMachine list
        items:
          $ref: "#/definitions/VirtualMachine"
        type: array
  VirtualMachineProperties:
    description: Properties of virtual machine
    properties:
      amountOfRam:
        description: The amount of memory
        type: integer
      controllers:
        description: The list of Virtual Disks' Controllers
        items:
          $ref: "#/definitions/VirtualDiskController"
        readOnly: true
        type: array
      customization:
        $ref: "#/definitions/GuestOSCustomization"
        description: Virtual machine properties
      disks:
        description: The list of Virtual Disks
        items:
          $ref: "#/definitions/VirtualDisk"
        type: array
      dnsname:
        description: The DNS name of Virtual Machine in VCenter
        readOnly: true
        type: string
      exposeToGuestVM:
        description: Expose Guest OS or not
        type: boolean
      folder:
        description: The path to virtual machine folder in VCenter
        readOnly: true
        type: string
      guestOS:
        description: The name of Guest OS
        readOnly: true
        type: string
      guestOSType:
        description: The Guest OS type
        enum:
          - linux
          - windows
          - other
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: GuestOSType
      nics:
        description: The list of Virtual NICs
        items:
          $ref: "#/definitions/VirtualNic"
        type: array
      numberOfCores:
        description: The number of CPU cores
        type: integer
      password:
        description: Password for login. Deprecated - use customization property
        type: string
      privateCloudId:
        description: Private Cloud Id
        type: string
      provisioningState:
        description: The provisioning status of the resource
        readOnly: true
        type: string
      publicIP:
        description: The public ip of Virtual Machine
        readOnly: true
        type: string
      resourcePool:
        $ref: "#/definitions/ResourcePool"
        description: Virtual Machines Resource Pool
      status:
        description: The status of Virtual machine
        enum:
          - running
          - suspended
          - poweredoff
          - updating
          - deallocating
          - deleting
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: VirtualMachineStatus
      templateId:
        description: Virtual Machine Template Id
        type: string
      username:
        description: Username for login. Deprecated - use customization property
        type: string
      vSphereNetworks:
        description: The list of Virtual VSphere Networks
        items:
          type: string
        type: array
      vmId:
        description: The internal id of Virtual Machine in VCenter
        readOnly: true
        type: string
      vmwaretools:
        description: VMware tools version
        readOnly: true
        type: string
    required:
      - numberOfCores
      - amountOfRam
      - privateCloudId
  VirtualMachineStopMode:
    description: List of virtual machine stop modes
    properties:
      mode:
        description: mode indicates a type of stop operation - reboot, suspend, shutdown or power-off
        enum:
          - reboot
          - suspend
          - shutdown
          - poweroff
        type: string
        x-ms-enum:
          modelAsString: false
          name: StopMode
  VirtualMachineTemplate:
    description: Virtual machine template model
    properties:
      id:
        description: virtual machine template id (privateCloudId:vsphereId)
        readOnly: true
        type: string
      location:
        description: Azure region
        type: string
      name:
        description: "{virtualMachineTemplateName}"
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VirtualMachineTemplateProperties"
        description: The Virtual Machine Template properties
        x-ms-client-flatten: true
      type:
        description: "{resourceProviderNamespace}/{resourceType}"
        readOnly: true
        type: string
  VirtualMachineTemplateListResponse:
    description: List of virtual machine templates
    properties:
      nextLink:
        description: Link for next list of VirtualMachineTemplate
        type: string
      value:
        description: Results of the VM template list
        items:
          $ref: "#/definitions/VirtualMachineTemplate"
        type: array
  VirtualMachineTemplateProperties:
    description: Properties of virtual machine template
    properties:
      amountOfRam:
        description: The amount of memory
        type: integer
      controllers:
        description: The list of Virtual Disk Controllers
        items:
          $ref: "#/definitions/VirtualDiskController"
        type: array
      description:
        description: The description of Virtual Machine Template
        type: string
      disks:
        description: The list of Virtual Disks
        items:
          $ref: "#/definitions/VirtualDisk"
        type: array
      exposeToGuestVM:
        description: Expose Guest OS or not
        type: boolean
      guestOS:
        description: The Guest OS
        readOnly: true
        type: string
      guestOSType:
        description: The Guest OS types
        readOnly: true
        type: string
      nics:
        description: The list of Virtual NICs
        items:
          $ref: "#/definitions/VirtualNic"
        type: array
      numberOfCores:
        description: The number of CPU cores
        type: integer
      path:
        description: path to folder
        example: Datacenter/Workload VMs
        type: string
      privateCloudId:
        description: The Private Cloud Id
        type: string
      vSphereNetworks:
        description: The list of VSphere networks
        items:
          type: string
        type: array
      vSphereTags:
        description: The tags from VSphere
        items:
          type: string
        type: array
      vmwaretools:
        description: The VMware tools version
        readOnly: true
        type: string
    required:
      - privateCloudId
  VirtualNetwork:
    description: Virtual network model
    properties:
      assignable:
        description: can be used in vm creation/deletion
        readOnly: true
        type: boolean
      id:
        description: virtual network id (privateCloudId:vsphereId)
        type: string
      location:
        description: Azure region
        readOnly: true
        type: string
      name:
        description: "{VirtualNetworkName}"
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VirtualNetworkProperties"
        description: Virtual Network properties
        x-ms-client-flatten: true
      type:
        description: "{resourceProviderNamespace}/{resourceType}"
        readOnly: true
        type: string
    required:
      - id
  VirtualNetworkListResponse:
    description: List of virtual networks
    properties:
      nextLink:
        description: Link for next list of VirtualNetwork
        type: string
      value:
        description: Results of the VirtualNetwork list
        items:
          $ref: "#/definitions/VirtualNetwork"
        type: array
  VirtualNetworkProperties:
    description: Properties of virtual network
    properties:
      privateCloudId:
        description: The Private Cloud id
        readOnly: true
        type: string
  VirtualNic:
    description: Virtual NIC model
    properties:
      customization:
        $ref: "#/definitions/GuestOSNICCustomization"
        description: guest OS customization for nic
      ipAddresses:
        description: NIC ip address
        items:
          type: string
        type: array
      macAddress:
        description: NIC MAC address
        type: string
      network:
        $ref: "#/definitions/VirtualNetwork"
        description: Virtual Network
      nicType:
        description: NIC type
        enum:
          - E1000
          - E1000E
          - PCNET32
          - VMXNET
          - VMXNET2
          - VMXNET3
        type: string
        x-ms-enum:
          modelAsString: false
          name: NICType
      powerOnBoot:
        description: Is NIC powered on/off on boot
        type: boolean
      virtualNicId:
        description: NIC id
        type: string
      virtualNicName:
        description: NIC name
        readOnly: true
        type: string
    required:
      - nicType
      - network
