diff --git a/ARMExplorer.csproj b/ARMExplorer.csproj
index 7c4370b..d26b3d8 100644
--- a/ARMExplorer.csproj
+++ b/ARMExplorer.csproj
@@ -275,6 +275,7 @@
+
@@ -319,6 +320,7 @@
+
diff --git a/App_Data/SwaggerSpecs/Microsoft.ExtendedLocation/customlocations.json b/App_Data/SwaggerSpecs/Microsoft.ExtendedLocation/customlocations.json
new file mode 100644
index 0000000..58bba6a
--- /dev/null
+++ b/App_Data/SwaggerSpecs/Microsoft.ExtendedLocation/customlocations.json
@@ -0,0 +1,728 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-15",
+ "title": "customLocations",
+ "description": "The customLocations Rest API spec."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ExtendedLocation/operations": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_ListOperations",
+ "description": "Lists all available Custom Locations operations.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation details.",
+ "schema": {
+ "$ref": "#/definitions/customLocationOperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Custom Locations operations": {
+ "$ref": "./examples/CustomLocationsListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ExtendedLocation/customLocations": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_ListBySubscription",
+ "summary": "Gets a list of Custom Locations in a subscription.",
+ "description": "Gets a list of Custom Locations in the specified subscription. The operation returns properties of each Custom Location",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Custom Locations by subscription": {
+ "$ref": "./examples/CustomLocationsListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_ListByResourceGroup",
+ "summary": "Gets a list of Custom Locations in the specified subscription and resource group.",
+ "description": "Gets a list of Custom Locations in the specified subscription and resource group. The operation returns properties of each Custom Location.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Custom Locations by resource group": {
+ "$ref": "./examples/CustomLocationsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_Get",
+ "summary": "Gets a Custom Location.",
+ "description": "Gets the details of the customLocation with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Custom Location": {
+ "$ref": "./examples/CustomLocationsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_CreateOrUpdate",
+ "summary": "Creates or updates a Custom Location.",
+ "description": "Creates or updates a Custom Location in the specified Subscription and Resource Group",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ },
+ "description": "Parameters supplied to create or update a Custom Location."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create/Update Custom Location": {
+ "$ref": "./examples/CustomLocationsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_Delete",
+ "summary": "Deletes a Custom Location.",
+ "description": "Deletes the Custom Location with the specified Resource Name, Resource Group, and Subscription Id.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "NoContent. The response indicates the customLocation resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete Custom Location": {
+ "$ref": "./examples/CustomLocationsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_Update",
+ "summary": "Updates a Custom Location.",
+ "description": "Updates a Custom Location with the specified Resource Name in the specified Resource Group and Subscription.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/patchableCustomLocations"
+ },
+ "description": "The updatable fields of an existing Custom Location."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Custom Location": {
+ "$ref": "./examples/CustomLocationsPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}/enabledResourceTypes": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "CustomLocations_ListEnabledResourceTypes",
+ "summary": "Gets the list of Enabled Resource Types.",
+ "description": "Gets the list of the Enabled Resource Types.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EnabledResourceTypesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Custom Location": {
+ "$ref": "./examples/CustomLocationsListEnabledResourceTypes.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "EnabledResourceTypeNameParameter": {
+ "name": "enabledResourceTypeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "Custom Locations Enabled Resource Type name."
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "Custom Locations name."
+ }
+ },
+ "definitions": {
+ "EnabledResourceType": {
+ "description": "EnabledResourceType definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnabledResourceTypeProperties",
+ "description": "The set of properties for EnabledResourceType specific to a Custom Location",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "EnabledResourceTypeProperties": {
+ "description": "Properties for EnabledResourceType of a custom location.",
+ "type": "object",
+ "properties": {
+ "clusterExtensionId": {
+ "description": "Cluster Extension ID",
+ "type": "string"
+ },
+ "extensionType": {
+ "description": "Cluster Extension Type",
+ "type": "string"
+ },
+ "typesMetadata": {
+ "description": "Metadata of the Resource Type",
+ "type": "array",
+ "items": {
+ "description": "Metadata of the Resource Type.",
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "description": "Api Version of Resource Type",
+ "type": "string"
+ },
+ "resourceProviderNamespace": {
+ "description": "Resource Provider Namespace of Resource Type",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "EnabledResourceTypesListResult": {
+ "description": "List of EnabledResourceTypes definition.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The list of EnabledResourceTypes available for a customLocation.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EnabledResourceType"
+ }
+ }
+ }
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The identity type.",
+ "type": "string",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "customLocation": {
+ "description": "Custom Locations definition.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Identity for the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/customLocationProperties",
+ "description": "The set of properties specific to a Custom Location",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "customLocationListResult": {
+ "description": "The List Custom Locations operation response.",
+ "properties": {
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The list of Custom Locations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/customLocation"
+ }
+ }
+ }
+ },
+ "customLocationOperation": {
+ "description": "Custom Locations operation.",
+ "properties": {
+ "display": {
+ "$ref": "#/definitions/customLocationOperationValueDisplay",
+ "description": "Describes the properties of a Custom Locations Operation Value Display.",
+ "x-ms-client-flatten": true
+ },
+ "isDataAction": {
+ "description": "Is this Operation a data plane operation",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "origin": {
+ "description": "The origin of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "customLocationOperationValueDisplay": {
+ "description": "Describes the properties of a Custom Locations Operation Value Display.",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The display name of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provider": {
+ "description": "The resource provider for the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The display name of the resource the operation applies to.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "customLocationOperationsList": {
+ "description": "Lists of Custom Locations operations.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "nextLink": {
+ "description": "Next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of customLocationOperation",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/customLocationOperation"
+ }
+ }
+ }
+ },
+ "customLocationProperties": {
+ "description": "Properties for a custom location.",
+ "type": "object",
+ "properties": {
+ "authentication": {
+ "description": "This is optional input that contains the authentication that should be used to generate the namespace.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the Custom Locations authentication",
+ "type": "string"
+ },
+ "value": {
+ "description": "The kubeconfig value.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "clusterExtensionIds": {
+ "description": "Contains the reference to the add-on that contains charts to deploy CRDs and operators.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "displayName": {
+ "description": "Display name for the Custom Locations location.",
+ "type": "string"
+ },
+ "hostResourceId": {
+ "description": "Connected Cluster or AKS Cluster. The Custom Locations RP will perform a checkAccess API for listAdminCredentials permissions.",
+ "type": "string"
+ },
+ "hostType": {
+ "description": "Type of host the Custom Locations is referencing (Kubernetes, etc...).",
+ "type": "string",
+ "enum": [
+ "Kubernetes"
+ ],
+ "x-ms-enum": {
+ "name": "HostType",
+ "modelAsString": true
+ }
+ },
+ "namespace": {
+ "description": "Kubernetes namespace that will be created on the specified cluster.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning State for the Custom Location.",
+ "type": "string"
+ }
+ }
+ },
+ "patchableCustomLocations": {
+ "description": "The Custom Locations patchable resource definition.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Identity for the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/customLocationProperties",
+ "description": "The Custom Locations patchable properties.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "Resource tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/App_Data/SwaggerSpecs/Microsoft.ResourceConnector/appliances.json b/App_Data/SwaggerSpecs/Microsoft.ResourceConnector/appliances.json
new file mode 100644
index 0000000..5f557d8
--- /dev/null
+++ b/App_Data/SwaggerSpecs/Microsoft.ResourceConnector/appliances.json
@@ -0,0 +1,1099 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-10-27",
+ "title": "appliances",
+ "description": "The appliances Rest API spec."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ResourceConnector/operations": {
+ "get": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_ListOperations",
+ "description": "Lists all available Appliances operations.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation details.",
+ "schema": {
+ "$ref": "#/definitions/applianceOperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Appliances operations": {
+ "$ref": "./examples/AppliancesListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceConnector/appliances": {
+ "get": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_ListBySubscription",
+ "summary": "Gets a list of Appliances in a subscription.",
+ "description": "Gets a list of Appliances in the specified subscription. The operation returns properties of each Appliance",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applianceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Appliances by subscription": {
+ "$ref": "./examples/AppliancesListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceConnector/telemetryconfig": {
+ "get": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_GetTelemetryConfig",
+ "summary": "Gets the telemetry config.",
+ "description": "Gets the telemetry config.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applianceGetTelemetryConfigResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetTelemetryConfig Appliance": {
+ "$ref": "./examples/TelemetryConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances": {
+ "get": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_ListByResourceGroup",
+ "summary": "Gets a list of Appliances in the specified subscription and resource group.",
+ "description": "Gets a list of Appliances in the specified subscription and resource group. The operation returns properties of each Appliance.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applianceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Appliances by resource group": {
+ "$ref": "./examples/AppliancesListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances/{resourceName}": {
+ "get": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_Get",
+ "summary": "Gets an Appliance.",
+ "description": "Gets the details of an Appliance with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appliance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Appliance": {
+ "$ref": "./examples/AppliancesGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_CreateOrUpdate",
+ "summary": "Creates or updates an Appliance.",
+ "description": "Creates or updates an Appliance in the specified Subscription and Resource Group.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/appliance"
+ },
+ "description": "Parameters supplied to create or update an Appliance."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appliance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/appliance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create/Update Appliance": {
+ "$ref": "./examples/AppliancesCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_Delete",
+ "summary": "Deletes an Appliance.",
+ "description": "Deletes an Appliance with the specified Resource Name, Resource Group, and Subscription Id.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "NoContent. The response indicates the appliance resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete Appliance": {
+ "$ref": "./examples/AppliancesDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_Update",
+ "summary": "Updates an Appliance.",
+ "description": "Updates an Appliance with the specified Resource Name in the specified Resource Group and Subscription.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/patchableAppliance"
+ },
+ "description": "The updatable fields of an existing Appliance."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appliance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Appliance": {
+ "$ref": "./examples/AppliancesPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_ListClusterUserCredential",
+ "summary": "Returns the cluster user credential.",
+ "description": "Returns the cluster user credentials for the dedicated appliance.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applianceListCredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListClusterUserCredentialAppliance": {
+ "$ref": "./examples/AppliancesListClusterUserCredential.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_ListKeys",
+ "summary": "Gets the management config.",
+ "description": "Returns the cluster customer credentials for the dedicated appliance.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "artifactType",
+ "in": "query",
+ "type": "string",
+ "description": "This sets the type of artifact being returned, when empty no artifact endpoint is returned."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applianceListKeysResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListKeys Appliance": {
+ "$ref": "./examples/AppliancesListKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances/{resourceName}/upgradeGraphs/{upgradeGraph}": {
+ "get": {
+ "tags": [
+ "appliances"
+ ],
+ "operationId": "Appliances_GetUpgradeGraph",
+ "summary": "Gets an Appliance upgrade graph.",
+ "description": "Gets the upgrade graph of an Appliance with a specified resource group and name and specific release train.",
+ "parameters": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "upgradeGraph",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Upgrade graph version, ex - stable"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpgradeGraph"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Appliance Upgrade Graph": {
+ "$ref": "./examples/UpgradeGraph.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "Appliances name."
+ }
+ },
+ "definitions": {
+ "ArtifactProfile": {
+ "description": "Appliance ArtifactProfile definition.",
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "description": "Endpoint is the URL to upload artifacts to.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArtifactType": {
+ "description": "Appliance ArtifactType definition.",
+ "type": "string",
+ "enum": [
+ "LogsArtifactType"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactType",
+ "modelAsString": true
+ }
+ },
+ "HybridConnectionConfig": {
+ "description": "Contains the REP (rendezvous endpoint) and “Listener” access token from notification service (NS).",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "description": "Timestamp when this token will be expired.",
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64"
+ },
+ "hybridConnectionName": {
+ "description": "Name of the connection",
+ "type": "string",
+ "readOnly": true
+ },
+ "relay": {
+ "description": "Name of the notification service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "token": {
+ "description": "Listener access token",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The identity type.",
+ "type": "string",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SSHKey": {
+ "description": "Appliance SSHKey definition.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "Certificate associated with the public key if the key is signed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationTimeStamp": {
+ "description": "Certificate creation timestamp (Unix).",
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64"
+ },
+ "expirationTimeStamp": {
+ "description": "Certificate expiration timestamp (Unix).",
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64"
+ },
+ "privateKey": {
+ "description": "Private Key.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicKey": {
+ "description": "Public Key.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SSHKeyType": {
+ "description": "Appliance SSHKeyType definition.",
+ "type": "string",
+ "enum": [
+ "SSHCustomerUser",
+ "ManagementCAKey",
+ "LogsKey",
+ "ScopedAccessKey"
+ ],
+ "x-ms-enum": {
+ "name": "SSHKeyType",
+ "modelAsString": true
+ }
+ },
+ "SupportedVersion": {
+ "description": "The SupportedVersion object for appliance.",
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/SupportedVersionMetadata",
+ "description": "This is the metadata of the supported newer version.",
+ "type": "object",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The newer version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SupportedVersionCatalogVersion": {
+ "description": "The SupportedVersionCatalogVersion object for appliance.",
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/SupportedVersionCatalogVersionData",
+ "description": "The newer supported version catalog version data.",
+ "type": "object",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The catalog version name for the version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ },
+ "namespace": {
+ "description": "The catalog version namespace for the version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SupportedVersionCatalogVersionData": {
+ "description": "The SupportedVersionCatalogVersionData object for appliance.",
+ "type": "object",
+ "properties": {
+ "audience": {
+ "description": "The image audience name for the version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ },
+ "catalog": {
+ "description": "The image catalog name for the version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ },
+ "offer": {
+ "description": "The image offer name for the version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The image version for the version available for upgrade.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SupportedVersionMetadata": {
+ "description": "The SupportedVersionMetadata object for appliance.",
+ "type": "object",
+ "properties": {
+ "catalogVersion": {
+ "$ref": "#/definitions/SupportedVersionCatalogVersion",
+ "description": "The newer supported version catalog version.",
+ "type": "object",
+ "readOnly": true
+ }
+ }
+ },
+ "UpgradeGraph": {
+ "description": "The Upgrade Graph for appliance.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The appliance resource path",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The release train name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/UpgradeGraphProperties",
+ "description": "The properties of supported version",
+ "type": "object"
+ }
+ }
+ },
+ "UpgradeGraphProperties": {
+ "description": "The Upgrade Graph Properties for appliance.",
+ "type": "object",
+ "properties": {
+ "applianceVersion": {
+ "description": "The current appliance version",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedVersions": {
+ "description": "This contains the current version and supported upgrade versions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SupportedVersion"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "appliance": {
+ "description": "Appliances definition.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Identity for the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/applianceProperties",
+ "description": "The set of properties specific to an Appliance",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "applianceCredentialKubeconfig": {
+ "description": "Cluster User Credential appliance.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name which contains the role of the kubeconfig.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "clusterUser",
+ "clusterCustomerUser"
+ ],
+ "x-ms-enum": {
+ "name": "AccessProfileType",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Contains the kubeconfig value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "applianceGetTelemetryConfigResult": {
+ "description": "The Get Telemetry Config Result appliance.",
+ "type": "object",
+ "properties": {
+ "telemetryInstrumentationKey": {
+ "description": "Telemetry instrumentation key.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "applianceListCredentialResults": {
+ "description": "The List Cluster User Credential appliance.",
+ "type": "object",
+ "properties": {
+ "hybridConnectionConfig": {
+ "$ref": "#/definitions/HybridConnectionConfig",
+ "description": "Contains the REP (rendezvous endpoint) and “Listener” access token from notification service (NS).",
+ "readOnly": true
+ },
+ "kubeconfigs": {
+ "description": "The list of appliance kubeconfigs.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/applianceCredentialKubeconfig"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "applianceListKeysResults": {
+ "description": "The List Cluster Keys Results appliance.",
+ "type": "object",
+ "properties": {
+ "artifactProfiles": {
+ "description": "Map of artifacts that contains a list of ArtifactProfile used to upload artifacts such as logs.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "$ref": "#/definitions/ArtifactProfile"
+ }
+ },
+ "kubeconfigs": {
+ "description": "The list of appliance kubeconfigs.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/applianceCredentialKubeconfig"
+ },
+ "x-ms-identifiers": []
+ },
+ "sshKeys": {
+ "description": "Map of Customer User Public, Private SSH Keys and Certificate when available.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "$ref": "#/definitions/SSHKey"
+ }
+ }
+ }
+ },
+ "applianceListResult": {
+ "description": "The List Appliances operation response.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The list of Appliances.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/appliance"
+ }
+ }
+ }
+ },
+ "applianceOperation": {
+ "description": "Appliances operation.",
+ "type": "object",
+ "properties": {
+ "display": {
+ "$ref": "#/definitions/applianceOperationValueDisplay",
+ "description": "Describes the properties of an Appliances Operation Value Display.",
+ "x-ms-client-flatten": true
+ },
+ "isDataAction": {
+ "description": "Is this Operation a data plane operation",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "origin": {
+ "description": "The origin of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "applianceOperationValueDisplay": {
+ "description": "Describes the properties of an Appliances Operation Value Display.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The display name of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provider": {
+ "description": "The resource provider for the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The display name of the resource the operation applies to.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "applianceOperationsList": {
+ "description": "Lists of Appliances operations.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of applianceOperation",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/applianceOperation"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "applianceProperties": {
+ "description": "Properties for an appliance.",
+ "type": "object",
+ "properties": {
+ "distro": {
+ "description": "Represents a supported Fabric/Infra. (AKSEdge etc...).",
+ "type": "string",
+ "enum": [
+ "AKSEdge"
+ ],
+ "x-ms-enum": {
+ "name": "distro",
+ "modelAsString": true
+ },
+ "default": "AKSEdge"
+ },
+ "infrastructureConfig": {
+ "description": "Contains infrastructure information about the Appliance",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Information about the connected appliance.",
+ "type": "string",
+ "enum": [
+ "VMWare",
+ "HCI",
+ "SCVMM"
+ ],
+ "x-ms-enum": {
+ "name": "provider",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The current deployment or provisioning state, which only appears in the response.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicKey": {
+ "description": "Certificates pair used to download MSI certificate from HIS. Can only be set once.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Appliance’s health and state of connection to on-prem",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "WaitingForHeartbeat",
+ "Validating",
+ "Connecting",
+ "Connected",
+ "Running",
+ "PreparingForUpgrade",
+ "ETCDSnapshotFailed",
+ "UpgradePrerequisitesCompleted",
+ "ValidatingSFSConnectivity",
+ "ValidatingImageDownload",
+ "ValidatingImageUpload",
+ "ValidatingETCDHealth",
+ "PreUpgrade",
+ "UpgradingKVAIO",
+ "WaitingForKVAIO",
+ "ImagePending",
+ "ImageProvisioning",
+ "ImageProvisioned",
+ "ImageDownloading",
+ "ImageDownloaded",
+ "ImageDeprovisioning",
+ "ImageUnknown",
+ "UpdatingCloudOperator",
+ "WaitingForCloudOperator",
+ "UpdatingCAPI",
+ "UpdatingCluster",
+ "PostUpgrade",
+ "UpgradeComplete",
+ "UpgradeClusterExtensionFailedToDelete",
+ "UpgradeFailed",
+ "Offline",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Version of the Appliance",
+ "type": "string"
+ }
+ }
+ },
+ "patchableAppliance": {
+ "description": "The Appliances patchable resource definition.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "tags": {
+ "description": "Resource tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/App_Data/providernames.txt b/App_Data/providernames.txt
index 8664f7a..4ff0ab5 100644
--- a/App_Data/providernames.txt
+++ b/App_Data/providernames.txt
@@ -37,6 +37,7 @@ MICROSOFT.DOMAINREGISTRATION
MICROSOFT.EVENTGRID
MICROSOFT.EVENTHUB
MICROSOFT.EXPERIMENTATION
+MICROSOFT.EXTENDEDLOCATION
MICROSOFT.FEATURES
MICROSOFT.GUESTCONFIGURATION
MICROSOFT.HARDWARESECURITYMODULES
@@ -64,6 +65,7 @@ MICROSOFT.RECOVERYSERVICES
MICROSOFT.RELAY
MICROSOFT.RESOURCEHEALTH
MICROSOFT.RESOURCES
+MICROSOFT.RESOURCECONNECTOR
MICROSOFT.SAAS
MICROSOFT.SCHEDULER
MICROSOFT.SEARCH