{
  "openapi": "3.0.0",
  "info": {
    "description": "The Hybrid Compute Management Client.",
    "title": "HybridComputeManagementClient",
    "version": "2019-12-12",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/providers/Microsoft.HybridCompute/operations": {
      "get": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationListResult"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "operations"
        ],
        "description": "Gets a list of hybrid compute operations.",
        "operationId": "Operations_List",
        "x-ms-pageable": {
          "nextLinkName": null
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": {
      "get": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineListResult"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.",
        "operationId": "Machines_ListBySubscription",
        "x-ms-examples": {
          "Get all machine resources in a subscription.": {
            "$ref": "./examples/Machines_ListBySubscription.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": {
      "get": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineListResult"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.",
        "operationId": "Machines_ListByResourceGroup",
        "x-ms-examples": {
          "Get all machine resources in a resource group.": {
            "$ref": "./examples/Machines_ListByResourceGroup.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}": {
      "delete": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the hybrid machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "The operation to remove a hybrid machine identity in Azure.",
        "operationId": "Machines_Delete",
        "x-ms-examples": {
          "Delete a machine resource.": {
            "$ref": "./examples/Machines_Delete.json"
          }
        }
      },
      "get": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the hybrid machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The expand expression to apply on the operation.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "enum": [
                "instanceView"
              ],
              "type": "string"
            },
            "x-ms-enum": {
              "modelAsString": true,
              "name": "InstanceViewTypes"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Machine"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "Retrieves information about the model view or the instance view of a hybrid machine.",
        "operationId": "Machines_Get",
        "x-ms-examples": {
          "Get a machine resource.": {
            "$ref": "./examples/Machines_Get.json"
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the hybrid machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Machine"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "The operation to update a hybrid machine.",
        "operationId": "Machines_Update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MachineUpdate"
              }
            }
          },
          "description": "Parameters supplied to the Update hybrid machine operation.",
          "required": true
        },
        "x-ms-examples": {
          "Update a machine resource.": {
            "$ref": "./examples/Machines_Update.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the hybrid machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Machine"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "The operation to create or update a hybrid machine resource identity in Azure.",
        "operationId": "Machines_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Machine"
              }
            }
          },
          "description": "Parameters supplied to the Create hybrid machine operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create or update a machine resource.": {
            "$ref": "./examples/Machines_CreateOrUpdate.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine containing the extension.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The expand expression to apply on the operation.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineExtensionsListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "MachineExtensions"
        ],
        "description": "The operation to get all extensions of a non-Azure machine",
        "operationId": "MachineExtensions_List",
        "x-ms-examples": {
          "GET all Machine Extensions": {
            "$ref": "./examples/LISTExtension.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine where the extension should be deleted.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine extension.",
            "in": "path",
            "name": "extensionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "MachineExtensions"
        ],
        "description": "The operation to delete the extension.",
        "operationId": "MachineExtensions_Delete",
        "x-ms-examples": {
          "Delete a Machine Extension": {
            "$ref": "./examples/DELETEExtension.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine containing the extension.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine extension.",
            "in": "path",
            "name": "extensionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineExtension"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "MachineExtensions"
        ],
        "description": "The operation to get the extension.",
        "operationId": "MachineExtensions_Get",
        "x-ms-examples": {
          "GET Machine Extension": {
            "$ref": "./examples/GETExtension.json"
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine where the extension should be created or updated.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine extension.",
            "in": "path",
            "name": "extensionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineExtension"
                }
              }
            },
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "MachineExtensions"
        ],
        "description": "The operation to create or update the extension.",
        "operationId": "MachineExtensions_Update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MachineExtensionUpdate"
              }
            }
          },
          "description": "Parameters supplied to the Create Machine Extension operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create or Update a Machine Extension": {
            "$ref": "./examples/UpdateExtension.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine where the extension should be created or updated.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the machine extension.",
            "in": "path",
            "name": "extensionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineExtension"
                }
              }
            },
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "MachineExtensions"
        ],
        "description": "The operation to create or update the extension.",
        "operationId": "MachineExtensions_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MachineExtension"
              }
            }
          },
          "description": "Parameters supplied to the Create Machine Extension operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create or Update a Machine Extension": {
            "$ref": "./examples/PUTExtension.json"
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/reconnect": {
      "post": {
        "parameters": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the hybrid machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Machine"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "machines"
        ],
        "description": "The operation to reconnect a hybrid machine resource to its identity in Azure.",
        "operationId": "Machines_Reconnect",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MachineReconnect"
              }
            }
          },
          "description": "Parameters supplied to the Reconnect hybrid machine operation.",
          "required": true
        },
        "x-ms-examples": {
          "Reconnect a machine resource.": {
            "$ref": "./examples/Machines_Reconnect.json"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorDetail": {
        "properties": {
          "code": {
            "description": "The error's code.",
            "type": "string"
          },
          "details": {
            "description": "Additional error details.",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array"
          },
          "message": {
            "description": "A human readable error message.",
            "type": "string"
          },
          "target": {
            "description": "Indicates which property in the request is responsible for the error.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "title": "Error details.",
        "type": "object"
      },
      "Machine": {
        "allOf": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
          }
        ],
        "description": "Describes a hybrid machine.",
        "properties": {
          "identity": {
            "allOf": [
              {
                "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity"
              }
            ]
          },
          "properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MachineProperties"
              }
            ],
            "description": "Hybrid Compute Machine properties",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "MachineExtension": {
        "allOf": [
          {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
          }
        ],
        "description": "Describes a Machine Extension.",
        "properties": {
          "properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MachineExtensionProperties"
              }
            ],
            "description": "Describes Machine Extension Properties.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "MachineExtensionInstanceView": {
        "description": "Describes the Machine Extension Instance View.",
        "properties": {
          "name": {
            "description": "The machine extension name.",
            "type": "string"
          },
          "status": {
            "description": "Instance view status.",
            "properties": {
              "code": {
                "description": "The status code.",
                "type": "string"
              },
              "displayStatus": {
                "description": "The short localizable label for the status.",
                "type": "string"
              },
              "level": {
                "description": "The level code.",
                "enum": [
                  "Info",
                  "Warning",
                  "Error"
                ],
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": true,
                  "name": "StatusLevelTypes"
                }
              },
              "message": {
                "description": "The detailed status message, including for alerts and error messages.",
                "type": "string"
              },
              "time": {
                "description": "The time of the status.",
                "format": "date-time",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": {
            "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\".",
            "type": "string"
          },
          "typeHandlerVersion": {
            "description": "Specifies the version of the script handler.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "MachineExtensionProperties": {
        "description": "Describes the properties of a Machine Extension.",
        "properties": {
          "autoUpgradeMinorVersion": {
            "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.",
            "type": "boolean"
          },
          "forceUpdateTag": {
            "description": "How the extension handler should be forced to update even if the extension configuration has not changed.",
            "type": "string"
          },
          "instanceView": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MachineExtensionInstanceView"
              }
            ],
            "description": "The machine extension instance view."
          },
          "protectedSettings": {
            "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.",
            "type": "object"
          },
          "provisioningState": {
            "description": "The provisioning state, which only appears in the response.",
            "readOnly": true,
            "type": "string"
          },
          "publisher": {
            "description": "The name of the extension handler publisher.",
            "type": "string"
          },
          "settings": {
            "description": "Json formatted public settings for the extension.",
            "type": "object"
          },
          "type": {
            "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\".",
            "type": "string"
          },
          "typeHandlerVersion": {
            "description": "Specifies the version of the script handler.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "MachineExtensionUpdate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateResource"
          }
        ],
        "description": "Describes a Machine Extension Update.",
        "properties": {
          "properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MachineExtensionUpdateProperties"
              }
            ],
            "description": "Describes Machine Extension Update Properties.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "MachineExtensionUpdateProperties": {
        "description": "Describes the properties of a Machine Extension.",
        "properties": {
          "autoUpgradeMinorVersion": {
            "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.",
            "type": "boolean"
          },
          "forceUpdateTag": {
            "description": "How the extension handler should be forced to update even if the extension configuration has not changed.",
            "type": "string"
          },
          "protectedSettings": {
            "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.",
            "type": "object"
          },
          "publisher": {
            "description": "The name of the extension handler publisher.",
            "type": "string"
          },
          "settings": {
            "description": "Json formatted public settings for the extension.",
            "type": "object"
          },
          "type": {
            "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\".",
            "type": "string"
          },
          "typeHandlerVersion": {
            "description": "Specifies the version of the script handler.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "MachineExtensionsListResult": {
        "description": "Describes the Machine Extensions List Result.",
        "properties": {
          "nextLink": {
            "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions.",
            "type": "string"
          },
          "value": {
            "description": "The list of extensions",
            "items": {
              "$ref": "#/components/schemas/MachineExtension"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MachineListResult": {
        "description": "The List hybrid machine operation response.",
        "properties": {
          "nextLink": {
            "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines.",
            "type": "string"
          },
          "value": {
            "description": "The list of hybrid machines.",
            "items": {
              "$ref": "#/components/schemas/Machine"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "MachineProperties": {
        "description": "Describes the properties of a hybrid machine.",
        "properties": {
          "agentVersion": {
            "description": "The hybrid machine agent full version.",
            "readOnly": true,
            "type": "string"
          },
          "clientPublicKey": {
            "description": "Public Key that the client provides to be used during initial resource onboarding",
            "type": "string"
          },
          "displayName": {
            "description": "Specifies the hybrid machine display name.",
            "readOnly": true,
            "type": "string"
          },
          "errorDetails": {
            "description": "Details about the error state.",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "readOnly": true,
            "type": "array"
          },
          "extensions": {
            "description": "Machine Extensions information",
            "items": {
              "$ref": "#/components/schemas/MachineExtensionInstanceView"
            },
            "type": "array"
          },
          "lastStatusChange": {
            "description": "The time of the last status change.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "locationData": {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
          },
          "machineFqdn": {
            "description": "Specifies the hybrid machine FQDN.",
            "readOnly": true,
            "type": "string"
          },
          "osName": {
            "description": "The Operating System running on the hybrid machine.",
            "readOnly": true,
            "type": "string"
          },
          "osProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OSProfile"
              }
            ],
            "description": "Specifies the operating system settings for the hybrid machine."
          },
          "osVersion": {
            "description": "The version of Operating System running on the hybrid machine.",
            "readOnly": true,
            "type": "string"
          },
          "provisioningState": {
            "description": "The provisioning state, which only appears in the response.",
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The status of the hybrid machine agent.",
            "enum": [
              "Connected",
              "Disconnected",
              "Error"
            ],
            "readOnly": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "StatusTypes"
            }
          },
          "vmId": {
            "description": "Specifies the hybrid machine unique ID.",
            "type": "string",
            "x-ms-mutability": [
              "read",
              "create"
            ]
          }
        },
        "type": "object"
      },
      "MachineReconnect": {
        "description": "Describes a hybrid machine reconnect.",
        "properties": {
          "properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MachineReconnectProperties"
              }
            ],
            "description": "Hybrid Compute Machine properties",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "MachineReconnectProperties": {
        "description": "Describes the properties required to reconnect a hybrid machine.",
        "properties": {
          "clientPublicKey": {
            "description": "Public Key that the client provides to be used during initial resource onboarding.",
            "type": "string"
          },
          "vmId": {
            "description": "Specifies the hybrid machine unique ID.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "MachineUpdate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateResource"
          }
        ],
        "description": "Describes a hybrid machine Update.",
        "properties": {
          "identity": {
            "allOf": [
              {
                "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity"
              }
            ],
            "description": "Hybrid Compute Machine Managed Identity",
            "x-ms-client-flatten": true
          },
          "properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MachineUpdateProperties"
              }
            ],
            "description": "Hybrid Compute Machine properties",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "MachineUpdateProperties": {
        "description": "Describes the ARM updatable properties of a hybrid machine.",
        "properties": {
          "locationData": {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
          }
        },
        "type": "object"
      },
      "OSProfile": {
        "description": "Specifies the operating system settings for the hybrid machine.",
        "properties": {
          "computerName": {
            "description": "Specifies the host OS name of the hybrid machine.",
            "readOnly": true,
            "type": "string"
          }
        },
        "readOnly": true,
        "type": "object"
      },
      "OperationListResult": {
        "description": "The List Compute Operation operation response.",
        "properties": {
          "value": {
            "description": "The list of compute operations",
            "items": {
              "$ref": "#/components/schemas/OperationValue"
            },
            "readOnly": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "OperationValue": {
        "description": "Describes the properties of a Compute Operation value.",
        "properties": {
          "display": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OperationValueDisplay"
              }
            ],
            "description": "Display properties",
            "x-ms-client-flatten": true
          },
          "name": {
            "description": "The name of the compute operation.",
            "readOnly": true,
            "type": "string"
          },
          "origin": {
            "description": "The origin of the compute operation.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OperationValueDisplay": {
        "description": "Describes the properties of a Hybrid Compute Operation Value Display.",
        "properties": {
          "description": {
            "description": "The description of the operation.",
            "readOnly": true,
            "type": "string"
          },
          "operation": {
            "description": "The display name of the compute operation.",
            "readOnly": true,
            "type": "string"
          },
          "provider": {
            "description": "The resource provider for the operation.",
            "readOnly": true,
            "type": "string"
          },
          "resource": {
            "description": "The display name of the resource the operation applies to.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateResource": {
        "description": "The Update Resource model definition.",
        "properties": {
          "tags": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Resource tags",
            "type": "object"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}