{ "swagger": "2.0", "info": { "version": "2021-03-15-preview", "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/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v2/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/v2/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/v2/types.json#/definitions/systemData", "description": "Metadata pertaining to creation and last modification of the resource", "readOnly": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v2/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" } } } }, "customLocation": { "description": "Custom Locations definition.", "type": "object", "properties": { "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/v2/types.json#/definitions/systemData", "description": "Metadata pertaining to creation and last modification of the resource", "readOnly": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v2/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": { "properties": { "$ref": "#/definitions/customLocationProperties", "description": "The Custom Locations patchable properties.", "x-ms-client-flatten": true }, "tags": { "description": "Resource tags", "type": "object", "additionalProperties": { "type": "string" } } } } } }