{ "swagger": "2.0", "info": { "title": "ApplicationClient", "version": "2019-07-01", "description": "ARM applications" }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/providers/Microsoft.Solutions/operations": { "get": { "tags": [ "Operations" ], "operationId": "ListOperations", "description": "Lists all of the available Microsoft.Solutions REST API operations.", "x-ms-examples": { "List Solutions operations": { "$ref": "./examples/listSolutionsOperations.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": { "get": { "tags": [ "Applications" ], "operationId": "Applications_Get", "description": "Gets the managed application.", "x-ms-examples": { "Get a managed application": { "$ref": "./examples/getApplication.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns the managed application.", "schema": { "$ref": "#/definitions/Application" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Applications" ], "operationId": "Applications_Delete", "description": "Deletes the managed application.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "NoContent" }, "202": { "description": "Accepted - Returns this status until the asynchronous operation has completed." }, "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 }, "put": { "tags": [ "Applications" ], "operationId": "Applications_CreateOrUpdate", "description": "Creates a new managed application.", "x-ms-examples": { "Create or update managed application": { "$ref": "./examples/createOrUpdateApplication.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/Application" }, "description": "Parameters supplied to the create or update a managed application." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { "$ref": "#/definitions/Application" } }, "201": { "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { "$ref": "#/definitions/Application" } }, "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 }, "patch": { "tags": [ "Applications" ], "operationId": "Applications_Update", "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", "x-ms-examples": { "Create or update managed application": { "$ref": "./examples/updateApplication.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/ApplicationPatchable" }, "description": "Parameters supplied to update an existing managed application." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { "$ref": "#/definitions/Application" } }, "202": { "description": "Accepted - Returns this status until the asynchronous operation has completed." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}": { "get": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_Get", "description": "Gets the managed application definition.", "x-ms-examples": { "Get managed application definition": { "$ref": "./examples/getApplicationDefinition.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns the managed application definition.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_Delete", "description": "Deletes the managed application definition.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application definition to delete.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "NoContent" }, "200": { "description": "OK" }, "202": { "description": "Accepted - Returns this status until the asynchronous operation has completed." }, "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 }, "put": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_CreateOrUpdate", "description": "Creates a new managed application definition.", "x-ms-examples": { "Create or update managed application definition": { "$ref": "./examples/createOrUpdateApplicationDefinition.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApplicationDefinition" }, "description": "Parameters supplied to the create or update an managed application definition." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns information about the managed application definition, including provisioning status.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "201": { "description": "Created - Returns information about the managed application definition, including provisioning status.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "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 } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions": { "get": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_ListByResourceGroup", "description": "Lists the managed application definitions in a resource group.", "x-ms-examples": { "List managed application definitions": { "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of managed application definitions.", "schema": { "$ref": "#/definitions/ApplicationDefinitionListResult" } }, "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" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications": { "get": { "tags": [ "Applications" ], "operationId": "Applications_ListByResourceGroup", "description": "Gets all the applications within a resource group.", "x-ms-examples": { "Lists applications": { "$ref": "./examples/listApplicationsByResourceGroup.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of applications.", "schema": { "$ref": "#/definitions/ApplicationListResult" } }, "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" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications": { "get": { "tags": [ "Applications" ], "operationId": "Applications_ListBySubscription", "description": "Gets all the applications within a subscription.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of applications.", "schema": { "$ref": "#/definitions/ApplicationListResult" } }, "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" } } }, "/{applicationId}": { "get": { "tags": [ "Applications" ], "operationId": "Applications_GetById", "description": "Gets the managed application.", "parameters": [ { "name": "applicationId", "in": "path", "required": true, "type": "string", "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK - Returns the managed application.", "schema": { "$ref": "#/definitions/Application" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Applications" ], "operationId": "Applications_DeleteById", "description": "Deletes the managed application.", "parameters": [ { "name": "applicationId", "in": "path", "required": true, "type": "string", "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "204": { "description": "NoContent" }, "202": { "description": "Accepted - Returns this status until the asynchronous operation has completed." }, "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 }, "put": { "tags": [ "Applications" ], "operationId": "Applications_CreateOrUpdateById", "description": "Creates a new managed application.", "parameters": [ { "name": "applicationId", "in": "path", "required": true, "type": "string", "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/Application" }, "description": "Parameters supplied to the create or update a managed application." }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { "$ref": "#/definitions/Application" } }, "201": { "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { "$ref": "#/definitions/Application" } }, "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 }, "patch": { "tags": [ "Applications" ], "operationId": "Applications_UpdateById", "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", "parameters": [ { "name": "applicationId", "in": "path", "required": true, "type": "string", "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/Application" }, "description": "Parameters supplied to update an existing managed application." }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { "$ref": "#/definitions/Application" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": { "get": { "tags": [ "JitRequests" ], "operationId": "JitRequests_Get", "description": "Gets the JIT request.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "jitRequestName", "in": "path", "required": true, "type": "string", "description": "The name of the JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns the JIT request", "schema": { "$ref": "#/definitions/JitRequestDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } }, "put": { "tags": [ "JitRequests" ], "operationId": "jitRequests_CreateOrUpdate", "description": "Creates or updates the JIT request.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "jitRequestName", "in": "path", "required": true, "type": "string", "description": "The name of the JIT request." }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/JitRequestDefinition" }, "description": "Parameters supplied to the update JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { "description": "Created - Returns information about the JIT request.", "schema": { "$ref": "#/definitions/JitRequestDefinition" } }, "200": { "description": "Ok - Returns information about existing JIT request.", "schema": { "$ref": "#/definitions/JitRequestDefinition" } }, "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 }, "patch": { "tags": [ "JitRequests" ], "operationId": "JitRequests_Update", "description": "Updates the JIT request.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "jitRequestName", "in": "path", "required": true, "type": "string", "description": "The name of the JIT request." }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/JitRequestPatchable" }, "description": "Parameters supplied to the update JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Ok - Returns information about the JIT request.", "schema": { "$ref": "#/definitions/JitRequestDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "JitRequests" ], "operationId": "jitRequests_Delete", "description": "Deletes the JIT request.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "jitRequestName", "in": "path", "required": true, "type": "string", "description": "The name of the JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "NoContent" }, "200": { "description": "OK" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { "get": { "tags": [ "JitRequests" ], "operationId": "jitRequests_ListBySubscription", "description": "Retrieves all JIT requests within the subscription.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of JIT requests.", "schema": { "$ref": "#/definitions/JitRequestDefinitionListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": { "get": { "tags": [ "JitRequests" ], "operationId": "jitRequests_ListByResourceGroup", "description": "Retrieves all JIT requests within the resource group.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of JIT requests.", "schema": { "$ref": "#/definitions/JitRequestDefinitionListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": { "post": { "tags": [ "Applications" ], "operationId": "Applications_RefreshPermissions", "description": "Refresh Permissions for application.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "202": { "description": "Accepted - Returns this status until the asynchronous operation has completed." }, "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-paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { "get": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_GetById", "description": "Gets the managed application definition.", "x-ms-examples": { "Get managed application definition": { "$ref": "./examples/getApplicationDefinition.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns the managed application definition.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_DeleteById", "description": "Deletes the managed application definition.", "x-ms-examples": { "Get managed application definition": { "$ref": "./examples/deleteApplicationDefinition.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "NoContent" }, "200": { "description": "OK" }, "202": { "description": "Accepted - Returns this status until the asynchronous operation has completed." }, "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 }, "put": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_CreateOrUpdateById", "description": "Creates a new managed application definition.", "x-ms-examples": { "Create or update managed application definition": { "$ref": "./examples/createOrUpdateApplicationDefinition.json" } }, "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApplicationDefinition" }, "description": "Parameters supplied to the create or update a managed application definition." } ], "responses": { "200": { "description": "OK - Returns information about the managed application definition, including provisioning status.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "201": { "description": "Created - Returns information about the managed application definition, including provisioning status.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "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 } } }, "definitions": { "Application": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ApplicationProperties", "description": "The managed application properties." }, "plan": { "$ref": "#/definitions/Plan", "description": "The plan information." }, "kind": { "type": "string", "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", "pattern": "^[-\\w\\._,\\(\\)]+$" }, "identity": { "$ref": "#/definitions/Identity", "description": "The identity of the resource." } }, "required": [ "properties", "kind" ], "allOf": [ { "$ref": "#/definitions/GenericResource" } ], "description": "Information about managed application." }, "ApplicationPatchable": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ApplicationProperties", "description": "The managed application properties." }, "plan": { "$ref": "#/definitions/PlanPatchable", "description": "The plan information." }, "kind": { "type": "string", "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", "pattern": "^[-\\w\\._,\\(\\)]+$" }, "identity": { "$ref": "#/definitions/Identity", "description": "The identity of the resource." } }, "allOf": [ { "$ref": "#/definitions/GenericResource" } ], "description": "Information about managed application." }, "ApplicationDefinition": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ApplicationDefinitionProperties", "description": "The managed application definition properties." } }, "required": [ "properties" ], "allOf": [ { "$ref": "#/definitions/GenericResource" } ], "description": "Information about managed application definition." }, "ApplicationProperties": { "properties": { "managedResourceGroupId": { "type": "string", "description": "The managed resource group Id." }, "applicationDefinitionId": { "type": "string", "description": "The fully qualified path of managed application definition Id." }, "parameters": { "type": "object", "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." }, "outputs": { "readOnly": true, "type": "object", "description": "Name and value pairs that define the managed application outputs." }, "provisioningState": { "readOnly": true, "$ref": "#/definitions/ProvisioningState", "description": "The managed application provisioning state." }, "billingDetails": { "readOnly": true, "$ref": "#/definitions/ApplicationBillingDetailsDefinition", "description": "The managed application billing details." }, "jitAccessPolicy": { "$ref": "#/definitions/ApplicationJitAccessPolicy", "description": "The managed application Jit access policy." }, "publisherTenantId": { "type": "string", "description": "The publisher tenant Id.", "readOnly": true }, "authorizations": { "description": "The read-only authorizations property that is retrieved from the application package.", "type": "array", "items": { "$ref": "#/definitions/ApplicationAuthorization" }, "readOnly": true }, "managementMode": { "$ref": "#/definitions/ApplicationManagementMode", "description": "The managed application management mode.", "readOnly": true }, "customerSupport": { "$ref": "#/definitions/ApplicationPackageContact", "description": "The read-only customer support property that is retrieved from the application package.", "readOnly": true }, "supportUrls": { "$ref": "#/definitions/ApplicationPackageSupportUrls", "description": "The read-only support URLs property that is retrieved from the application package.", "readOnly": true }, "artifacts": { "description": "The collection of managed application artifacts.", "type": "array", "items": { "$ref": "#/definitions/ApplicationArtifact" }, "readOnly": true }, "createdBy": { "readOnly": true, "$ref": "#/definitions/ApplicationClientDetails", "description": "The client entity that created the JIT request." }, "updatedBy": { "readOnly": true, "$ref": "#/definitions/ApplicationClientDetails", "description": "The client entity that last updated the JIT request." } }, "description": "The managed application properties." }, "ApplicationPropertiesPatchable": { "properties": { "managedResourceGroupId": { "type": "string", "description": "The managed resource group Id." }, "applicationDefinitionId": { "type": "string", "description": "The fully qualified path of managed application definition Id." }, "parameters": { "type": "object", "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." }, "outputs": { "readOnly": true, "type": "object", "description": "Name and value pairs that define the managed application outputs." }, "provisioningState": { "readOnly": true, "$ref": "#/definitions/ProvisioningState", "description": "The managed application provisioning state." } }, "description": "The managed application properties." }, "ApplicationDefinitionProperties": { "properties": { "lockLevel": { "$ref": "#/definitions/ApplicationLockLevel", "description": "The managed application lock level." }, "displayName": { "type": "string", "description": "The managed application definition display name." }, "isEnabled": { "type": "boolean", "description": "A value indicating whether the package is enabled or not." }, "authorizations": { "description": "The managed application provider authorizations.", "type": "array", "items": { "$ref": "#/definitions/ApplicationAuthorization" } }, "artifacts": { "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition.", "type": "array", "items": { "$ref": "#/definitions/ApplicationDefinitionArtifact" } }, "description": { "type": "string", "description": "The managed application definition description." }, "packageFileUri": { "type": "string", "description": "The managed application definition package file Uri. Use this element" }, "mainTemplate": { "type": "object", "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." }, "createUiDefinition": { "type": "object", "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." }, "notificationPolicy": { "$ref": "#/definitions/ApplicationNotificationPolicy", "description": "The managed application notification policy." }, "lockingPolicy": { "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition", "description": "The managed application locking policy." }, "deploymentPolicy": { "$ref": "#/definitions/ApplicationDeploymentPolicy", "description": "The managed application deployment policy." }, "managementPolicy": { "$ref": "#/definitions/ApplicationManagementPolicy", "description": "The managed application management policy that determines publisher's access to the managed resource group." }, "policies": { "description": "The managed application provider policies.", "type": "array", "items": { "$ref": "#/definitions/ApplicationPolicy" } } }, "required": [ "lockLevel" ], "description": "The managed application definition properties." }, "Plan": { "properties": { "name": { "type": "string", "description": "The plan name." }, "publisher": { "type": "string", "description": "The publisher ID." }, "product": { "type": "string", "description": "The product code." }, "promotionCode": { "type": "string", "description": "The promotion code." }, "version": { "type": "string", "description": "The plan's version." } }, "required": [ "name", "publisher", "product", "version" ], "description": "Plan for the managed application." }, "PlanPatchable": { "properties": { "name": { "type": "string", "description": "The plan name." }, "publisher": { "type": "string", "description": "The publisher ID." }, "product": { "type": "string", "description": "The product code." }, "promotionCode": { "type": "string", "description": "The promotion code." }, "version": { "type": "string", "description": "The plan's version." } }, "description": "Plan for the managed application." }, "GenericResource": { "properties": { "managedBy": { "type": "string", "description": "ID of the resource that manages this resource." }, "sku": { "$ref": "#/definitions/Sku", "description": "The SKU of the resource." } }, "allOf": [ { "$ref": "#/definitions/Resource" } ], "description": "Resource information." }, "Sku": { "properties": { "name": { "type": "string", "description": "The SKU name." }, "tier": { "type": "string", "description": "The SKU tier." }, "size": { "type": "string", "description": "The SKU size." }, "family": { "type": "string", "description": "The SKU family." }, "model": { "type": "string", "description": "The SKU model." }, "capacity": { "type": "integer", "format": "int32", "description": "The SKU capacity." } }, "required": [ "name" ], "description": "SKU for the resource." }, "Identity": { "properties": { "principalId": { "readOnly": true, "type": "string", "description": "The principal ID of resource identity." }, "tenantId": { "readOnly": true, "type": "string", "description": "The tenant ID of resource." }, "type": { "type": "string", "description": "The identity type.", "enum": [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ], "x-ms-enum": { "name": "ResourceIdentityType", "modelAsString": false } }, "userAssignedIdentities": { "type": "object", "additionalProperties": { "$ref": "#/definitions/userAssignedResourceIdentity" }, "description": "The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, "description": "Identity for the resource." }, "userAssignedResourceIdentity": { "properties": { "principalId": { "readOnly": true, "type": "string", "description": "The principal id of user assigned identity." }, "tenantId": { "readOnly": true, "type": "string", "description": "The tenant id of user assigned identity." } }, "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity" }, "Resource": { "properties": { "id": { "readOnly": true, "type": "string", "description": "Resource ID" }, "name": { "readOnly": true, "type": "string", "description": "Resource name" }, "type": { "readOnly": true, "type": "string", "description": "Resource type" }, "location": { "type": "string", "description": "Resource location" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags" } }, "description": "Resource information.", "x-ms-azure-resource": true }, "ApplicationListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/Application" }, "description": "The array of managed applications." }, "nextLink": { "type": "string", "description": "The URL to use for getting the next set of results." } }, "description": "List of managed applications." }, "ApplicationDefinitionListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/ApplicationDefinition" }, "description": "The array of managed application definitions." }, "nextLink": { "type": "string", "description": "The URL to use for getting the next set of results." } }, "description": "List of managed application definitions." }, "ProvisioningState": { "description": "Provisioning status of the managed application.", "readOnly": true, "enum": [ "NotSpecified", "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "Updating" ], "type": "string", "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true } }, "ApplicationLockLevel": { "description": "The managed application lock level.", "enum": [ "CanNotDelete", "ReadOnly", "None" ], "type": "string", "x-ms-enum": { "name": "ApplicationLockLevel", "modelAsString": false } }, "ApplicationArtifactType": { "description": "The managed application artifact type.", "enum": [ "NotSpecified", "Template", "Custom" ], "type": "string", "x-ms-enum": { "name": "ApplicationArtifactType", "modelAsString": false } }, "ApplicationDefinitionArtifactName": { "description": "The managed application artifact name.", "enum": [ "NotSpecified", "ApplicationResourceTemplate", "CreateUiDefinition", "MainTemplateParameters" ], "type": "string", "x-ms-enum": { "name": "ApplicationDefinitionArtifactName", "modelAsString": true } }, "ApplicationArtifactName": { "description": "The managed application artifact name.", "enum": [ "NotSpecified", "ViewDefinition", "Authorizations", "CustomRoleDefinition" ], "type": "string", "x-ms-enum": { "name": "ApplicationArtifactName", "modelAsString": true } }, "ApplicationArtifact": { "properties": { "name": { "$ref": "#/definitions/ApplicationArtifactName", "description": "The managed application artifact name." }, "uri": { "type": "string", "description": "The managed application artifact blob uri." }, "type": { "$ref": "#/definitions/ApplicationArtifactType", "description": "The managed application artifact type." } }, "required": [ "name", "type", "uri" ], "description": "Managed application artifact." }, "ApplicationDefinitionArtifact": { "properties": { "name": { "$ref": "#/definitions/ApplicationDefinitionArtifactName", "description": "The managed application definition artifact name." }, "uri": { "type": "string", "description": "The managed application definition artifact blob uri." }, "type": { "$ref": "#/definitions/ApplicationArtifactType", "description": "The managed application definition artifact type." } }, "required": [ "name", "type", "uri" ], "description": "Application definition artifact." }, "ApplicationNotificationPolicy": { "properties": { "notificationEndpoints": { "type": "array", "items": { "$ref": "#/definitions/ApplicationNotificationEndpoint" }, "description": "The managed application notification endpoint." } }, "required": [ "notificationEndpoints" ], "description": "Managed application notification policy." }, "ApplicationNotificationEndpoint": { "properties": { "uri": { "type": "string", "description": "The managed application notification endpoint uri." } }, "required": [ "uri" ], "description": "Managed application notification endpoint." }, "ApplicationPackageLockingPolicyDefinition": { "properties": { "allowedActions": { "type": "array", "items": { "type": "string" }, "description": "The deny assignment excluded actions." }, "allowedDataActions": { "type": "array", "items": { "type": "string" }, "description": "The deny assignment excluded data actions." } }, "description": "Managed application locking policy." }, "ApplicationDeploymentPolicy": { "properties": { "deploymentMode": { "$ref": "#/definitions/DeploymentMode", "description": "The managed application deployment mode." } }, "required": [ "deploymentMode" ], "description": "Managed application deployment policy." }, "ApplicationManagementPolicy": { "properties": { "mode": { "$ref": "#/definitions/ApplicationManagementMode", "description": "The managed application management mode." } }, "description": "Managed application management policy." }, "ApplicationPolicy": { "properties": { "name": { "type": "string", "description": "The policy name" }, "policyDefinitionId": { "type": "string", "description": "The policy definition Id." }, "parameters": { "type": "string", "description": "The policy parameters." } }, "description": "Managed application policy." }, "ApplicationAuthorization": { "properties": { "principalId": { "type": "string", "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." }, "roleDefinitionId": { "type": "string", "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." } }, "required": [ "principalId", "roleDefinitionId" ], "description": "The managed application provider authorization." }, "ApplicationPackageContact": { "properties": { "contactName": { "type": "string", "description": "The contact name." }, "email": { "type": "string", "description": "The contact email." }, "phone": { "type": "string", "description": "The contact phone number." } }, "required": [ "email", "phone" ], "description": "The application package contact information." }, "ApplicationPackageSupportUrls": { "properties": { "publicAzure": { "type": "string", "description": "The public azure support URL." }, "governmentCloud": { "type": "string", "description": "The government cloud support URL." } }, "description": "The appliance package support URLs." }, "ApplicationBillingDetailsDefinition": { "properties": { "resourceUsageId": { "type": "string", "description": "The managed application resource usage Id." } }, "description": "Managed application billing details definition." }, "ApplicationJitAccessPolicy": { "properties": { "jitAccessEnabled": { "type": "boolean", "description": "Whether the JIT access is enabled." }, "jitApprovalMode": { "$ref": "#/definitions/JitApprovalMode", "description": "JIT approval mode." }, "jitApprovers": { "type": "array", "items": { "$ref": "#/definitions/JitApproverDefinition" }, "description": "The JIT approvers" }, "maximumJitAccessDuration": { "type": "string", "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." } }, "required": [ "jitAccessEnabled" ], "description": "Managed application Jit access policy." }, "JitRequestDefinition": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/JitRequestProperties", "description": "The JIT request properties." } }, "allOf": [ { "$ref": "#/definitions/Resource" } ], "description": "Information about JIT request definition." }, "JitRequestPatchable": { "properties": { "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Jit request tags" } }, "description": "Information about JIT request." }, "JitRequestDefinitionListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/JitRequestDefinition" }, "description": "The array of Jit request definition." }, "nextLink": { "type": "string", "description": "The URL to use for getting the next set of results." } }, "description": "List of JIT requests." }, "JitRequestProperties": { "properties": { "applicationResourceId": { "type": "string", "description": "The parent application id." }, "publisherTenantId": { "readOnly": true, "type": "string", "description": "The publisher tenant id." }, "jitAuthorizationPolicies": { "description": "The JIT authorization policies.", "type": "array", "items": { "$ref": "#/definitions/JitAuthorizationPolicies" } }, "jitSchedulingPolicy": { "$ref": "#/definitions/JitSchedulingPolicy", "description": "The JIT request properties." }, "provisioningState": { "readOnly": true, "$ref": "#/definitions/ProvisioningState", "description": "The JIT request provisioning state." }, "jitRequestState": { "readOnly": true, "$ref": "#/definitions/JitRequestState", "description": "The JIT request state." }, "createdBy": { "readOnly": true, "$ref": "#/definitions/ApplicationClientDetails", "description": "The client entity that created the JIT request." }, "updatedBy": { "readOnly": true, "$ref": "#/definitions/ApplicationClientDetails", "description": "The client entity that last updated the JIT request." } }, "required": [ "applicationResourceId", "jitAuthorizationPolicies", "jitSchedulingPolicy" ], "description": "Information about JIT request properties" }, "JitAuthorizationPolicies": { "properties": { "principalId": { "type": "string", "description": "The the principal id that will be granted JIT access." }, "roleDefinitionId": { "type": "string", "description": "The role definition id that will be granted to the Principal." } }, "required": [ "principalId", "roleDefinitionId" ], "description": "The JIT authorization policies." }, "JitSchedulingPolicy": { "properties": { "type": { "$ref": "#/definitions/JitSchedulingType", "description": "The type of JIT schedule." }, "duration": { "type": "string", "format": "duration", "title": "The required duration of the JIT request." }, "startTime": { "type": "string", "format": "date-time", "description": "The start time of the request." } }, "required": [ "type", "duration", "startTime" ], "description": "The JIT scheduling policies." }, "JitApprovalMode": { "description": "The Jit approval mode.", "enum": [ "NotSpecified", "AutoApprove", "ManualApprove" ], "type": "string", "x-ms-enum": { "name": "JitApprovalMode", "modelAsString": true } }, "JitApproverDefinition": { "properties": { "id": { "type": "string", "description": "The approver service principal Id." }, "type": { "type": "string", "description": "The approver type.", "enum": [ "user", "group" ], "x-ms-enum": { "name": "JitApproverType", "modelAsString": true } }, "displayName": { "type": "string", "description": "The approver display name." } }, "required": [ "id" ], "description": "JIT approver definition." }, "ApplicationClientDetails": { "readOnly": true, "properties": { "oid": { "type": "string", "description": "The client Oid." }, "puid": { "type": "string", "description": "The client Puid" }, "applicationId": { "type": "string", "description": "The client application Id." } }, "description": "The application client details to track the entity creating/updating the managed app resource." }, "JitRequestState": { "description": "The JIT request state.", "readOnly": true, "enum": [ "NotSpecified", "Pending", "Approved", "Denied", "Failed", "Canceled", "Expired", "Timeout" ], "type": "string", "x-ms-enum": { "name": "JitRequestState", "modelAsString": true } }, "JitSchedulingType": { "description": "The JIT request scheduling type.", "readOnly": true, "enum": [ "NotSpecified", "Once", "Recurring" ], "type": "string", "x-ms-enum": { "name": "JitSchedulingType", "modelAsString": true } }, "Operation": { "description": "Microsoft.Solutions operation", "type": "object", "properties": { "name": { "description": "Operation name: {provider}/{resource}/{operation}", "type": "string" }, "display": { "description": "The object that represents the operation.", "properties": { "provider": { "description": "Service provider: Microsoft.Solutions", "type": "string" }, "resource": { "description": "Resource on which the operation is performed: Application, JitRequest, etc.", "type": "string" }, "operation": { "description": "Operation type: Read, write, delete, etc.", "type": "string" } } } } }, "DeploymentMode": { "description": "The deployment mode.", "enum": [ "NotSpecified", "Incremental", "Complete" ], "type": "string", "x-ms-enum": { "name": "DeploymentMode", "modelAsString": true } }, "ApplicationManagementMode": { "description": "The management mode.", "enum": [ "NotSpecified", "Unmanaged", "Managed" ], "type": "string", "x-ms-enum": { "name": "ApplicationManagementMode", "modelAsString": true } } }, "parameters": { "SubscriptionIdParameter": { "name": "subscriptionId", "in": "path", "required": true, "type": "string", "description": "The ID of the target subscription." }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "The API version to use for this operation." } } }