From 81b329d4bb433226088659ab4fb49666f15f79dd Mon Sep 17 00:00:00 2001 From: Ruijun Hu Date: Mon, 6 Jul 2026 17:23:34 +0800 Subject: [PATCH] tsp conversion --- .../Solutions.Management/Application.tsp | 179 + .../ApplicationDefinition.tsp | 155 + .../JitRequestDefinition.tsp | 103 + .../Solutions.Management/back-compatible.tsp | 86 + .../solutions/Solutions.Management/client.tsp | 40 + .../createOrUpdateApplication.json | 59 + .../createOrUpdateApplicationById.json | 57 + .../createOrUpdateApplicationDefinition.json | 94 + .../createOrUpdateApplicationDefinition1.json | 94 + .../createOrUpdateJitRequest.json | 92 + .../2023-12-01-preview/deleteApplication.json | 20 + .../deleteApplicationById.json | 18 + .../deleteApplicationDefinition.json | 14 + .../deleteApplicationDefinition1.json | 14 + .../2023-12-01-preview/deleteJitRequest.json | 14 + .../2023-12-01-preview/getApplication.json | 56 + .../getApplicationById.json | 54 + .../getApplicationDefinition.json | 52 + .../getApplicationDefinition1.json | 52 + .../2023-12-01-preview/getJitRequest.json | 45 + .../listAllowedUpgradePlans.json | 26 + ...ApplicationDefinitionsByResourceGroup.json | 80 + ...tApplicationDefinitionsBySubscription.json | 79 + .../listApplicationsByResourceGroup.json | 52 + .../listApplicationsByResourceGroup1.json | 52 + .../listJitRequestsByResourceGroup.json | 76 + .../listJitRequestsByResourceGroup1.json | 76 + .../listSolutionsOperations.json | 36 + .../2023-12-01-preview/listToken.json | 35 + .../portalRegistryPackage.json | 27 + .../refreshApplicationPermissions.json | 19 + .../2023-12-01-preview/updateAccess.json | 40 + .../2023-12-01-preview/updateApplication.json | 61 + .../updateApplicationById.json | 59 + .../updateApplicationDefinition.json | 51 + .../updateApplicationDefinition1.json | 51 + .../2023-12-01-preview/updateJitRequest.json | 49 + .../solutions/Solutions.Management/main.tsp | 52 + .../solutions/Solutions.Management/models.tsp | 1490 ++++++ .../solutions/Solutions.Management/routes.tsp | 129 + .../Solutions.Management/tspconfig.yaml | 45 + .../examples/createOrUpdateApplication.json | 44 +- .../createOrUpdateApplicationById.json | 4 +- .../createOrUpdateApplicationDefinition.json | 40 +- .../createOrUpdateApplicationDefinition1.json | 94 + .../examples/createOrUpdateJitRequest.json | 64 +- .../examples/deleteApplication.json | 13 +- .../examples/deleteApplicationById.json | 7 +- .../examples/deleteApplicationDefinition.json | 10 +- .../deleteApplicationDefinition1.json | 14 + .../examples/deleteJitRequest.json | 10 +- .../examples/getApplication.json | 58 +- .../examples/getApplicationById.json | 4 +- .../examples/getApplicationDefinition.json | 32 +- .../examples/getApplicationDefinition1.json | 52 + .../examples/getJitRequest.json | 40 +- .../examples/listAllowedUpgradePlans.json | 16 +- ...ApplicationDefinitionsByResourceGroup.json | 28 +- ...tApplicationDefinitionsBySubscription.json | 28 +- .../listApplicationsByResourceGroup.json | 32 +- .../listApplicationsByResourceGroup1.json | 52 + .../listJitRequestsByResourceGroup.json | 56 +- .../listJitRequestsByResourceGroup1.json | 76 + .../examples/listSolutionsOperations.json | 32 +- .../examples/listToken.json | 18 +- .../examples/portalRegistryPackage.json | 20 +- .../refreshApplicationPermissions.json | 13 +- .../examples/updateAccess.json | 46 +- .../examples/updateApplication.json | 46 +- .../examples/updateApplicationById.json | 4 +- .../examples/updateApplicationDefinition.json | 24 +- .../updateApplicationDefinition1.json | 51 + .../examples/updateJitRequest.json | 38 +- .../managedapplications.json | 3978 ++++++++++------- specification/solutions/suppressions.yaml | 6 + 75 files changed, 6859 insertions(+), 2074 deletions(-) create mode 100644 specification/solutions/Solutions.Management/Application.tsp create mode 100644 specification/solutions/Solutions.Management/ApplicationDefinition.tsp create mode 100644 specification/solutions/Solutions.Management/JitRequestDefinition.tsp create mode 100644 specification/solutions/Solutions.Management/back-compatible.tsp create mode 100644 specification/solutions/Solutions.Management/client.tsp create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplication.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationById.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition1.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateJitRequest.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplication.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationById.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition1.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteJitRequest.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplication.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationById.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition1.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/getJitRequest.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listAllowedUpgradePlans.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsByResourceGroup.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsBySubscription.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup1.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup1.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listSolutionsOperations.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/listToken.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/portalRegistryPackage.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/refreshApplicationPermissions.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateAccess.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplication.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationById.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition1.json create mode 100644 specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateJitRequest.json create mode 100644 specification/solutions/Solutions.Management/main.tsp create mode 100644 specification/solutions/Solutions.Management/models.tsp create mode 100644 specification/solutions/Solutions.Management/routes.tsp create mode 100644 specification/solutions/Solutions.Management/tspconfig.yaml create mode 100644 specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition1.json create mode 100644 specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition1.json create mode 100644 specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition1.json create mode 100644 specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup1.json create mode 100644 specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup1.json create mode 100644 specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition1.json create mode 100644 specification/solutions/suppressions.yaml diff --git a/specification/solutions/Solutions.Management/Application.tsp b/specification/solutions/Solutions.Management/Application.tsp new file mode 100644 index 000000000000..08b3bd62c63d --- /dev/null +++ b/specification/solutions/Solutions.Management/Application.tsp @@ -0,0 +1,179 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Solutions; +/** + * Information about managed application. + */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Http.Private.includeInapplicableMetadataInPayload(false) +model Application extends GenericResource { + @visibility(Lifecycle.Read) + @path + @key("applicationName") + @minLength(3) + @maxLength(64) + @segment("applications") + name: string; + + /** + * The managed application properties. + */ + properties: ApplicationProperties; + + /** + * The plan information. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + plan?: Plan; + + /** + * The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @pattern("^[-\\w\\._,\\(\\)]+$") + kind: string; + + /** + * The identity of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + identity?: Identity; +} + +@armResourceOperations +interface Applications { + /** + * Gets the managed application. + */ + get is ArmResourceRead< + Application, + Response = ArmResponse | NotFoundResponse + >; + + /** + * Creates or updates a managed application. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync; + + /** + * Updates an existing managed application. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-patch" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @patch(#{ implicitOptionality: false }) + update is Azure.ResourceManager.Legacy.CustomPatchAsync< + Application, + PatchModel = ApplicationPatchable, + Response = + | ArmResponse + | (ArmAcceptedLroResponse & + Azure.Core.Foundations.RetryAfterHeader> & { + @bodyRoot + _: Application; + }), + OptionalRequestBody = true + >; + + /** + * Deletes the managed application. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is ArmResourceDeleteWithoutOkAsync< + Application, + Response = + | ArmDeletedResponse + | ArmDeleteAcceptedLroResponse + | ArmDeletedNoContentResponse + >; + + /** + * Lists all the applications within a resource group. + */ + listByResourceGroup is ArmResourceListByParent; + + /** + * Lists all the applications within a subscription. + */ + listBySubscription is ArmListBySubscription; + + /** + * Refresh Permissions for application. + */ + refreshPermissions is ArmResourceActionAsyncBase< + Application, + void, + OkResponse | ArmAcceptedLroResponse, + Azure.ResourceManager.Foundations.BaseParameters + >; + + /** + * List allowed upgrade plans for application. + */ + listAllowedUpgradePlans is ArmResourceActionSync< + Application, + void, + ArmResponse + >; + + /** + * Update access for application. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + updateAccess is ArmResourceActionAsyncBase< + Application, + UpdateAccessDefinition, + + | OkResponse + | (ArmAcceptedLroResponse< + "Resource operation accepted.", + ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + > & + Body), + BaseParameters = Azure.ResourceManager.Foundations.BaseParameters + >; + + /** + * List tokens for application. + */ + listTokens is ArmResourceActionSync< + Application, + ListTokenRequest, + ArmResponse + >; +} + +@@maxLength(Application.name, 64); +@@minLength(Application.name, 3); +@@doc(Application.name, "The name of the managed application."); +@@doc(Application.properties, "The managed application properties."); +@@doc( + Applications.createOrUpdate::parameters.resource, + "Parameters supplied to the create or update a managed application." +); +@@doc( + Applications.update::parameters.properties, + "Parameters supplied to update an existing managed application." +); +@@doc( + Applications.updateAccess::parameters.body, + "Request body parameters to update access." +); +@@doc( + Applications.listTokens::parameters.body, + "Request body parameters to list tokens." +); diff --git a/specification/solutions/Solutions.Management/ApplicationDefinition.tsp b/specification/solutions/Solutions.Management/ApplicationDefinition.tsp new file mode 100644 index 000000000000..09d24b693381 --- /dev/null +++ b/specification/solutions/Solutions.Management/ApplicationDefinition.tsp @@ -0,0 +1,155 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Solutions; +/** + * Information about managed application definition. + */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Http.Private.includeInapplicableMetadataInPayload(false) +model ApplicationDefinition extends GenericResource { + @visibility(Lifecycle.Read) + @path + @key("applicationDefinitionName") + @minLength(2) + @maxLength(10) + @segment("applicationDefinitions") + name: string; + + /** + * The managed application definition properties that can be updated. + */ + properties: ApplicationDefinitionProperties; +} + +alias ApplicationDefinitionOps = Azure.ResourceManager.Legacy.RoutedOperations< + { + ...ApiVersionParameter; + ...SubscriptionIdParameter; + ...ResourceGroupParameter; + }, + { + /** The name of the managed application definition. */ + @path + @key + @minLength(3) + @maxLength(64) + @segment("applicationDefinitions") + applicationDefinitionName: string; + }, + ResourceRoute = #{ useStaticRoute: true } +>; + +@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}") +@armResourceOperations(#{ allowStaticRoutes: true }) +interface ApplicationDefinitions { + /** + * Gets the managed application definition. + */ + @sharedRoute + get is ApplicationDefinitionOps.Read< + ApplicationDefinition, + Response = ArmResponse | NotFoundResponse + >; + + /** + * Creates or updates a managed application definition. + */ + @sharedRoute + createOrUpdate is ApplicationDefinitionOps.CreateOrUpdateSync; + + /** + * Updates the managed application definition. + */ + @sharedRoute + @patch(#{ implicitOptionality: false }) + update is ApplicationDefinitionOps.CustomPatchSync< + ApplicationDefinition, + PatchModel = ApplicationDefinitionPatchable + >; + + /** + * Deletes the managed application definition. + */ + @sharedRoute + delete is ApplicationDefinitionOps.DeleteSync; +} + +@tag("ApplicationDefinitions") +@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy") +@armResourceOperations(#{ allowStaticRoutes: true, omitTags: true }) +interface ApplicationDefinitionOpsById { + /** + * Gets the managed application definition. + */ + @sharedRoute + getById is ApplicationDefinitionOps.Read< + ApplicationDefinition, + Response = ArmResponse | NotFoundResponse + >; + + /** + * Creates or updates a managed application definition. + */ + @sharedRoute + createOrUpdateById is ApplicationDefinitionOps.CreateOrUpdateSync; + + /** + * Updates the managed application definition. + */ + @sharedRoute + @patch(#{ implicitOptionality: false }) + updateById is ApplicationDefinitionOps.CustomPatchSync< + ApplicationDefinition, + PatchModel = ApplicationDefinitionPatchable + >; + + /** + * Deletes the managed application definition. + */ + @sharedRoute + deleteById is ApplicationDefinitionOps.DeleteSync; +} + +@armResourceOperations(#{ omitTags: true }) +@tag("ApplicationDefinitions") +interface ApplicationDefinitionListOperationGroup { + /** + * Lists the managed application definitions in a resource group. + */ + listByResourceGroup is ArmResourceListByParent; + + /** + * Lists all the application definitions within a subscription. + */ + listBySubscription is ArmListBySubscription; +} + +@@maxLength(ApplicationDefinition.name, 64); +@@minLength(ApplicationDefinition.name, 3); +@@doc( + ApplicationDefinition.name, + "The name of the managed application definition." +); +@@doc( + ApplicationDefinition.properties, + "The managed application definition properties." +); +@@doc( + ApplicationDefinitions.createOrUpdate::parameters.resource, + "Parameters supplied to the create or update an managed application definition." +); +@@doc( + ApplicationDefinitions.update::parameters.properties, + "Parameters supplied to the update a managed application definition." +); diff --git a/specification/solutions/Solutions.Management/JitRequestDefinition.tsp b/specification/solutions/Solutions.Management/JitRequestDefinition.tsp new file mode 100644 index 000000000000..01c8e1ea5e89 --- /dev/null +++ b/specification/solutions/Solutions.Management/JitRequestDefinition.tsp @@ -0,0 +1,103 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Solutions; +/** + * Information about JIT request definition. + */ +// #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +// model JitRequestDefinition +// is Azure.ResourceManager.Legacy.TrackedResourceWithOptionalLocation { +// ...ResourceNameParameter< +// Resource = JitRequestDefinition, +// KeyName = "jitRequestName", +// SegmentName = "jitRequests", +// NamePattern = "" +// >; +// } +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Http.Private.includeInapplicableMetadataInPayload(false) +model JitRequestDefinition extends Resource { + @visibility(Lifecycle.Read) + @path + @key("jitRequestName") + @minLength(2) + @maxLength(10) + @segment("jitRequests") + name: string; + + /** + * The JIT request properties that can be updated. + */ + properties?: JitRequestProperties; +} + +@armResourceOperations(#{ omitTags: true }) +@tag("JitRequests") +interface JitRequestDefinitions { + /** + * Gets the JIT request. + */ + get is ArmResourceRead< + JitRequestDefinition, + Response = ArmResponse | NotFoundResponse + >; + + /** + * Creates or updates the JIT request. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("jitRequests_CreateOrUpdate") + createOrUpdate is ArmResourceCreateOrReplaceAsync; + + /** + * Updates the JIT request. + */ + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchSync< + JitRequestDefinition, + PatchModel = JitRequestPatchable + >; + + /** + * Deletes the JIT request. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("jitRequests_Delete") + delete is ArmResourceDeleteSync; + + /** + * Lists all JIT requests within the resource group. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("jitRequests_ListByResourceGroup") + listByResourceGroup is Azure.ResourceManager.Legacy.ArmListSinglePageByParent; + + /** + * Lists all JIT requests within the subscription. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("jitRequests_ListBySubscription") + listBySubscription is Azure.ResourceManager.Legacy.ArmListSinglePageBySubscription; +} + +@@doc(JitRequestDefinition.name, "The name of the JIT request."); +@@doc(JitRequestDefinition.properties, "The JIT request properties."); +@@doc( + JitRequestDefinitions.createOrUpdate::parameters.resource, + "Parameters supplied to the update JIT request." +); +@@doc( + JitRequestDefinitions.update::parameters.properties, + "Parameters supplied to the update JIT request." +); diff --git a/specification/solutions/Solutions.Management/back-compatible.tsp b/specification/solutions/Solutions.Management/back-compatible.tsp new file mode 100644 index 000000000000..07f543a7ab0a --- /dev/null +++ b/specification/solutions/Solutions.Management/back-compatible.tsp @@ -0,0 +1,86 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.Solutions; + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(ApplicationPatchable.properties); + +@@clientName(Applications.createOrUpdate::parameters.resource, "parameters"); +@@clientName(Applications.update::parameters.properties, "parameters"); +@@clientName(Applications.updateAccess::parameters.body, "parameters"); +@@clientName(Applications.listTokens::parameters.body, "parameters"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(Application.properties); + +@@clientName( + ApplicationDefinitions.createOrUpdate::parameters.resource, + "parameters" +); +@@clientName( + ApplicationDefinitions.update::parameters.properties, + "parameters" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(ApplicationDefinition.properties); + +@@clientLocation(JitRequestDefinitions.get, "jitRequests"); +@@clientLocation(JitRequestDefinitions.createOrUpdate, "jitRequests"); +@@clientName( + JitRequestDefinitions.createOrUpdate::parameters.resource, + "parameters" +); +@@clientLocation(JitRequestDefinitions.update, "jitRequests"); +@@clientName(JitRequestDefinitions.update::parameters.properties, "parameters"); +@@clientLocation(JitRequestDefinitions.delete, "jitRequests"); +@@clientLocation(JitRequestDefinitions.listByResourceGroup, "jitRequests"); +@@clientLocation(JitRequestDefinitions.listBySubscription, "jitRequests"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(JitRequestDefinition.properties); + +@@clientLocation(ApplicationsOperationGroup.getById, Applications); +@@clientLocation(ApplicationsOperationGroup.deleteById, Applications); +@@clientLocation(ApplicationsOperationGroup.createOrUpdateById, Applications); +@@clientLocation(ApplicationsOperationGroup.updateById, Applications); + +@@clientLocation( + ApplicationDefinitionOpsById.getById, + "ApplicationDefinitions" +); + +@@clientLocation( + ApplicationDefinitionOpsById.createOrUpdateById, + "ApplicationDefinitions" +); + +@@clientLocation( + ApplicationDefinitionOpsById.updateById, + "ApplicationDefinitions" +); + +@@clientLocation( + ApplicationDefinitionOpsById.deleteById, + "ApplicationDefinitions" +); + +@@clientName(portalRegistryPackage::parameters.body, "parameters"); + +@@clientLocation(Operations.list, Microsoft.Solutions); +@@clientName(Operations.list, "ListOperations"); + +@@clientLocation( + ApplicationDefinitionListOperationGroup.listByResourceGroup, + "ApplicationDefinitions" +); +@@clientLocation( + ApplicationDefinitionListOperationGroup.listBySubscription, + "ApplicationDefinitions" +); +@@clientName( + ApplicationDefinitionOpsById.createOrUpdateById::parameters.resource, + "parameters" +); +@@clientName( + ApplicationDefinitionOpsById.updateById::parameters.properties, + "parameters" +); diff --git a/specification/solutions/Solutions.Management/client.tsp b/specification/solutions/Solutions.Management/client.tsp new file mode 100644 index 000000000000..99a2b11123b9 --- /dev/null +++ b/specification/solutions/Solutions.Management/client.tsp @@ -0,0 +1,40 @@ +import "@azure-tools/typespec-client-generator-core"; +import "./main.tsp"; + +using Azure.ClientGenerator.Core; +using Microsoft.Solutions; + +@@clientName( + Microsoft.Solutions.Operations.list, + "listOperations", + "javascript" +); +@@clientName( + Microsoft.Solutions, + "ApplicationClient", + "javascript,python,go,java" +); + +@@clientName(Operations.list, "list_operations", "python"); +@@clientLocation(Operations.list, Microsoft.Solutions, "python,javascript"); +@@clientLocation(JitRequestDefinitions.get, "JitRequests", "python"); +@@clientLocation(JitRequestDefinitions.createOrUpdate, "JitRequests", "python"); +@@clientLocation(JitRequestDefinitions.update, "JitRequests", "python"); +@@clientLocation(JitRequestDefinitions.delete, "JitRequests", "python"); +@@clientLocation( + JitRequestDefinitions.listByResourceGroup, + "JitRequests", + "python" +); +@@clientLocation( + JitRequestDefinitions.listBySubscription, + "JitRequests", + "python" +); + +@@clientName( + ApplicationDefinitionOpsById.getById, + "getByResourceGroup", + "java" +); +@@clientName(ApplicationDefinitions.get, "getById", "java"); diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplication.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplication.json new file mode 100644 index 000000000000..51839c73155a --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplication.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "parameters": { + "kind": "ServiceCatalog", + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + "headers": {} + }, + "201": { + "body": { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "Applications_CreateOrUpdate", + "title": "Create or update managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationById.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationById.json new file mode 100644 index 000000000000..77fed9c36d88 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationById.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "applicationId": "subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "api-version": "2023-12-01-preview", + "parameters": { + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + }, + "kind": "ServiceCatalog" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + } + }, + "operationId": "Applications_CreateOrUpdateById", + "title": "Creates or updates a managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition.json new file mode 100644 index 000000000000..f34d2b5482fd --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "parameters": { + "properties": { + "description": "myManagedApplicationDef description", + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + }, + "201": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_CreateOrUpdate", + "title": "Create or update managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition1.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition1.json new file mode 100644 index 000000000000..86c8354aa4fb --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateApplicationDefinition1.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "parameters": { + "properties": { + "description": "myManagedApplicationDef description", + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + }, + "201": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_CreateOrUpdateById", + "title": "Create or update managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateJitRequest.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateJitRequest.json new file mode 100644 index 000000000000..596ba69490e5 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/createOrUpdateJitRequest.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", + "parameters": { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + } + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + "headers": {} + }, + "201": { + "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + "headers": {} + } + }, + "operationId": "jitRequests_CreateOrUpdate", + "title": "Create or update jit request" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplication.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplication.json new file mode 100644 index 000000000000..0a5b3c283736 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplication.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Solutions/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-12-01-preview", + "Retry-After": 5 + } + }, + "204": {} + }, + "operationId": "Applications_Delete", + "title": "Delete managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationById.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationById.json new file mode 100644 index 000000000000..a3bf861229cd --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationById.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "applicationId": "subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "api-version": "2023-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Solutions/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-12-01-preview", + "Retry-After": 5 + } + }, + "204": {} + }, + "operationId": "Applications_DeleteById", + "title": "Deletes the managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition.json new file mode 100644 index 000000000000..8ef5ca984c3c --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "ApplicationDefinitions_Delete", + "title": "delete managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition1.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition1.json new file mode 100644 index 000000000000..223eb9afe4c6 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteApplicationDefinition1.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "ApplicationDefinitions_DeleteById", + "title": "delete managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteJitRequest.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteJitRequest.json new file mode 100644 index 000000000000..f4543fcdfa86 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/deleteJitRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "jitRequests_Delete", + "title": "Delete jit request" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplication.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplication.json new file mode 100644 index 000000000000..a1587883645b --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplication.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "artifacts": [], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "billingDetails": null, + "createdBy": { + "applicationId": "ClientApplicationId", + "oid": "ClientOid", + "puid": "ClientPuid" + }, + "customerSupport": null, + "jitAccessPolicy": null, + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "managementMode": "Managed", + "outputs": null, + "parameters": null, + "provisioningState": "Created", + "publisherTenantId": null, + "supportUrls": null, + "updatedBy": { + "applicationId": "ClientApplicationId", + "oid": "ClientOid", + "puid": "ClientPuid" + } + }, + "sku": null + }, + "headers": {} + }, + "404": {} + }, + "operationId": "Applications_Get", + "title": "Get a managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationById.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationById.json new file mode 100644 index 000000000000..7c1478b8401e --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationById.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "applicationId": "subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "api-version": "2023-12-01-preview" + }, + "responses": { + "404": {}, + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created", + "billingDetails": null, + "jitAccessPolicy": null, + "publisherTenantId": null, + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "managementMode": "Managed", + "customerSupport": null, + "supportUrls": null, + "artifacts": [], + "createdBy": { + "oid": "ClientOid", + "puid": "ClientPuid", + "applicationId": "ClientApplicationId" + }, + "updatedBy": { + "oid": "ClientOid", + "puid": "ClientPuid", + "applicationId": "ClientApplicationId" + } + } + } + } + }, + "operationId": "Applications_GetById", + "title": "Gets the managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition.json new file mode 100644 index 000000000000..62a4bf3cfa34 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "deploymentPolicy": null, + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "lockingPolicy": null, + "managementPolicy": null, + "notificationPolicy": null, + "packageFileUri": "https://path/to/packagezipfile", + "policies": [] + }, + "sku": null + }, + "headers": {} + }, + "404": {} + }, + "operationId": "ApplicationDefinitions_Get", + "title": "Get managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition1.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition1.json new file mode 100644 index 000000000000..088eaa131b32 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getApplicationDefinition1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "deploymentPolicy": null, + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "lockingPolicy": null, + "managementPolicy": null, + "notificationPolicy": null, + "packageFileUri": "https://path/to/packagezipfile", + "policies": [] + }, + "sku": null + }, + "headers": {} + }, + "404": {} + }, + "operationId": "ApplicationDefinitions_GetById", + "title": "Get managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getJitRequest.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getJitRequest.json new file mode 100644 index 000000000000..93fe71d99cf8 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/getJitRequest.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + "headers": {} + }, + "404": {} + }, + "operationId": "JitRequests_Get", + "title": "Gets the jit request" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listAllowedUpgradePlans.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listAllowedUpgradePlans.json new file mode 100644 index 000000000000..fd4f82f381ef --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listAllowedUpgradePlans.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "name", + "product": "product", + "promotionCode": "promotionCode", + "publisher": "publisher", + "version": "version" + } + ] + }, + "headers": {} + } + }, + "operationId": "Applications_ListAllowedUpgradePlans", + "title": "List allowed upgrade plans for application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsByResourceGroup.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsByResourceGroup.json new file mode 100644 index 000000000000..e479141f6c53 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsByResourceGroup.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + { + "name": "myManagedApplicationDef2", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef2 description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef2", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + } + ] + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_ListByResourceGroup", + "title": "Lists the managed application definitions in a resource group" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsBySubscription.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsBySubscription.json new file mode 100644 index 000000000000..f5d7b92b730b --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationDefinitionsBySubscription.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + { + "name": "myManagedApplicationDef2", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef2 description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef2", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + } + ] + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_ListBySubscription", + "title": "Lists all the application definitions within a subscription" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup.json new file mode 100644 index 000000000000..0906fe5776dd --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + { + "name": "myManagedApplication2", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + } + ] + }, + "headers": {} + } + }, + "operationId": "Applications_ListBySubscription", + "title": "Lists all the applications within a subscription" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup1.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup1.json new file mode 100644 index 000000000000..ef9bdb3839c6 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listApplicationsByResourceGroup1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + { + "name": "myManagedApplication2", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + } + ] + }, + "headers": {} + } + }, + "operationId": "Applications_ListByResourceGroup", + "title": "Lists all the applications within a resource group" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup.json new file mode 100644 index 000000000000..1e52cc603ba7 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + { + "name": "myJitRequest2", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest2", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + } + ] + }, + "headers": {} + } + }, + "operationId": "jitRequests_ListBySubscription", + "title": "Lists all JIT requests within the subscription" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup1.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup1.json new file mode 100644 index 000000000000..3563d8a482fa --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listJitRequestsByResourceGroup1.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + { + "name": "myJitRequest2", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest2", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + } + ] + }, + "headers": {} + } + }, + "operationId": "jitRequests_ListByResourceGroup", + "title": "Lists all JIT requests within the resource group" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listSolutionsOperations.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listSolutionsOperations.json new file mode 100644 index 000000000000..3e46d49ebc8e --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listSolutionsOperations.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "SolutionsOpeartion1", + "display": { + "description": "Description of the operation", + "operation": "Read", + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1" + }, + "isDataAction": false + }, + { + "name": "SolutionssOpeartion2", + "display": { + "description": "Description of the operation", + "operation": "Write", + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2" + }, + "isDataAction": false + } + ] + }, + "headers": {} + } + }, + "operationId": "ListOperations", + "title": "List Solutions operations" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listToken.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listToken.json new file mode 100644 index 000000000000..09ffc9ba415d --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/listToken.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "parameters": { + "authorizationAudience": "authorizationAudience", + "userAssignedIdentities": [ + "IdentityOne", + "IdentityTwo" + ] + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "accessToken": "access_token", + "authorizationAudience": "authorizationAudience", + "expiresIn": "1500", + "expiresOn": "1500", + "notBefore": "1500", + "resourceId": "resourceId", + "tokenType": "Bearer" + } + ] + }, + "headers": {} + } + }, + "operationId": "Applications_ListTokens", + "title": "List tokens for application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/portalRegistryPackage.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/portalRegistryPackage.json new file mode 100644 index 000000000000..893181926a7a --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/portalRegistryPackage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "parameters": { + "offer": "offerId", + "plan": "planId", + "publisher": "publisherId" + } + }, + "responses": { + "200": { + "body": { + "offer": "offerId", + "packageLinks": { + "createUiDefinitionLink": "createUiDefinitionLink", + "deploymentTemplateLink": "deploymentTemplateLink" + }, + "plan": "planId", + "publisher": "publisherId", + "version": "planVersion" + }, + "headers": {} + } + }, + "operationId": "PortalRegistryPackage", + "title": "Generates a registry package" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/refreshApplicationPermissions.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/refreshApplicationPermissions.json new file mode 100644 index 000000000000..4eb2147cb5cf --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/refreshApplicationPermissions.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Microsoft.Solutions/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-12-01-preview", + "Retry-After": 5 + } + } + }, + "operationId": "Applications_RefreshPermissions", + "title": "Refresh managed application permissions" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateAccess.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateAccess.json new file mode 100644 index 000000000000..a81c70f9f120 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateAccess.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "parameters": { + "Approver": "amauser", + "Metadata": { + "originRequestId": "originRequestId", + "requestorId": "RequestorId", + "subjectDisplayName": "SubjectDisplayName", + "tenantDisplayName": "TenantDisplayName" + }, + "Status": "Elevate", + "SubStatus": "Approved" + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "body": { + "Approver": "amauser", + "Metadata": { + "originRequestId": "originRequestId", + "requestorId": "RequestorId", + "subjectDisplayName": "SubjectDisplayName", + "tenantDisplayName": "TenantDisplayName" + }, + "Status": "Elevate", + "SubStatus": "Approved" + }, + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" + } + } + }, + "operationId": "Applications_UpdateAccess", + "title": "Update access for application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplication.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplication.json new file mode 100644 index 000000000000..18736d42bffd --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplication.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", + "parameters": { + "kind": "ServiceCatalog", + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + "headers": {} + }, + "202": { + "body": { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" + } + } + }, + "operationId": "Applications_Update", + "title": "Updates managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationById.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationById.json new file mode 100644 index 000000000000..fbc6af336a89 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationById.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "applicationId": "subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "api-version": "2023-12-01-preview", + "parameters": { + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + }, + "kind": "ServiceCatalog" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" + }, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + } + }, + "operationId": "Applications_UpdateById", + "title": "Updates an existing managed application" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition.json new file mode 100644 index 000000000000..07e6952e0b71 --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "parameters": { + "tags": { + "department": "Finance" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_Update", + "title": "Update managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition1.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition1.json new file mode 100644 index 000000000000..d3049b74c39b --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateApplicationDefinition1.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "parameters": { + "tags": { + "department": "Finance" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_UpdateById", + "title": "Update managed application definition" +} diff --git a/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateJitRequest.json b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateJitRequest.json new file mode 100644 index 000000000000..e7eb8250462d --- /dev/null +++ b/specification/solutions/Solutions.Management/examples/2023-12-01-preview/updateJitRequest.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", + "parameters": { + "tags": { + "department": "Finance" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + "headers": {} + } + }, + "operationId": "JitRequests_Update", + "title": "Update jit request" +} diff --git a/specification/solutions/Solutions.Management/main.tsp b/specification/solutions/Solutions.Management/main.tsp new file mode 100644 index 000000000000..12b598d5e96c --- /dev/null +++ b/specification/solutions/Solutions.Management/main.tsp @@ -0,0 +1,52 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.11.12 + * Date: 2026-03-25T07:32:31.244Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./Application.tsp"; +import "./ApplicationDefinition.tsp"; +import "./JitRequestDefinition.tsp"; +import "./routes.tsp"; +import "./client.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * ARM applications + */ +@armProviderNamespace +@service(#{ title: "ApplicationClient" }) +@versioned(Versions) +// FIXME: Common type version v2 is not supported for now. Set to v3. +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) +namespace Microsoft.Solutions; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2023-12-01-preview API version. + */ + v2023_12_01_preview: "2023-12-01-preview", +} + +interface Operations + extends Azure.ResourceManager.Legacy.Operations< + ArmResponse, + ErrorResponse + > {} diff --git a/specification/solutions/Solutions.Management/models.tsp b/specification/solutions/Solutions.Management/models.tsp new file mode 100644 index 000000000000..d8dd57e44fd7 --- /dev/null +++ b/specification/solutions/Solutions.Management/models.tsp @@ -0,0 +1,1490 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.Solutions; + +/** + * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system" + */ +union Origin { + string, + + /** + * user + */ + user: "user", + + /** + * system + */ + system: "system", + + /** + * user,system + */ + `user,system`: "user,system", +} + +/** + * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. + */ +union ActionType { + string, + + /** + * Internal + */ + Internal: "Internal", +} + +/** + * Provisioning status of the managed application. + */ +union ProvisioningState { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Accepted + */ + Accepted: "Accepted", + + /** + * Running + */ + Running: "Running", + + /** + * Deleting + */ + Deleting: "Deleting", + + /** + * Deleted + */ + Deleted: "Deleted", + + /** + * Canceled + */ + Canceled: "Canceled", + + /** + * Failed + */ + Failed: "Failed", + + /** + * Succeeded + */ + Succeeded: "Succeeded", + + /** + * Updating + */ + Updating: "Updating", +} + +/** + * The Jit approval mode. + */ +union JitApprovalMode { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * AutoApprove + */ + AutoApprove: "AutoApprove", + + /** + * ManualApprove + */ + ManualApprove: "ManualApprove", +} + +/** + * The approver type. + */ +union JitApproverType { + string, + + /** + * user + */ + user: "user", + + /** + * group + */ + group: "group", +} + +/** + * The management mode. + */ +union ApplicationManagementMode { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Unmanaged + */ + Unmanaged: "Unmanaged", + + /** + * Managed + */ + Managed: "Managed", +} + +/** + * The managed application artifact name. + */ +union ApplicationArtifactName { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * ViewDefinition + */ + ViewDefinition: "ViewDefinition", + + /** + * Authorizations + */ + Authorizations: "Authorizations", + + /** + * CustomRoleDefinition + */ + CustomRoleDefinition: "CustomRoleDefinition", +} + +/** + * The type of identity that created the resource. + */ +union CreatedByType { + string, + + /** + * User + */ + User: "User", + + /** + * Application + */ + Application: "Application", + + /** + * ManagedIdentity + */ + ManagedIdentity: "ManagedIdentity", + + /** + * Key + */ + Key: "Key", +} + +/** + * The managed application artifact name. + */ +union ApplicationDefinitionArtifactName { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * ApplicationResourceTemplate + */ + ApplicationResourceTemplate: "ApplicationResourceTemplate", + + /** + * CreateUiDefinition + */ + CreateUiDefinition: "CreateUiDefinition", + + /** + * MainTemplateParameters + */ + MainTemplateParameters: "MainTemplateParameters", +} + +/** + * The deployment mode. + */ +union DeploymentMode { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Incremental + */ + Incremental: "Incremental", + + /** + * Complete + */ + Complete: "Complete", +} + +/** + * The JIT request scheduling type. + */ +union JitSchedulingType { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Once + */ + Once: "Once", + + /** + * Recurring + */ + Recurring: "Recurring", +} + +/** + * The JIT request state. + */ +union JitRequestState { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Pending + */ + Pending: "Pending", + + /** + * Approved + */ + Approved: "Approved", + + /** + * Denied + */ + Denied: "Denied", + + /** + * Failed + */ + Failed: "Failed", + + /** + * Canceled + */ + Canceled: "Canceled", + + /** + * Expired + */ + Expired: "Expired", + + /** + * Timeout + */ + Timeout: "Timeout", +} + +/** + * The JIT status. + */ +union Status { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Elevate + */ + Elevate: "Elevate", + + /** + * Remove + */ + Remove: "Remove", +} + +/** + * The sub status. + */ +union Substatus { + string, + + /** + * NotSpecified + */ + NotSpecified: "NotSpecified", + + /** + * Approved + */ + Approved: "Approved", + + /** + * Denied + */ + Denied: "Denied", + + /** + * Failed + */ + Failed: "Failed", + + /** + * Expired + */ + Expired: "Expired", + + /** + * Timeout + */ + Timeout: "Timeout", +} + +/** + * The managed application artifact type. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum ApplicationArtifactType { + /** + * NotSpecified + */ + NotSpecified, + + /** + * Template + */ + Template, + + /** + * Custom + */ + Custom, +} + +/** + * The identity type. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum ResourceIdentityType { + /** + * SystemAssigned + */ + SystemAssigned, + + /** + * UserAssigned + */ + UserAssigned, + + /** + * SystemAssigned, UserAssigned + */ + `SystemAssigned, UserAssigned`, + + /** + * None + */ + None, +} + +/** + * The managed application lock level. + */ +union ApplicationLockLevel { + string, + + /** + * CanNotDelete + */ + CanNotDelete: "CanNotDelete", + + /** + * ReadOnly + */ + ReadOnly: "ReadOnly", + + /** + * None + */ + None: "None", +} + +/** + * Localized display information for this particular operation. + */ +model OperationDisplay { + /** + * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". + */ + @visibility(Lifecycle.Read) + provider?: string; + + /** + * The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections". + */ + @visibility(Lifecycle.Read) + resource?: string; + + /** + * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + */ + @visibility(Lifecycle.Read) + operation?: string; + + /** + * The short, localized friendly description of the operation; suitable for tool tips and detailed views. + */ + @visibility(Lifecycle.Read) + description?: string; +} + +/** + * The managed application properties. + */ +model ApplicationProperties { + /** + * The managed resource group Id. + */ + managedResourceGroupId?: string; + + /** + * The fully qualified path of managed application definition Id. + */ + applicationDefinitionId?: string; + + /** + * Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + parameters?: unknown; + + /** + * Name and value pairs that define the managed application outputs. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + outputs?: unknown; + + /** + * The managed application provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * The managed application billing details. + */ + @visibility(Lifecycle.Read) + billingDetails?: ApplicationBillingDetailsDefinition; + + /** + * The managed application Jit access policy. + */ + jitAccessPolicy?: ApplicationJitAccessPolicy; + + /** + * The publisher tenant Id. + */ + @visibility(Lifecycle.Read) + publisherTenantId?: string; + + /** + * The read-only authorizations property that is retrieved from the application package. + */ + @visibility(Lifecycle.Read) + @identifiers(#["principalId", "roleDefinitionId"]) + authorizations?: ApplicationAuthorization[]; + + /** + * The managed application management mode. + */ + @visibility(Lifecycle.Read) + managementMode?: ApplicationManagementMode; + + /** + * The read-only customer support property that is retrieved from the application package. + */ + @visibility(Lifecycle.Read) + customerSupport?: ApplicationPackageContact; + + /** + * The read-only support URLs property that is retrieved from the application package. + */ + @visibility(Lifecycle.Read) + supportUrls?: ApplicationPackageSupportUrls; + + /** + * The collection of managed application artifacts. + */ + @visibility(Lifecycle.Read) + @identifiers(#["name", "uri"]) + artifacts?: ApplicationArtifact[]; + + /** + * The client entity that created the JIT request. + */ + @visibility(Lifecycle.Read) + createdBy?: ApplicationClientDetails; + + /** + * The client entity that last updated the JIT request. + */ + @visibility(Lifecycle.Read) + updatedBy?: ApplicationClientDetails; +} + +/** + * Managed application billing details definition. + */ +model ApplicationBillingDetailsDefinition { + /** + * The managed application resource usage Id. + */ + resourceUsageId?: string; +} + +/** + * Managed application Jit access policy. + */ +model ApplicationJitAccessPolicy { + /** + * Whether the JIT access is enabled. + */ + jitAccessEnabled: boolean; + + /** + * JIT approval mode. + */ + jitApprovalMode?: JitApprovalMode; + + /** + * The JIT approvers + */ + jitApprovers?: JitApproverDefinition[]; + + /** + * The maximum duration JIT access is granted. This is an ISO8601 time period value. + */ + maximumJitAccessDuration?: string; +} + +/** + * JIT approver definition. + */ +model JitApproverDefinition { + /** + * The approver service principal Id. + */ + id: string; + + /** + * The approver type. + */ + type?: JitApproverType; + + /** + * The approver display name. + */ + displayName?: string; +} + +/** + * The managed application provider authorization. + */ +model ApplicationAuthorization { + /** + * The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources. + */ + principalId: string; + + /** + * 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. + */ + roleDefinitionId: string; +} + +/** + * The application package contact information. + */ +model ApplicationPackageContact { + /** + * The contact name. + */ + contactName?: string; + + /** + * The contact email. + */ + email: string; + + /** + * The contact phone number. + */ + phone: string; +} + +/** + * The appliance package support URLs. + */ +model ApplicationPackageSupportUrls { + /** + * The public azure support URL. + */ + publicAzure?: string; + + /** + * The government cloud support URL. + */ + governmentCloud?: string; +} + +/** + * Managed application artifact. + */ +model ApplicationArtifact { + /** + * The managed application artifact name. + */ + name: ApplicationArtifactName; + + /** + * The managed application artifact blob uri. + */ + uri: string; + + /** + * The managed application artifact type. + */ + type: ApplicationArtifactType; +} + +/** + * The application client details to track the entity creating/updating the managed app resource. + */ +model ApplicationClientDetails { + /** + * The client Oid. + */ + oid?: string; + + /** + * The client Puid + */ + puid?: string; + + /** + * The client application Id. + */ + applicationId?: string; +} + +/** + * Plan for the managed application. + */ +model Plan { + /** + * The plan name. + */ + name: string; + + /** + * The publisher ID. + */ + publisher: string; + + /** + * The product code. + */ + product: string; + + /** + * The promotion code. + */ + promotionCode?: string; + + /** + * The plan's version. + */ + version: string; +} + +/** + * Identity for the resource. + */ +model Identity { + /** + * The principal ID of resource identity. + */ + @visibility(Lifecycle.Read) + principalId?: string; + + /** + * The tenant ID of resource. + */ + @visibility(Lifecycle.Read) + tenantId?: string; + + /** + * The identity type. + */ + type?: ResourceIdentityType; + + /** + * 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}'. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + userAssignedIdentities?: Record; +} + +/** + * Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model userAssignedResourceIdentity { + /** + * The principal id of user assigned identity. + */ + @visibility(Lifecycle.Read) + principalId?: string; + + /** + * The tenant id of user assigned identity. + */ + @visibility(Lifecycle.Read) + tenantId?: string; +} + +/** + * Resource information. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model GenericResource extends Resource { + /** + * ID of the resource that manages this resource. + */ + managedBy?: string; + + /** + * The SKU of the resource. + */ + sku?: Sku; +} + +/** + * SKU for the resource. + */ +model Sku { + /** + * The SKU name. + */ + name: string; + + /** + * The SKU tier. + */ + tier?: string; + + /** + * The SKU size. + */ + size?: string; + + /** + * The SKU family. + */ + family?: string; + + /** + * The SKU model. + */ + `model`?: string; + + /** + * The SKU capacity. + */ + capacity?: int32; +} + +/** + * Resource information. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.customAzureResource(#{ isAzureResource: true }) +model Resource { + /** + * Resource ID + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Resource name + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Resource type + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Resource location + */ + location?: string; + + /** + * Resource tags + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + @visibility(Lifecycle.Read) + systemData?: SystemData; +} + +/** + * Information about managed application. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ApplicationPatchable extends GenericResource { + /** + * The managed application properties. + */ + properties?: ApplicationProperties; + + /** + * The plan information. + */ + plan?: PlanPatchable; + + /** + * The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. + */ + @pattern("^[-\\w\\._,\\(\\)]+$") + kind?: string; + + /** + * The identity of the resource. + */ + identity?: Identity; +} + +/** + * Plan for the managed application. + */ +model PlanPatchable { + /** + * The plan name. + */ + name?: string; + + /** + * The publisher ID. + */ + publisher?: string; + + /** + * The product code. + */ + product?: string; + + /** + * The promotion code. + */ + promotionCode?: string; + + /** + * The plan's version. + */ + version?: string; +} + +/** + * The managed application definition properties. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ApplicationDefinitionProperties { + /** + * The managed application lock level. + */ + lockLevel: ApplicationLockLevel; + + /** + * The managed application definition display name. + */ + displayName?: string; + + /** + * A value indicating whether the package is enabled or not. + */ + isEnabled?: boolean; + + /** + * The managed application provider authorizations. + */ + @identifiers(#["principalId", "roleDefinitionId"]) + authorizations?: ApplicationAuthorization[]; + + /** + * 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. + */ + @identifiers(#["name", "uri"]) + artifacts?: ApplicationDefinitionArtifact[]; + + /** + * The managed application definition description. + */ + description?: string; + + /** + * The managed application definition package file Uri. Use this element + */ + packageFileUri?: string; + + /** + * The storage account id for bring your own storage scenario. + */ + storageAccountId?: string; + + /** + * The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + mainTemplate?: unknown; + + /** + * The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + createUiDefinition?: unknown; + + /** + * The managed application notification policy. + */ + notificationPolicy?: ApplicationNotificationPolicy; + + /** + * The managed application locking policy. + */ + lockingPolicy?: ApplicationPackageLockingPolicyDefinition; + + /** + * The managed application deployment policy. + */ + deploymentPolicy?: ApplicationDeploymentPolicy; + + /** + * The managed application management policy that determines publisher's access to the managed resource group. + */ + managementPolicy?: ApplicationManagementPolicy; + + /** + * The managed application provider policies. + */ + @identifiers(#["name", "policyDefinitionId"]) + policies?: ApplicationPolicy[]; +} + +/** + * Application definition artifact. + */ +model ApplicationDefinitionArtifact { + /** + * The managed application definition artifact name. + */ + name: ApplicationDefinitionArtifactName; + + /** + * The managed application definition artifact blob uri. + */ + uri: string; + + /** + * The managed application definition artifact type. + */ + type: ApplicationArtifactType; +} + +/** + * Managed application notification policy. + */ +model ApplicationNotificationPolicy { + /** + * The managed application notification endpoint. + */ + @identifiers(#["uri"]) + notificationEndpoints: ApplicationNotificationEndpoint[]; +} + +/** + * Managed application notification endpoint. + */ +model ApplicationNotificationEndpoint { + /** + * The managed application notification endpoint uri. + */ + uri: string; +} + +/** + * Managed application locking policy. + */ +model ApplicationPackageLockingPolicyDefinition { + /** + * The deny assignment excluded actions. + */ + allowedActions?: string[]; + + /** + * The deny assignment excluded data actions. + */ + allowedDataActions?: string[]; +} + +/** + * Managed application deployment policy. + */ +model ApplicationDeploymentPolicy { + /** + * The managed application deployment mode. + */ + deploymentMode: DeploymentMode; +} + +/** + * Managed application management policy. + */ +model ApplicationManagementPolicy { + /** + * The managed application management mode. + */ + mode?: ApplicationManagementMode; +} + +/** + * Managed application policy. + */ +model ApplicationPolicy { + /** + * The policy name + */ + name?: string; + + /** + * The policy definition Id. + */ + policyDefinitionId?: string; + + /** + * The policy parameters. + */ + parameters?: string; +} + +/** + * Information about an application definition request. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ApplicationDefinitionPatchable { + /** + * Application definition tags + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; +} + +/** + * Information about JIT request properties + */ +model JitRequestProperties { + /** + * The parent application id. + */ + applicationResourceId: string; + + /** + * The publisher tenant id. + */ + @visibility(Lifecycle.Read) + publisherTenantId?: string; + + /** + * The JIT authorization policies. + */ + @identifiers(#["principalId", "roleDefinitionId"]) + jitAuthorizationPolicies: JitAuthorizationPolicies[]; + + /** + * The JIT request properties. + */ + jitSchedulingPolicy: JitSchedulingPolicy; + + /** + * The JIT request provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * The JIT request state. + */ + @visibility(Lifecycle.Read) + jitRequestState?: JitRequestState; + + /** + * The client entity that created the JIT request. + */ + @visibility(Lifecycle.Read) + createdBy?: ApplicationClientDetails; + + /** + * The client entity that last updated the JIT request. + */ + @visibility(Lifecycle.Read) + updatedBy?: ApplicationClientDetails; +} + +/** + * The JIT authorization policies. + */ +model JitAuthorizationPolicies { + /** + * The the principal id that will be granted JIT access. + */ + principalId: string; + + /** + * The role definition id that will be granted to the Principal. + */ + roleDefinitionId: string; +} + +/** + * The JIT scheduling policies. + */ +model JitSchedulingPolicy { + /** + * The type of JIT schedule. + */ + type: JitSchedulingType; + + /** + * The required duration of the JIT request. + */ + @summary("The required duration of the JIT request.") + duration: duration; + + /** + * The start time of the request. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime: utcDateTime; +} + +/** + * Information about JIT request. + */ +model JitRequestPatchable { + /** + * Jit request tags + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; +} + +/** + * The array of plan. + */ +model AllowedUpgradePlansResult { + /** + * The array of plans. + */ + @pageItems + value?: Plan[]; +} + +/** + * Update access request definition. + */ +model UpdateAccessDefinition { + /** + * The approver name. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Approver?: string; + + /** + * The JIT request metadata. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Metadata: JitRequestMetadata; + + /** + * The JIT status. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Status: Status; + + /** + * The JIT status. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + SubStatus: Substatus; +} + +/** + * The JIT request metadata. + */ +model JitRequestMetadata { + /** + * The origin request id. + */ + originRequestId?: string; + + /** + * The requestor id. + */ + requestorId?: string; + + /** + * The publisher's tenant name. + */ + tenantDisplayName?: string; + + /** + * The subject display name. + */ + subjectDisplayName?: string; +} + +/** + * List token request body. + */ +model ListTokenRequest { + /** + * The authorization audience. + */ + authorizationAudience?: string; + + /** + * The user assigned identities. + */ + userAssignedIdentities?: string[]; +} + +/** + * The array of managed identity tokens. + */ +model ManagedIdentityTokenResult { + /** + * The array of managed identity tokens. + */ + @pageItems + @identifiers(#[]) + value?: ManagedIdentityToken[]; +} + +/** + * The managed identity token for the managed app resource. + */ +model ManagedIdentityToken { + /** + * The requested access token. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + accessToken?: string; + + /** + * The number of seconds the access token will be valid. + */ + expiresIn?: string; + + /** + * The timespan when the access token expires. This is represented as the number of seconds from epoch. + */ + expiresOn?: string; + + /** + * The timespan when the access token takes effect. This is represented as the number of seconds from epoch. + */ + notBefore?: string; + + /** + * The aud (audience) the access token was request for. This is the same as what was provided in the listTokens request. + */ + authorizationAudience?: string; + + /** + * The Azure resource ID for the issued token. This is either the managed application ID or the user-assigned identity ID. + */ + resourceId?: string; + + /** + * The type of the token. + */ + tokenType?: string; +} + +/** + * Plan for the managed application. + */ +model RegistryPackagePlan { + /** + * The publisher ID. + */ + publisher: string; + + /** + * The offer Id. + */ + offer: string; + + /** + * The plan Id. + */ + plan: string; + + /** + * The plan's version. + */ + version?: string; +} + +/** + * Information about an application definition request. + */ +model RegistryPackage { + /** + * The publisher + */ + publisher: string; + + /** + * The offer Id + */ + offer: string; + + /** + * The plan Id + */ + plan: string; + + /** + * The version of the plan + */ + version: string; + + /** + * The registry package links. + */ + packageLinks: RegistryPackageLinks; +} + +/** + * Resource information. + */ +model RegistryPackageLinks { + /** + * The create ui definition link. + */ + createUiDefinitionLink?: string; + + /** + * The deployment template link. + */ + deploymentTemplateLink?: string; +} + +/** + * The managed application properties. + */ +model ApplicationPropertiesPatchable { + /** + * The managed resource group Id. + */ + managedResourceGroupId?: string; + + /** + * The fully qualified path of managed application definition Id. + */ + applicationDefinitionId?: string; + + /** + * Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + parameters?: unknown; + + /** + * Name and value pairs that define the managed application outputs. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + outputs?: unknown; + + /** + * The managed application provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; +} diff --git a/specification/solutions/Solutions.Management/routes.tsp b/specification/solutions/Solutions.Management/routes.tsp new file mode 100644 index 000000000000..f0b25a0fe5e0 --- /dev/null +++ b/specification/solutions/Solutions.Management/routes.tsp @@ -0,0 +1,129 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.Solutions; + +/** + * Generates the registry package links for Managed Applications and Solution Templates. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@tag("PortalRegistryPackages") +op portalRegistryPackage is ArmProviderActionSync< + Request = RegistryPackagePlan, + Response = RegistryPackage +>; + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface ApplicationsOperationGroup { + /** + * Gets the managed application. + */ + @route("/{+applicationId}") + @get + @tag("Applications") + getById( + ...ApiVersionParameter, + + /** + * The ID of the managed application. + */ + @path + applicationId: string, + ): ArmResponse | NotFoundResponse | ErrorResponse; + + /** + * Creates or updates a managed application. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @route("/{+applicationId}") + @put + @tag("Applications") + createOrUpdateById( + ...ApiVersionParameter, + + /** + * The ID of the managed application. + */ + @path + applicationId: string, + + /** + * Parameters supplied to create or update a managed application. + */ + @bodyRoot + parameters: Application, + ): + | ArmResponse + | ArmCreatedResponse< + Application, + ExtraHeaders = ArmAsyncOperationHeader & + Azure.Core.Foundations.RetryAfterHeader + > + | ErrorResponse; + + /** + * Updates an existing managed application. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-patch" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @route("/{+applicationId}") + @patch(#{ implicitOptionality: false }) + @tag("Applications") + updateById( + ...ApiVersionParameter, + + /** + * The ID of the managed application. + */ + @path + applicationId: string, + + /** + * Parameters supplied to update an existing managed application. + */ + @bodyRoot + parameters?: ApplicationPatchable, + ): + | ArmResponse + | (ArmAcceptedLroResponse & + Azure.Core.Foundations.RetryAfterHeader> & { + @bodyRoot + _: Application; + }) + | ErrorResponse; + + /** + * Deletes the managed application. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @route("/{+applicationId}") + @delete + @tag("Applications") + deleteById( + ...ApiVersionParameter, + + /** + * The ID of the managed application. + */ + @path + applicationId: string, + ): + | OkResponse + | ArmAcceptedLroResponse + | ArmDeletedNoContentResponse + | ErrorResponse; +} diff --git a/specification/solutions/Solutions.Management/tspconfig.yaml b/specification/solutions/Solutions.Management/tspconfig.yaml new file mode 100644 index 000000000000..13e846805110 --- /dev/null +++ b/specification/solutions/Solutions.Management/tspconfig.yaml @@ -0,0 +1,45 @@ +parameters: + "service-dir": + default: "sdk/managedapplications" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/managedapplications.json" + emit-lro-options: "all" + examples-dir: "{project-root}/examples" + "@azure-tools/typespec-python": + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-managedapplications" + namespace: "azure.mgmt.managedapplications" + generate-sample: true + generate-test: true + flavor: "azure" + "@azure-tools/typespec-java": + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-managedapplications" + namespace: "com.azure.resourcemanager.managedapplications" + service-name: "Application" + flavor: azure + use-object-for-unknown: true + "@azure-tools/typespec-ts": + emitter-output-dir: "{output-dir}/{service-dir}/arm-managedapplications" + flavor: azure + experimental-extensible-enums: true + compatibility-lro: true + package-details: + name: "@azure/arm-managedapplications" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/solutions" + emitter-output-dir: "{output-dir}/{service-dir}/armmanagedapplications" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armmanagedapplications" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplication.json index 9f87d86b8942..51839c73155a 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplication.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplication.json @@ -1,57 +1,59 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "applicationName": "myManagedApplication", "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", "parameters": { + "kind": "ServiceCatalog", "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" - }, - "kind": "ServiceCatalog" - } + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "name": "myManagedApplication", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" - } - } + }, + "sku": null + }, + "headers": {} }, "201": { - "headers": {}, "body": { "name": "myManagedApplication", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" - } - } + }, + "sku": null + }, + "headers": {} } - } + }, + "operationId": "Applications_CreateOrUpdate", + "title": "Create or update managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationById.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationById.json index 31c2b12c3daf..77fed9c36d88 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationById.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationById.json @@ -51,5 +51,7 @@ } } } - } + }, + "operationId": "Applications_CreateOrUpdateById", + "title": "Creates or updates a managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition.json index c93b79f23592..f34d2b5482fd 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition.json @@ -1,13 +1,9 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "applicationDefinitionName": "myManagedApplicationDef", "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", "parameters": { "properties": { - "lockLevel": "None", - "displayName": "myManagedApplicationDef", "description": "myManagedApplicationDef description", "authorizations": [ { @@ -15,20 +11,23 @@ "roleDefinitionId": "validroleguid" } ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" } - } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "name": "myManagedApplicationDef", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef description", "artifacts": [ { "name": "CreateUiDefinition", @@ -47,22 +46,22 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } - } + }, + "sku": null + }, + "headers": {} }, "201": { - "headers": {}, "body": { "name": "myManagedApplicationDef", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef description", "artifacts": [ { "name": "CreateUiDefinition", @@ -81,12 +80,15 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } - } + }, + "sku": null + }, + "headers": {} } - } + }, + "operationId": "ApplicationDefinitions_CreateOrUpdate", + "title": "Create or update managed application definition" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition1.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition1.json new file mode 100644 index 000000000000..86c8354aa4fb --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateApplicationDefinition1.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "parameters": { + "properties": { + "description": "myManagedApplicationDef description", + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + }, + "201": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_CreateOrUpdateById", + "title": "Create or update managed application definition" +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateJitRequest.json index 2d6bb213210f..596ba69490e5 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateJitRequest.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/createOrUpdateJitRequest.json @@ -1,9 +1,7 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "jitRequestName": "myJitRequest", "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", "parameters": { "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", @@ -19,72 +17,76 @@ "startTime": "2021-04-22T05:48:30.6661804Z" } } - } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, "jitAuthorizationPolicies": [ { "principalId": "1db8e132e2934dbcb8e1178a61319491", "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" } ], + "jitRequestState": "Pending", "jitSchedulingPolicy": { "type": "Once", "duration": "PT8H", "startTime": "2021-04-22T05:48:30.6661804Z" }, "provisioningState": "Accepted", - "jitRequestState": "Pending", - "createdBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" - }, "updatedBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" } - }, - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", - "name": "myJitRequest", - "type": "Microsoft.Solutions/jitRequests" - } + } + }, + "headers": {} }, "201": { - "headers": {}, "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, "jitAuthorizationPolicies": [ { "principalId": "1db8e132e2934dbcb8e1178a61319491", "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" } ], + "jitRequestState": "Pending", "jitSchedulingPolicy": { "type": "Once", "duration": "PT8H", "startTime": "2021-04-22T05:48:30.6661804Z" }, "provisioningState": "Accepted", - "jitRequestState": "Pending", - "createdBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" - }, "updatedBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" } - }, - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", - "name": "myJitRequest", - "type": "Microsoft.Solutions/jitRequests" - } + } + }, + "headers": {} } - } + }, + "operationId": "jitRequests_CreateOrUpdate", + "title": "Create or update jit request" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplication.json index ac7f9db6ce7e..0a5b3c283736 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplication.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplication.json @@ -1,17 +1,20 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", + "api-version": "2023-12-01-preview", "applicationName": "myManagedApplication", - "api-version": "2023-12-01-preview" + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": {}, "202": { "headers": { - "Azure-AsyncOperation": "00000000-0000-0000-0000-000000000000" + "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Solutions/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-12-01-preview", + "Retry-After": 5 } }, "204": {} - } + }, + "operationId": "Applications_Delete", + "title": "Delete managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationById.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationById.json index accca8623974..a3bf861229cd 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationById.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationById.json @@ -7,9 +7,12 @@ "200": {}, "202": { "headers": { - "Azure-AsyncOperation": "00000000-0000-0000-0000-000000000000" + "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Solutions/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-12-01-preview", + "Retry-After": 5 } }, "204": {} - } + }, + "operationId": "Applications_DeleteById", + "title": "Deletes the managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition.json index 958937c8a4f7..8ef5ca984c3c 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition.json @@ -1,12 +1,14 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", + "api-version": "2023-12-01-preview", "applicationDefinitionName": "myManagedApplicationDef", - "api-version": "2023-12-01-preview" + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "ApplicationDefinitions_Delete", + "title": "delete managed application definition" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition1.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition1.json new file mode 100644 index 000000000000..223eb9afe4c6 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteApplicationDefinition1.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "ApplicationDefinitions_DeleteById", + "title": "delete managed application definition" +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteJitRequest.json index 8323d574d1c7..f4543fcdfa86 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteJitRequest.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/deleteJitRequest.json @@ -1,12 +1,14 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", "resourceGroupName": "rg", - "jitRequestName": "myJitRequest", - "api-version": "2023-12-01-preview" + "subscriptionId": "subid" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "jitRequests_Delete", + "title": "Delete jit request" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplication.json index ab16f5a8ce19..a1587883645b 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplication.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplication.json @@ -1,54 +1,56 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", + "api-version": "2023-12-01-preview", "applicationName": "myManagedApplication", - "api-version": "2023-12-01-preview" + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { - "404": {}, "200": { - "headers": {}, "body": { "name": "myManagedApplication", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", - "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", - "outputs": null, - "parameters": null, - "provisioningState": "Created", - "billingDetails": null, - "jitAccessPolicy": null, - "publisherTenantId": null, + "artifacts": [], "authorizations": [ { "principalId": "validprincipalguid", "roleDefinitionId": "validroleguid" } ], - "managementMode": "Managed", - "customerSupport": null, - "supportUrls": null, - "artifacts": [], + "billingDetails": null, "createdBy": { + "applicationId": "ClientApplicationId", "oid": "ClientOid", - "puid": "ClientPuid", - "applicationId": "ClientApplicationId" + "puid": "ClientPuid" }, + "customerSupport": null, + "jitAccessPolicy": null, + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "managementMode": "Managed", + "outputs": null, + "parameters": null, + "provisioningState": "Created", + "publisherTenantId": null, + "supportUrls": null, "updatedBy": { + "applicationId": "ClientApplicationId", "oid": "ClientOid", - "puid": "ClientPuid", - "applicationId": "ClientApplicationId" + "puid": "ClientPuid" } - } - } - } - } + }, + "sku": null + }, + "headers": {} + }, + "404": {} + }, + "operationId": "Applications_Get", + "title": "Get a managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationById.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationById.json index 0183ed8e1be4..7c1478b8401e 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationById.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationById.json @@ -48,5 +48,7 @@ } } } - } + }, + "operationId": "Applications_GetById", + "title": "Gets the managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition.json index 6cb979b74ec8..62a4bf3cfa34 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition.json @@ -1,21 +1,19 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", + "api-version": "2023-12-01-preview", "applicationDefinitionName": "myManagedApplicationDef", - "api-version": "2023-12-01-preview" + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { - "404": {}, "200": { - "headers": {}, "body": { "name": "myManagedApplicationDef", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef description", "artifacts": [ { "name": "CreateUiDefinition", @@ -34,17 +32,21 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef description", + "deploymentPolicy": null, "displayName": "myManagedApplicationDef", "lockLevel": "None", - "packageFileUri": "https://path/to/packagezipfile", - "notificationPolicy": null, "lockingPolicy": null, - "deploymentPolicy": null, "managementPolicy": null, + "notificationPolicy": null, + "packageFileUri": "https://path/to/packagezipfile", "policies": [] - } - } - } - } + }, + "sku": null + }, + "headers": {} + }, + "404": {} + }, + "operationId": "ApplicationDefinitions_Get", + "title": "Get managed application definition" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition1.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition1.json new file mode 100644 index 000000000000..088eaa131b32 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getApplicationDefinition1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "deploymentPolicy": null, + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "lockingPolicy": null, + "managementPolicy": null, + "notificationPolicy": null, + "packageFileUri": "https://path/to/packagezipfile", + "policies": [] + }, + "sku": null + }, + "headers": {} + }, + "404": {} + }, + "operationId": "ApplicationDefinitions_GetById", + "title": "Get managed application definition" +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getJitRequest.json index 79736f7f14a9..93fe71d99cf8 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getJitRequest.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/getJitRequest.json @@ -1,43 +1,45 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", "resourceGroupName": "rg", - "jitRequestName": "myJitRequest", - "api-version": "2023-12-01-preview" + "subscriptionId": "subid" }, "responses": { - "404": {}, "200": { - "headers": {}, "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, "jitAuthorizationPolicies": [ { "principalId": "1db8e132e2934dbcb8e1178a61319491", "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" } ], + "jitRequestState": "Pending", "jitSchedulingPolicy": { "type": "Once", "duration": "PT8H", "startTime": "2021-04-22T05:48:30.6661804Z" }, "provisioningState": "Accepted", - "jitRequestState": "Pending", - "createdBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" - }, "updatedBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" } - }, - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", - "name": "myJitRequest", - "type": "Microsoft.Solutions/jitRequests" - } - } - } + } + }, + "headers": {} + }, + "404": {} + }, + "operationId": "JitRequests_Get", + "title": "Gets the jit request" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listAllowedUpgradePlans.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listAllowedUpgradePlans.json index 9329a44b918b..fd4f82f381ef 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listAllowedUpgradePlans.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listAllowedUpgradePlans.json @@ -1,24 +1,26 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", + "api-version": "2023-12-01-preview", "applicationName": "myManagedApplication", - "api-version": "2023-12-01-preview" + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "name": "name", - "promotionCode": "promotionCode", "product": "product", + "promotionCode": "promotionCode", "publisher": "publisher", "version": "version" } ] - } + }, + "headers": {} } - } + }, + "operationId": "Applications_ListAllowedUpgradePlans", + "title": "List allowed upgrade plans for application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsByResourceGroup.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsByResourceGroup.json index 9419e1ab8ac3..e479141f6c53 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsByResourceGroup.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsByResourceGroup.json @@ -1,21 +1,20 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2023-12-01-preview", "resourceGroupName": "rg", - "api-version": "2023-12-01-preview" + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "name": "myManagedApplicationDef", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef description", "artifacts": [ { "name": "CreateUiDefinition", @@ -34,19 +33,19 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } + }, + "sku": null }, { "name": "myManagedApplicationDef2", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef2 description", "artifacts": [ { "name": "CreateUiDefinition", @@ -65,14 +64,17 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef2 description", "displayName": "myManagedApplicationDef2", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } + }, + "sku": null } ] - } + }, + "headers": {} } - } + }, + "operationId": "ApplicationDefinitions_ListByResourceGroup", + "title": "Lists the managed application definitions in a resource group" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsBySubscription.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsBySubscription.json index acf008bbfb95..f5d7b92b730b 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsBySubscription.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationDefinitionsBySubscription.json @@ -1,20 +1,19 @@ { "parameters": { - "subscriptionId": "subid", - "api-version": "2023-12-01-preview" + "api-version": "2023-12-01-preview", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "name": "myManagedApplicationDef", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef description", "artifacts": [ { "name": "CreateUiDefinition", @@ -33,19 +32,19 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } + }, + "sku": null }, { "name": "myManagedApplicationDef2", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef2 description", "artifacts": [ { "name": "CreateUiDefinition", @@ -64,14 +63,17 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef2 description", "displayName": "myManagedApplicationDef2", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } + }, + "sku": null } ] - } + }, + "headers": {} } - } + }, + "operationId": "ApplicationDefinitions_ListBySubscription", + "title": "Lists all the application definitions within a subscription" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup.json index a4a0b99de12d..0906fe5776dd 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup.json @@ -1,50 +1,52 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2023-12-01-preview", "resourceGroupName": "rg", - "api-version": "2023-12-01-preview" + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "name": "myManagedApplication", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" - } + }, + "sku": null }, { "name": "myManagedApplication2", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" - } + }, + "sku": null } ] - } + }, + "headers": {} } - } + }, + "operationId": "Applications_ListBySubscription", + "title": "Lists all the applications within a subscription" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup1.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup1.json new file mode 100644 index 000000000000..ef9bdb3839c6 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listApplicationsByResourceGroup1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myManagedApplication", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + }, + { + "name": "myManagedApplication2", + "type": "Microsoft.Solutions/applications", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", + "identity": null, + "kind": "ServiceCatalog", + "managedBy": null, + "plan": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + }, + "sku": null + } + ] + }, + "headers": {} + } + }, + "operationId": "Applications_ListByResourceGroup", + "title": "Lists all the applications within a resource group" +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup.json index 2e28e70cfcb5..1e52cc603ba7 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup.json @@ -1,74 +1,76 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2023-12-01-preview", "resourceGroupName": "rg", - "api-version": "2023-12-01-preview" + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, "jitAuthorizationPolicies": [ { "principalId": "1db8e132e2934dbcb8e1178a61319491", "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" } ], + "jitRequestState": "Pending", "jitSchedulingPolicy": { "type": "Once", "duration": "PT8H", "startTime": "2021-04-22T05:48:30.6661804Z" }, "provisioningState": "Accepted", - "jitRequestState": "Pending", - "createdBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" - }, "updatedBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" } - }, - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", - "name": "myJitRequest", - "type": "Microsoft.Solutions/jitRequests" + } }, { + "name": "myJitRequest2", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest2", "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, "jitAuthorizationPolicies": [ { "principalId": "1db8e132e2934dbcb8e1178a61319491", "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" } ], + "jitRequestState": "Pending", "jitSchedulingPolicy": { "type": "Once", "duration": "PT8H", "startTime": "2021-04-22T05:48:30.6661804Z" }, "provisioningState": "Accepted", - "jitRequestState": "Pending", - "createdBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" - }, "updatedBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" } - }, - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest2", - "name": "myJitRequest2", - "type": "Microsoft.Solutions/jitRequests" + } } ] - } + }, + "headers": {} } - } + }, + "operationId": "jitRequests_ListBySubscription", + "title": "Lists all JIT requests within the subscription" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup1.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup1.json new file mode 100644 index 000000000000..3563d8a482fa --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listJitRequestsByResourceGroup1.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + }, + { + "name": "myJitRequest2", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest2", + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitRequestState": "Pending", + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "updatedBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + } + } + } + ] + }, + "headers": {} + } + }, + "operationId": "jitRequests_ListByResourceGroup", + "title": "Lists all JIT requests within the resource group" +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listSolutionsOperations.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listSolutionsOperations.json index ffa2c8674065..3e46d49ebc8e 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listSolutionsOperations.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listSolutionsOperations.json @@ -4,31 +4,33 @@ }, "responses": { "200": { - "headers": {}, "body": { "value": [ { - "name": "SolutionsOperation1", - "isDataAction": false, + "name": "SolutionsOpeartion1", "display": { - "provider": "Microsoft.ResourceProvider", - "resource": "Resource1", + "description": "Description of the operation", "operation": "Read", - "description": "Description of the operation" - } + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1" + }, + "isDataAction": false }, { - "name": "SolutionssOperation2", - "isDataAction": false, + "name": "SolutionssOpeartion2", "display": { - "provider": "Microsoft.ResourceProvider", - "resource": "Resource2", + "description": "Description of the operation", "operation": "Write", - "description": "Description of the operation" - } + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2" + }, + "isDataAction": false } ] - } + }, + "headers": {} } - } + }, + "operationId": "ListOperations", + "title": "List Solutions operations" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listToken.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listToken.json index de9d3da2d2c0..09ffc9ba415d 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listToken.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/listToken.json @@ -1,33 +1,35 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "applicationName": "myManagedApplication", "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", "parameters": { "authorizationAudience": "authorizationAudience", "userAssignedIdentities": [ "IdentityOne", "IdentityTwo" ] - } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "accessToken": "access_token", + "authorizationAudience": "authorizationAudience", "expiresIn": "1500", "expiresOn": "1500", "notBefore": "1500", - "authorizationAudience": "authorizationAudience", "resourceId": "resourceId", "tokenType": "Bearer" } ] - } + }, + "headers": {} } - } + }, + "operationId": "Applications_ListTokens", + "title": "List tokens for application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/portalRegistryPackage.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/portalRegistryPackage.json index 280088417938..893181926a7a 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/portalRegistryPackage.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/portalRegistryPackage.json @@ -2,24 +2,26 @@ "parameters": { "api-version": "2023-12-01-preview", "parameters": { - "publisher": "publisherId", "offer": "offerId", - "plan": "planId" + "plan": "planId", + "publisher": "publisherId" } }, "responses": { "200": { - "headers": {}, "body": { - "publisher": "publisherId", "offer": "offerId", - "plan": "planId", - "version": "planVersion", "packageLinks": { "createUiDefinitionLink": "createUiDefinitionLink", "deploymentTemplateLink": "deploymentTemplateLink" - } - } + }, + "plan": "planId", + "publisher": "publisherId", + "version": "planVersion" + }, + "headers": {} } - } + }, + "operationId": "PortalRegistryPackage", + "title": "Generates a registry package" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/refreshApplicationPermissions.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/refreshApplicationPermissions.json index 7acc03790080..4eb2147cb5cf 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/refreshApplicationPermissions.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/refreshApplicationPermissions.json @@ -1,16 +1,19 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", + "api-version": "2023-12-01-preview", "applicationName": "myManagedApplication", - "api-version": "2023-12-01-preview" + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": {}, "202": { "headers": { - "Azure-AsyncOperation": "00000000-0000-0000-0000-000000000000" + "Location": "https://management.azure.com/Microsoft.Solutions/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-12-01-preview", + "Retry-After": 5 } } - } + }, + "operationId": "Applications_RefreshPermissions", + "title": "Refresh managed application permissions" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateAccess.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateAccess.json index c6e7c7dcd1ff..a81c70f9f120 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateAccess.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateAccess.json @@ -1,38 +1,40 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "applicationName": "myManagedApplication", "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", "parameters": { - "approver": "amauser", - "status": "Elevate", - "subStatus": "Approved", - "metadata": { + "Approver": "amauser", + "Metadata": { "originRequestId": "originRequestId", "requestorId": "RequestorId", - "tenantDisplayName": "TenantDisplayName", - "subjectDisplayName": "SubjectDisplayName" - } - } + "subjectDisplayName": "SubjectDisplayName", + "tenantDisplayName": "TenantDisplayName" + }, + "Status": "Elevate", + "SubStatus": "Approved" + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": {}, "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" - }, "body": { - "approver": "amauser", - "status": "Elevate", - "subStatus": "Approved", - "metadata": { + "Approver": "amauser", + "Metadata": { "originRequestId": "originRequestId", "requestorId": "RequestorId", - "tenantDisplayName": "TenantDisplayName", - "subjectDisplayName": "SubjectDisplayName" - } + "subjectDisplayName": "SubjectDisplayName", + "tenantDisplayName": "TenantDisplayName" + }, + "Status": "Elevate", + "SubStatus": "Approved" + }, + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" } } - } + }, + "operationId": "Applications_UpdateAccess", + "title": "Update access for application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplication.json index d6d14186506e..18736d42bffd 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplication.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplication.json @@ -1,59 +1,61 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "applicationName": "myManagedApplication", "api-version": "2023-12-01-preview", + "applicationName": "myManagedApplication", "parameters": { + "kind": "ServiceCatalog", "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" - }, - "kind": "ServiceCatalog" - } + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "name": "myManagedApplication", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" - } - } + }, + "sku": null + }, + "headers": {} }, "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" - }, "body": { "name": "myManagedApplication", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "type": "Microsoft.Solutions/applications", - "managedBy": null, - "plan": null, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", "identity": null, "kind": "ServiceCatalog", - "sku": null, + "managedBy": null, + "plan": null, "properties": { "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" - } + }, + "sku": null + }, + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Solutions/pathToOperationResult" } } - } + }, + "operationId": "Applications_Update", + "title": "Updates managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationById.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationById.json index 30c50fc39833..fbc6af336a89 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationById.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationById.json @@ -53,5 +53,7 @@ } } } - } + }, + "operationId": "Applications_UpdateById", + "title": "Updates an existing managed application" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition.json index 20824b3a6e20..07e6952e0b71 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition.json @@ -1,25 +1,24 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "applicationDefinitionName": "myManagedApplicationDef", "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", "parameters": { "tags": { "department": "Finance" } - } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { "name": "myManagedApplicationDef", - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", "managedBy": null, - "sku": null, "properties": { + "description": "myManagedApplicationDef description", "artifacts": [ { "name": "CreateUiDefinition", @@ -38,12 +37,15 @@ "roleDefinitionId": "validroleguid" } ], - "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" - } - } + }, + "sku": null + }, + "headers": {} } - } + }, + "operationId": "ApplicationDefinitions_Update", + "title": "Update managed application definition" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition1.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition1.json new file mode 100644 index 000000000000..d3049b74c39b --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateApplicationDefinition1.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-12-01-preview", + "applicationDefinitionName": "myManagedApplicationDef", + "parameters": { + "tags": { + "department": "Finance" + } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "managedBy": null, + "properties": { + "description": "myManagedApplicationDef description", + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + }, + "sku": null + }, + "headers": {} + } + }, + "operationId": "ApplicationDefinitions_UpdateById", + "title": "Update managed application definition" +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateJitRequest.json index d720910ceed3..e7eb8250462d 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateJitRequest.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/examples/updateJitRequest.json @@ -1,47 +1,49 @@ { "parameters": { - "subscriptionId": "subid", - "resourceGroupName": "rg", - "jitRequestName": "myJitRequest", "api-version": "2023-12-01-preview", + "jitRequestName": "myRequest", "parameters": { "tags": { "department": "Finance" } - } + }, + "resourceGroupName": "rg", + "subscriptionId": "subid" }, "responses": { "200": { - "headers": {}, "body": { + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", "properties": { "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "createdBy": { + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" + }, "jitAuthorizationPolicies": [ { "principalId": "1db8e132e2934dbcb8e1178a61319491", "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" } ], + "jitRequestState": "Pending", "jitSchedulingPolicy": { "type": "Once", "duration": "PT8H", "startTime": "2021-04-22T05:48:30.6661804Z" }, "provisioningState": "Accepted", - "jitRequestState": "Pending", - "createdBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" - }, "updatedBy": { - "oid": "", - "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d", + "oid": "" } - }, - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", - "name": "myJitRequest", - "type": "Microsoft.Solutions/jitRequests" - } + } + }, + "headers": {} } - } + }, + "operationId": "JitRequests_Update", + "title": "Update jit request" } diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/managedapplications.json b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/managedapplications.json index cb319308ca80..6bb1a9bd3767 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/managedapplications.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/preview/2023-12-01-preview/managedapplications.json @@ -3,16 +3,21 @@ "info": { "title": "ApplicationClient", "version": "2023-12-01-preview", - "description": "ARM applications" + "description": "ARM applications", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], "security": [ @@ -25,1579 +30,1782 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" - } - }, - "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" - } - } + "tags": [ + { + "name": "PortalRegistryPackages" }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": { + { + "name": "Operations" + }, + { + "name": "Applications" + }, + { + "name": "ApplicationDefinitions" + }, + { + "name": "JitRequests" + } + ], + "paths": { + "/{applicationId}": { "get": { + "operationId": "Applications_GetById", "tags": [ "Applications" ], - "operationId": "Applications_Get", "description": "Gets the managed application.", - "x-ms-examples": { - "Get a managed application": { - "$ref": "./examples/getApplication.json" - } - }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApplicationNameParameter" + "name": "applicationId", + "in": "path", + "description": "The ID of the managed application.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true } ], "responses": { - "404": { - "description": "NotFound.", - "x-ms-error-response": false - }, "200": { - "description": "OK - Returns the managed application.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Application" } }, + "404": { + "description": "The server cannot find the requested resource." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Gets the managed application": { + "$ref": "./examples/getApplicationById.json" + } } }, - "delete": { + "put": { + "operationId": "Applications_CreateOrUpdateById", "tags": [ "Applications" ], - "operationId": "Applications_Delete", - "description": "Deletes the managed application.", - "x-ms-examples": { - "Delete managed application": { - "$ref": "./examples/deleteApplication.json" - } - }, + "description": "Creates or updates a managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "name": "applicationId", + "in": "path", + "description": "The ID of the managed application.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "$ref": "#/parameters/ApplicationNameParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to create or update a managed application.", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + } } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "NoContent" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Application" + } }, - "202": { - "description": "Accepted - Returns this status until the asynchronous operation has completed." + "201": { + "description": "Azure create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Application" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a managed application": { + "$ref": "./examples/createOrUpdateApplicationById.json" + } + }, "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Application" + }, + "x-ms-long-running-operation": true }, - "put": { + "patch": { + "operationId": "Applications_UpdateById", "tags": [ "Applications" ], - "operationId": "Applications_CreateOrUpdate", - "description": "Creates or updates a managed application.", - "x-ms-examples": { - "Create or update managed application": { - "$ref": "./examples/createOrUpdateApplication.json" - } - }, + "description": "Updates an existing managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApplicationNameParameter" + "name": "applicationId", + "in": "path", + "description": "The ID of the managed application.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { "name": "parameters", "in": "body", - "required": true, + "description": "Parameters supplied to update an existing managed application.", + "required": false, "schema": { - "$ref": "#/definitions/Application" - }, - "description": "Parameters supplied to the create or update a managed application." + "$ref": "#/definitions/ApplicationPatchable" + } } ], "responses": { "200": { - "description": "OK - Returns information about the managed application, including provisioning status.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Application" } }, - "201": { - "description": "Created - Returns information about the managed application, including provisioning status.", + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Application" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates an existing managed application": { + "$ref": "./examples/updateApplicationById.json" + } + }, "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Application" + }, + "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "Applications_DeleteById", "tags": [ "Applications" ], - "operationId": "Applications_Update", - "description": "Updates an existing managed application.", - "x-ms-examples": { - "Updates managed application": { - "$ref": "./examples/updateApplication.json" - } - }, + "description": "Deletes the managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ApplicationNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "parameters", - "in": "body", - "schema": { - "$ref": "#/definitions/ApplicationPatchable" - }, - "description": "Parameters supplied to update an existing managed application." + "name": "applicationId", + "in": "path", + "description": "The ID of the managed application.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true } ], "responses": { "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ApplicationPatchable" - } + "description": "The request has succeeded." }, "202": { - "description": "Accepted - Returns this status until the asynchronous operation has completed.", - "schema": { - "$ref": "#/definitions/ApplicationPatchable" + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the managed application": { + "$ref": "./examples/deleteApplicationById.json" + } + }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" - } + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}": { + "/providers/Microsoft.Solutions/operations": { "get": { + "operationId": "ListOperations", "tags": [ - "ApplicationDefinitions" + "Operations" ], - "operationId": "ApplicationDefinitions_Get", - "description": "Gets the managed application definition.", - "x-ms-examples": { - "Get managed application definition": { - "$ref": "./examples/getApplicationDefinition.json" - } - }, + "description": "List the operations for the provider", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ApplicationDefinitionNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { - "404": { - "description": "NotFound.", - "x-ms-error-response": false - }, "200": { - "description": "OK - Returns the managed application definition.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ApplicationDefinition" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } - }, - "delete": { - "tags": [ - "ApplicationDefinitions" - ], - "operationId": "ApplicationDefinitions_Delete", - "description": "Deletes the managed application definition.", + }, "x-ms-examples": { - "delete managed application definition": { - "$ref": "./examples/deleteApplicationDefinition.json" + "List Solutions operations": { + "$ref": "./examples/listSolutionsOperations.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Solutions/portalRegistryPackage": { + "post": { + "operationId": "PortalRegistryPackage", + "tags": [ + "PortalRegistryPackages" + ], + "description": "Generates the registry package links for Managed Applications and Solution Templates.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ApplicationDefinitionNameParameter" + "name": "parameters", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryPackagePlan" + } } ], "responses": { - "204": { - "description": "NoContent" - }, "200": { - "description": "OK" - }, - "default": { - "description": "Error response describing why the operation failed.", + "description": "The request has succeeded.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "ApplicationDefinitions" - ], - "operationId": "ApplicationDefinitions_CreateOrUpdate", - "description": "Creates or updates a managed application definition.", - "x-ms-examples": { - "Create or update managed application definition": { - "$ref": "./examples/createOrUpdateApplicationDefinition.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ApplicationDefinitionNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationDefinition" - }, - "description": "Parameters supplied to the create or update an 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" + "$ref": "#/definitions/RegistryPackage" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } - }, - "patch": { - "tags": [ - "ApplicationDefinitions" - ], - "operationId": "ApplicationDefinitions_Update", - "description": "Updates the managed application definition.", - "x-ms-examples": { - "Update managed application definition": { - "$ref": "./examples/updateApplicationDefinition.json" - } }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ApplicationDefinitionNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationDefinitionPatchable" - }, - "description": "Parameters supplied to the update a managed application definition." - } - ], - "responses": { - "200": { - "description": "OK - 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-examples": { + "Generates a registry package": { + "$ref": "./examples/portalRegistryPackage.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applicationDefinitions": { "get": { + "operationId": "ApplicationDefinitions_ListBySubscription", "tags": [ "ApplicationDefinitions" ], - "operationId": "ApplicationDefinitions_ListByResourceGroup", - "description": "Lists the managed application definitions in a resource group.", - "x-ms-examples": { - "Lists the managed application definitions in a resource group": { - "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" - } - }, + "description": "Lists all the application definitions within a subscription.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK - Returns an array of managed application definitions.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ApplicationDefinitionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "Lists all the application definitions within a subscription": { + "$ref": "./examples/listApplicationDefinitionsBySubscription.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applicationDefinitions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications": { "get": { + "operationId": "Applications_ListBySubscription", "tags": [ - "ApplicationDefinitions" + "Applications" ], - "operationId": "ApplicationDefinitions_ListBySubscription", - "description": "Lists all the application definitions within a subscription.", - "x-ms-examples": { - "Lists all the application definitions within a subscription": { - "$ref": "./examples/listApplicationDefinitionsBySubscription.json" - } - }, + "description": "Lists all the applications within a subscription.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK - Returns an array of managed application definitions.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ApplicationDefinitionListResult" + "$ref": "#/definitions/ApplicationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "Lists all the applications within a subscription": { + "$ref": "./examples/listApplicationsByResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { "get": { + "operationId": "jitRequests_ListBySubscription", "tags": [ - "Applications" + "JitRequests" ], - "operationId": "Applications_ListByResourceGroup", - "description": "Lists all the applications within a resource group.", - "x-ms-examples": { - "Lists all the applications within a resource group": { - "$ref": "./examples/listApplicationsByResourceGroup.json" - } - }, + "description": "Lists all JIT requests within the subscription.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK - Returns an array of applications.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ApplicationListResult" + "$ref": "#/definitions/JitRequestDefinitionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "Lists all JIT requests within the subscription": { + "$ref": "./examples/listJitRequestsByResourceGroup.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions": { "get": { + "operationId": "ApplicationDefinitions_ListByResourceGroup", "tags": [ - "Applications" + "ApplicationDefinitions" ], - "operationId": "Applications_ListBySubscription", - "description": "Lists all the applications within a subscription.", - "x-ms-examples": { - "Lists all the applications within a subscription": { - "$ref": "./examples/listApplicationsByResourceGroup.json" - } - }, + "description": "Lists the managed application definitions in a resource group.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$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/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK - Returns an array of applications.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ApplicationListResult" + "$ref": "#/definitions/ApplicationDefinitionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "Lists the managed application definitions in a resource group": { + "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/{applicationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}": { "get": { + "operationId": "ApplicationDefinitions_Get", "tags": [ - "Applications" + "ApplicationDefinitions" ], - "operationId": "Applications_GetById", - "description": "Gets the managed application.", - "x-ms-examples": { - "Gets the managed application": { - "$ref": "./examples/getApplicationById.json" - } - }, + "description": "Gets the managed application definition.", "parameters": [ { - "name": "applicationId", + "$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" + }, + { + "name": "applicationDefinitionName", "in": "path", + "description": "The name of the managed application definition.", "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "minLength": 3, + "maxLength": 64 } ], "responses": { - "404": { - "description": "NotFound.", - "x-ms-error-response": false - }, "200": { - "description": "OK - Returns the managed application.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Application" + "$ref": "#/definitions/ApplicationDefinition" } }, + "404": { + "description": "The server cannot find the requested resource." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } } }, - "delete": { + "put": { + "operationId": "ApplicationDefinitions_CreateOrUpdate", "tags": [ - "Applications" + "ApplicationDefinitions" ], - "operationId": "Applications_DeleteById", - "description": "Deletes the managed application.", - "x-ms-examples": { - "Deletes the managed application": { - "$ref": "./examples/deleteApplicationById.json" - } - }, + "description": "Creates or updates a managed application definition.", "parameters": [ { - "name": "applicationId", + "$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" + }, + { + "name": "applicationDefinitionName", "in": "path", + "description": "The name of the managed application definition.", "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 + "minLength": 3, + "maxLength": 64 }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the create or update an managed application definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } } ], "responses": { "200": { - "description": "NoContent" - }, - "204": { - "description": "NoContent" + "description": "Resource 'ApplicationDefinition' update operation succeeded", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } }, - "202": { - "description": "Accepted - Returns this status until the asynchronous operation has completed." + "201": { + "description": "Resource 'ApplicationDefinition' create operation succeeded", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$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 or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } } }, - "put": { + "patch": { + "operationId": "ApplicationDefinitions_Update", "tags": [ - "Applications" + "ApplicationDefinitions" ], - "operationId": "Applications_CreateOrUpdateById", - "description": "Creates or updates a managed application.", - "x-ms-examples": { - "Creates or updates a managed application": { - "$ref": "./examples/createOrUpdateApplicationById.json" - } - }, + "description": "Updates the managed application definition.", "parameters": [ { - "name": "applicationId", + "$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" + }, + { + "name": "applicationDefinitionName", "in": "path", + "description": "The name of the managed application definition.", "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 + "minLength": 3, + "maxLength": 64 }, { "name": "parameters", "in": "body", + "description": "Parameters supplied to the update a managed application definition.", "required": true, "schema": { - "$ref": "#/definitions/Application" - }, - "description": "Parameters supplied to the create or update a managed application." - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "#/definitions/ApplicationDefinitionPatchable" + } } ], "responses": { "200": { - "description": "OK - 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.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Application" + "$ref": "#/definitions/ApplicationDefinition" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$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": { + "Update managed application definition": { + "$ref": "./examples/updateApplicationDefinition.json" + } } }, - "patch": { + "delete": { + "operationId": "ApplicationDefinitions_Delete", "tags": [ - "Applications" + "ApplicationDefinitions" ], - "operationId": "Applications_UpdateById", - "description": "Updates an existing managed application.", - "x-ms-examples": { - "Updates an existing managed application": { - "$ref": "./examples/updateApplicationById.json" - } - }, + "description": "Deletes the managed application definition.", "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": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "parameters", - "in": "body", - "schema": { - "$ref": "#/definitions/ApplicationPatchable" - }, - "description": "Parameters supplied to update an existing managed application." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "applicationDefinitionName", + "in": "path", + "description": "The name of the managed application definition.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 } ], "responses": { "200": { - "description": "OK - Returns information about the managed application, including provisioning status.", + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ApplicationPatchable" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } + } + }, + "x-ms-examples": { + "delete managed application definition": { + "$ref": "./examples/deleteApplicationDefinition.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications": { + "get": { + "operationId": "Applications_ListByResourceGroup", + "tags": [ + "Applications" + ], + "description": "Lists all the applications within a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, - "202": { - "description": "Accepted - Returns information about the managed application, including provisioning status.", + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ApplicationPatchable" + "$ref": "#/definitions/ApplicationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$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": { + "Lists all the applications within a resource group": { + "$ref": "./examples/listApplicationsByResourceGroup1.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": { "get": { + "operationId": "Applications_Get", "tags": [ - "JitRequests" + "Applications" ], - "operationId": "JitRequests_Get", - "description": "Gets the JIT request.", - "x-ms-examples": { - "Gets the jit request": { - "$ref": "./examples/getJitRequest.json" - } - }, + "description": "Gets the managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/JitRequestNameParameter" + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 } ], "responses": { - "404": { - "description": "NotFound.", - "x-ms-error-response": false - }, "200": { - "description": "OK - Returns the JIT request", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/JitRequestDefinition" + "$ref": "#/definitions/Application" } }, + "404": { + "description": "The server cannot find the requested resource." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Get a managed application": { + "$ref": "./examples/getApplication.json" + } } }, "put": { + "operationId": "Applications_CreateOrUpdate", "tags": [ - "JitRequests" + "Applications" ], - "operationId": "jitRequests_CreateOrUpdate", - "description": "Creates or updates the JIT request.", - "x-ms-examples": { - "Create or update jit request": { - "$ref": "./examples/createOrUpdateJitRequest.json" - } - }, + "description": "Creates or updates a managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/JitRequestNameParameter" + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 }, { "name": "parameters", "in": "body", + "description": "Parameters supplied to the create or update a managed application.", "required": true, "schema": { - "$ref": "#/definitions/JitRequestDefinition" - }, - "description": "Parameters supplied to the update JIT request." + "$ref": "#/definitions/Application" + } } ], "responses": { "200": { - "description": "OK - Returns information about the JIT request.", + "description": "Resource 'Application' update operation succeeded", "schema": { - "$ref": "#/definitions/JitRequestDefinition" + "$ref": "#/definitions/Application" } }, "201": { - "description": "Created - Returns information about the JIT request.", + "description": "Resource 'Application' create operation succeeded", "schema": { - "$ref": "#/definitions/JitRequestDefinition" + "$ref": "#/definitions/Application" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update managed application": { + "$ref": "./examples/createOrUpdateApplication.json" + } + }, "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Application" + }, + "x-ms-long-running-operation": true }, "patch": { + "operationId": "Applications_Update", "tags": [ - "JitRequests" + "Applications" ], - "operationId": "JitRequests_Update", - "description": "Updates the JIT request.", - "x-ms-examples": { - "Update jit request": { - "$ref": "./examples/updateJitRequest.json" - } - }, + "description": "Updates an existing managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/JitRequestNameParameter" + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 }, { "name": "parameters", "in": "body", - "required": true, + "description": "Parameters supplied to update an existing managed application.", + "required": false, "schema": { - "$ref": "#/definitions/JitRequestPatchable" - }, - "description": "Parameters supplied to the update JIT request." + "$ref": "#/definitions/ApplicationPatchable" + } } ], "responses": { "200": { - "description": "Ok - Returns information about the JIT request.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/JitRequestDefinition" + "$ref": "#/definitions/Application" + } + }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/Application" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "Updates managed application": { + "$ref": "./examples/updateApplication.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Application" + }, + "x-ms-long-running-operation": true }, "delete": { + "operationId": "Applications_Delete", "tags": [ - "JitRequests" + "Applications" ], - "operationId": "jitRequests_Delete", - "description": "Deletes the JIT request.", - "x-ms-examples": { - "Delete jit request": { - "$ref": "./examples/deleteJitRequest.json" - } - }, + "description": "Deletes the managed application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/JitRequestNameParameter" + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 } ], "responses": { - "204": { - "description": "NoContent" - }, "200": { - "description": "OK" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "Delete managed application": { + "$ref": "./examples/deleteApplication.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/listAllowedUpgradePlans": { + "post": { + "operationId": "Applications_ListAllowedUpgradePlans", "tags": [ - "JitRequests" + "Applications" ], - "operationId": "jitRequests_ListBySubscription", - "description": "Lists all JIT requests within the subscription.", - "x-ms-examples": { - "Lists all JIT requests within the subscription": { - "$ref": "./examples/listJitRequestsByResourceGroup.json" - } - }, + "description": "List allowed upgrade plans for application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK - Returns an array of JIT requests.", - "schema": { - "$ref": "#/definitions/JitRequestDefinitionListResult" - } + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, - "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": "Lists all JIT requests within the resource group.", - "x-ms-examples": { - "Lists all JIT requests within the resource group": { - "$ref": "./examples/listJitRequestsByResourceGroup.json" - } - }, - "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 } ], "responses": { "200": { - "description": "OK - Returns an array of JIT requests.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/JitRequestDefinitionListResult" + "$ref": "#/definitions/AllowedUpgradePlansResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "List allowed upgrade plans for application": { + "$ref": "./examples/listAllowedUpgradePlans.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/listTokens": { "post": { + "operationId": "Applications_ListTokens", "tags": [ "Applications" ], - "operationId": "Applications_RefreshPermissions", - "description": "Refresh Permissions for application.", - "x-ms-examples": { - "Refresh managed application permissions": { - "$ref": "./examples/refreshApplicationPermissions.json" - } - }, + "description": "List tokens for application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 }, { - "$ref": "#/parameters/ApplicationNameParameter" + "name": "parameters", + "in": "body", + "description": "Request body parameters to list tokens.", + "required": true, + "schema": { + "$ref": "#/definitions/ListTokenRequest" + } } ], "responses": { "200": { - "description": "OK." - }, - "202": { - "description": "Accepted - Returns this status until the asynchronous operation has completed." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedIdentityTokenResult" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$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": "location" + "x-ms-examples": { + "List tokens for application": { + "$ref": "./examples/listToken.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/listAllowedUpgradePlans": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": { "post": { + "operationId": "Applications_RefreshPermissions", "tags": [ "Applications" ], - "operationId": "Applications_ListAllowedUpgradePlans", - "description": "List allowed upgrade plans for application.", - "x-ms-examples": { - "List allowed upgrade plans for application": { - "$ref": "./examples/listAllowedUpgradePlans.json" - } - }, + "description": "Refresh Permissions for application.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApplicationNameParameter" + "name": "applicationName", + "in": "path", + "description": "The name of the managed application.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 } ], "responses": { "200": { - "description": "OK - Returns an array of managed identity tokens.", - "schema": { - "$ref": "#/definitions/AllowedUpgradePlansResult" + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "Refresh managed application permissions": { + "$ref": "./examples/refreshApplicationPermissions.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/updateAccess": { "post": { + "operationId": "Applications_UpdateAccess", "tags": [ "Applications" ], - "operationId": "Applications_UpdateAccess", "description": "Update access for application.", - "x-ms-examples": { - "Update access for application": { - "$ref": "./examples/updateAccess.json" - } - }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "applicationName", "in": "path", + "description": "The name of the managed application.", "required": true, "type": "string", - "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, { "name": "parameters", "in": "body", + "description": "Request body parameters to update access.", "required": true, "schema": { "$ref": "#/definitions/UpdateAccessDefinition" - }, - "description": "Request body parameters to list tokens." + } } ], "responses": { "200": { - "description": "OK." + "description": "The request has succeeded." }, "202": { - "description": "Accepted - Returns this status until the asynchronous operation has completed.", + "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/UpdateAccessDefinition" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update access for application": { + "$ref": "./examples/updateAccess.json" + } + }, "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "final-state-via": "location", + "final-state-schema": "#/definitions/UpdateAccessDefinition" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/listTokens": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "operationId": "jitRequests_ListByResourceGroup", "tags": [ - "Applications" + "JitRequests" ], - "operationId": "Applications_ListTokens", - "description": "List tokens for application.", - "x-ms-examples": { - "List tokens for application": { - "$ref": "./examples/listToken.json" - } - }, + "description": "Lists all JIT requests within the resource group.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "applicationName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the managed application.", - "minLength": 3, - "maxLength": 64 + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ListTokenRequest" - }, - "description": "Request body parameters to list tokens." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK - Returns an array of managed identity tokens.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedIdentityTokenResult" + "$ref": "#/definitions/JitRequestDefinitionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Lists all JIT requests within the resource group": { + "$ref": "./examples/listJitRequestsByResourceGroup1.json" + } } } }, - "/providers/Microsoft.Solutions/portalRegistryPackage": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": { + "get": { + "operationId": "JitRequests_Get", "tags": [ - "PortalRegistryPackage" + "JitRequests" ], - "operationId": "PortalRegistryPackage", - "description": "Generates the registry package links for Managed Applications and Solution Templates.", - "x-ms-examples": { - "Generates a registry package": { - "$ref": "./examples/portalRegistryPackage.json" - } - }, + "description": "Gets the JIT request.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "parameters", - "in": "body", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "jitRequestName", + "in": "path", + "description": "The name of the JIT request.", "required": true, - "schema": { - "$ref": "#/definitions/RegistryPackagePlan" - }, - "description": "Request body parameters to get registry packages." + "type": "string", + "minLength": 2, + "maxLength": 10 } ], "responses": { "200": { - "description": "Returns information about the registry package and generated links.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/RegistryPackage" + "$ref": "#/definitions/JitRequestDefinition" } }, + "404": { + "description": "The server cannot find the requested resource." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Gets the jit request": { + "$ref": "./examples/getJitRequest.json" + } } - } - } - }, - "x-ms-paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { - "get": { + }, + "put": { + "operationId": "jitRequests_CreateOrUpdate", "tags": [ - "ApplicationDefinitions" + "JitRequests" ], - "operationId": "ApplicationDefinitions_GetById", - "description": "Gets the managed application definition.", - "x-ms-examples": { - "Get managed application definition": { - "$ref": "./examples/getApplicationDefinition.json" - } - }, + "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 + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "applicationDefinitionName", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "jitRequestName", "in": "path", + "description": "The name of the JIT request.", "required": true, "type": "string", - "description": "The name of the managed application definition.", - "minLength": 3, - "maxLength": 64 + "minLength": 2, + "maxLength": 10 }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - } - ], + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the update JIT request.", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + } + ], "responses": { - "404": { - "description": "NotFound.", - "x-ms-error-response": false + "200": { + "description": "Resource 'JitRequestDefinition' update operation succeeded", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "201": { + "description": "Resource 'JitRequestDefinition' create operation succeeded", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update jit request": { + "$ref": "./examples/createOrUpdateJitRequest.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/JitRequestDefinition" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "JitRequests_Update", + "tags": [ + "JitRequests" + ], + "description": "Updates the JIT request.", + "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" + }, + { + "name": "jitRequestName", + "in": "path", + "description": "The name of the JIT request.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 10 }, + { + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the update JIT request.", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestPatchable" + } + } + ], + "responses": { "200": { - "description": "OK - Returns the managed application definition.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ApplicationDefinition" + "$ref": "#/definitions/JitRequestDefinition" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Update jit request": { + "$ref": "./examples/updateJitRequest.json" + } } }, "delete": { + "operationId": "jitRequests_Delete", "tags": [ - "ApplicationDefinitions" + "JitRequests" ], - "operationId": "ApplicationDefinitions_DeleteById", - "description": "Deletes the managed application definition.", - "x-ms-examples": { - "Deletes managed application definition": { - "$ref": "./examples/deleteApplicationDefinition.json" - } - }, + "description": "Deletes the JIT request.", "parameters": [ { - "name": "resourceGroupName", + "$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" + }, + { + "name": "jitRequestName", "in": "path", + "description": "The name of the JIT request.", "required": true, "type": "string", - "description": "The name of the resource group. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "minLength": 2, + "maxLength": 10 + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete jit request": { + "$ref": "./examples/deleteJitRequest.json" + } + } + } + } + }, + "x-ms-paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { + "get": { + "operationId": "ApplicationDefinitions_GetById", + "tags": [ + "ApplicationDefinitions" + ], + "description": "Gets the managed application definition.", + "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" }, { "name": "applicationDefinitionName", "in": "path", + "description": "The name of the managed application definition.", "required": true, "type": "string", - "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { - "204": { - "description": "NoContent" - }, "200": { - "description": "OK" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "404": { + "description": "The server cannot find the requested resource." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition1.json" + } } - }, + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy&_overload=createOrUpdateById": { "put": { + "operationId": "ApplicationDefinitions_CreateOrUpdateById", "tags": [ "ApplicationDefinitions" ], - "operationId": "ApplicationDefinitions_CreateOrUpdateById", "description": "Creates or updates a 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 + "$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" }, { "name": "applicationDefinitionName", "in": "path", + "description": "The name of the managed application definition.", "required": true, "type": "string", - "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, { "name": "parameters", "in": "body", + "description": "Resource create parameters.", "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.", + "description": "Resource 'ApplicationDefinition' update operation succeeded", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "201": { - "description": "Created - Returns information about the managed application definition, including provisioning status.", + "description": "Resource 'ApplicationDefinition' create operation succeeded", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition1.json" + } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy&_overload=deleteById": { + "delete": { + "operationId": "ApplicationDefinitions_DeleteById", "tags": [ "ApplicationDefinitions" ], - "operationId": "ApplicationDefinitions_UpdateById", - "description": "Updates the managed application definition.", - "x-ms-examples": { - "Update managed application definition": { - "$ref": "./examples/updateApplicationDefinition.json" + "description": "Deletes the managed application definition.", + "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" + }, + { + "name": "applicationDefinitionName", + "in": "path", + "description": "The name of the managed application definition.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } } }, + "x-ms-examples": { + "delete managed application definition": { + "$ref": "./examples/deleteApplicationDefinition1.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy&_overload=updateById": { + "patch": { + "operationId": "ApplicationDefinitions_UpdateById", + "tags": [ + "ApplicationDefinitions" + ], + "description": "Updates the managed application definition.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApplicationDefinitionNameParameter" + "name": "applicationDefinitionName", + "in": "path", + "description": "The name of the managed application definition.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 64 }, { "name": "parameters", "in": "body", + "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/ApplicationDefinitionPatchable" - }, - "description": "Parameters supplied to the update a managed application definition." + } } ], "responses": { "200": { - "description": "OK - Returns information about the managed application definition, including provisioning status.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ApplicationDefinition" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "Update managed application definition": { + "$ref": "./examples/updateApplicationDefinition1.json" + } } } } }, "definitions": { + "AllowedUpgradePlansResult": { + "type": "object", + "description": "The array of plan.", + "properties": { + "value": { + "type": "array", + "description": "The array of plans.", + "items": { + "$ref": "#/definitions/Plan" + } + } + } + }, "Application": { "type": "object", + "description": "Information about managed application.", "properties": { "properties": { - "x-ms-client-flatten": true, "$ref": "#/definitions/ApplicationProperties", - "description": "The managed application properties." + "description": "The managed application properties.", + "x-ms-client-flatten": true }, "plan": { "$ref": "#/definitions/Plan", @@ -1621,45 +1829,151 @@ { "$ref": "#/definitions/GenericResource" } - ], - "description": "Information about managed application." + ] }, - "ApplicationPatchable": { + "ApplicationArtifact": { "type": "object", + "description": "Managed application artifact.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplicationProperties", - "description": "The managed application properties." - }, - "plan": { - "$ref": "#/definitions/PlanPatchable", - "description": "The plan information." + "name": { + "$ref": "#/definitions/ApplicationArtifactName", + "description": "The managed application artifact name." }, - "kind": { + "uri": { "type": "string", - "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", - "pattern": "^[-\\w\\._,\\(\\)]+$" + "description": "The managed application artifact blob uri." }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application artifact type." } }, - "allOf": [ - { - "$ref": "#/definitions/GenericResource" - } + "required": [ + "name", + "uri", + "type" + ] + }, + "ApplicationArtifactName": { + "type": "string", + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ViewDefinition", + "Authorizations", + "CustomRoleDefinition" + ], + "x-ms-enum": { + "name": "ApplicationArtifactName", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "ViewDefinition", + "value": "ViewDefinition", + "description": "ViewDefinition" + }, + { + "name": "Authorizations", + "value": "Authorizations", + "description": "Authorizations" + }, + { + "name": "CustomRoleDefinition", + "value": "CustomRoleDefinition", + "description": "CustomRoleDefinition" + } + ] + } + }, + "ApplicationArtifactType": { + "type": "string", + "description": "The managed application artifact type.", + "enum": [ + "NotSpecified", + "Template", + "Custom" ], - "description": "Information about managed application." + "x-ms-enum": { + "name": "ApplicationArtifactType", + "modelAsString": false, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Template", + "value": "Template", + "description": "Template" + }, + { + "name": "Custom", + "value": "Custom", + "description": "Custom" + } + ] + } + }, + "ApplicationAuthorization": { + "type": "object", + "description": "The managed application provider authorization.", + "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" + ] + }, + "ApplicationBillingDetailsDefinition": { + "type": "object", + "description": "Managed application billing details definition.", + "properties": { + "resourceUsageId": { + "type": "string", + "description": "The managed application resource usage Id." + } + } + }, + "ApplicationClientDetails": { + "type": "object", + "description": "The application client details to track the entity creating/updating the managed app resource.", + "properties": { + "oid": { + "type": "string", + "description": "The client Oid." + }, + "puid": { + "type": "string", + "description": "The client Puid" + }, + "applicationId": { + "type": "string", + "description": "The client application Id." + } + } }, "ApplicationDefinition": { "type": "object", + "description": "Information about managed application definition.", "properties": { "properties": { - "x-ms-client-flatten": true, "$ref": "#/definitions/ApplicationDefinitionProperties", - "description": "The managed application definition properties." + "description": "The managed application definition properties.", + "x-ms-client-flatten": true } }, "required": [ @@ -1669,102 +1983,104 @@ { "$ref": "#/definitions/GenericResource" } - ], - "description": "Information about managed application definition." + ] }, - "ApplicationProperties": { + "ApplicationDefinitionArtifact": { "type": "object", + "description": "Application definition artifact.", "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." + "name": { + "$ref": "#/definitions/ApplicationDefinitionArtifactName", + "description": "The managed application definition artifact name." }, - "publisherTenantId": { + "uri": { "type": "string", - "description": "The publisher tenant Id.", - "readOnly": true + "description": "The managed application definition artifact blob uri." }, - "authorizations": { - "description": "The read-only authorizations property that is retrieved from the application package.", - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationAuthorization" + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application definition artifact type." + } + }, + "required": [ + "name", + "uri", + "type" + ] + }, + "ApplicationDefinitionArtifactName": { + "type": "string", + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ApplicationResourceTemplate", + "CreateUiDefinition", + "MainTemplateParameters" + ], + "x-ms-enum": { + "name": "ApplicationDefinitionArtifactName", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" }, - "x-ms-identifiers": [ - "principalId", - "roleDefinitionId" - ], - "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.", + { + "name": "ApplicationResourceTemplate", + "value": "ApplicationResourceTemplate", + "description": "ApplicationResourceTemplate" + }, + { + "name": "CreateUiDefinition", + "value": "CreateUiDefinition", + "description": "CreateUiDefinition" + }, + { + "name": "MainTemplateParameters", + "value": "MainTemplateParameters", + "description": "MainTemplateParameters" + } + ] + } + }, + "ApplicationDefinitionListResult": { + "type": "object", + "description": "The response of a ApplicationDefinition list operation.", + "properties": { + "value": { "type": "array", + "description": "The ApplicationDefinition items on this page", "items": { - "$ref": "#/definitions/ApplicationArtifact" - }, - "x-ms-identifiers": [ - "name", - "uri" - ], - "readOnly": true - }, - "createdBy": { - "readOnly": true, - "$ref": "#/definitions/ApplicationClientDetails", - "description": "The client entity that created the JIT request." + "$ref": "#/definitions/ApplicationDefinition" + } }, - "updatedBy": { - "readOnly": true, - "$ref": "#/definitions/ApplicationClientDetails", - "description": "The client entity that last updated the JIT request." + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "The managed application properties." + "required": [ + "value" + ] + }, + "ApplicationDefinitionPatchable": { + "type": "object", + "description": "Information about an application definition request.", + "properties": { + "tags": { + "type": "object", + "description": "Application definition tags", + "additionalProperties": { + "type": "string" + } + } + } }, "ApplicationDefinitionProperties": { "type": "object", + "description": "The managed application definition properties.", "properties": { "lockLevel": { "$ref": "#/definitions/ApplicationLockLevel", @@ -1779,8 +2095,8 @@ "description": "A value indicating whether the package is enabled or not." }, "authorizations": { - "description": "The managed application provider authorizations.", "type": "array", + "description": "The managed application provider authorizations.", "items": { "$ref": "#/definitions/ApplicationAuthorization" }, @@ -1790,8 +2106,8 @@ ] }, "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", + "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.", "items": { "$ref": "#/definitions/ApplicationDefinitionArtifact" }, @@ -1813,11 +2129,9 @@ "description": "The storage account id for bring your own storage scenario." }, "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": { @@ -1837,8 +2151,8 @@ "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", + "description": "The managed application provider policies.", "items": { "$ref": "#/definitions/ApplicationPolicy" }, @@ -1850,959 +2164,1179 @@ }, "required": [ "lockLevel" - ], - "description": "The managed application definition properties." + ] }, - "ApplicationDefinitionPatchable": { + "ApplicationDeploymentPolicy": { "type": "object", + "description": "Managed application deployment policy.", "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application definition tags" + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "The managed application deployment mode." } }, - "description": "Information about an application definition request." + "required": [ + "deploymentMode" + ] }, - "RegistryPackage": { + "ApplicationJitAccessPolicy": { "type": "object", + "description": "Managed application Jit access policy.", "properties": { - "publisher": { - "type": "string", - "description": "The publisher" - }, - "offer": { - "type": "string", - "description": "The offer Id" + "jitAccessEnabled": { + "type": "boolean", + "description": "Whether the JIT access is enabled." }, - "plan": { - "type": "string", - "description": "The plan Id" + "jitApprovalMode": { + "$ref": "#/definitions/JitApprovalMode", + "description": "JIT approval mode." }, - "version": { - "type": "string", - "description": "The version of the plan" + "jitApprovers": { + "type": "array", + "description": "The JIT approvers", + "items": { + "$ref": "#/definitions/JitApproverDefinition" + } }, - "packageLinks": { - "$ref": "#/definitions/RegistryPackageLinks", - "description": "The registry package links." + "maximumJitAccessDuration": { + "type": "string", + "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." } }, "required": [ - "offer", - "publisher", - "plan", - "packageLinks" - ], - "description": "Information about an application definition request." + "jitAccessEnabled" + ] }, - "RegistryPackageLinks": { + "ApplicationListResult": { "type": "object", + "description": "The response of a Application list operation.", "properties": { - "createUiDefinitionLink": { - "type": "string", - "description": "The create ui definition link." + "value": { + "type": "array", + "description": "The Application items on this page", + "items": { + "$ref": "#/definitions/Application" + } }, - "deploymentTemplateLink": { + "nextLink": { "type": "string", - "description": "The deployment template link." + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Resource information." + "required": [ + "value" + ] }, - "RegistryPackagePlan": { + "ApplicationLockLevel": { + "type": "string", + "description": "The managed application lock level.", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ], + "x-ms-enum": { + "name": "ApplicationLockLevel", + "modelAsString": true, + "values": [ + { + "name": "CanNotDelete", + "value": "CanNotDelete", + "description": "CanNotDelete" + }, + { + "name": "ReadOnly", + "value": "ReadOnly", + "description": "ReadOnly" + }, + { + "name": "None", + "value": "None", + "description": "None" + } + ] + } + }, + "ApplicationManagementMode": { + "type": "string", + "description": "The management mode.", + "enum": [ + "NotSpecified", + "Unmanaged", + "Managed" + ], + "x-ms-enum": { + "name": "ApplicationManagementMode", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Unmanaged", + "value": "Unmanaged", + "description": "Unmanaged" + }, + { + "name": "Managed", + "value": "Managed", + "description": "Managed" + } + ] + } + }, + "ApplicationManagementPolicy": { "type": "object", + "description": "Managed application management policy.", "properties": { - "publisher": { - "type": "string", - "description": "The publisher ID." - }, - "offer": { - "type": "string", - "description": "The offer Id." - }, - "plan": { - "type": "string", - "description": "The plan Id." - }, - "version": { + "mode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode." + } + } + }, + "ApplicationNotificationEndpoint": { + "type": "object", + "description": "Managed application notification endpoint.", + "properties": { + "uri": { "type": "string", - "description": "The plan's version." + "description": "The managed application notification endpoint uri." } }, "required": [ - "offer", - "publisher", - "plan" - ], - "description": "Plan for the managed application." + "uri" + ] }, - "Plan": { + "ApplicationNotificationPolicy": { "type": "object", + "description": "Managed application notification policy.", "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." + "notificationEndpoints": { + "type": "array", + "description": "The managed application notification endpoint.", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + }, + "x-ms-identifiers": [ + "uri" + ] } }, "required": [ - "name", - "publisher", - "product", - "version" - ], - "description": "Plan for the managed application." + "notificationEndpoints" + ] }, - "PlanPatchable": { + "ApplicationPackageContact": { "type": "object", + "description": "The application package contact information.", "properties": { - "name": { + "contactName": { "type": "string", - "description": "The plan name." + "description": "The contact name." }, - "publisher": { + "email": { "type": "string", - "description": "The publisher ID." + "description": "The contact email." }, - "product": { + "phone": { "type": "string", - "description": "The product code." + "description": "The contact phone number." + } + }, + "required": [ + "email", + "phone" + ] + }, + "ApplicationPackageLockingPolicyDefinition": { + "type": "object", + "description": "Managed application locking policy.", + "properties": { + "allowedActions": { + "type": "array", + "description": "The deny assignment excluded actions.", + "items": { + "type": "string" + } }, - "promotionCode": { + "allowedDataActions": { + "type": "array", + "description": "The deny assignment excluded data actions.", + "items": { + "type": "string" + } + } + } + }, + "ApplicationPackageSupportUrls": { + "type": "object", + "description": "The appliance package support URLs.", + "properties": { + "publicAzure": { "type": "string", - "description": "The promotion code." + "description": "The public azure support URL." }, - "version": { + "governmentCloud": { "type": "string", - "description": "The plan's version." + "description": "The government cloud support URL." } - }, - "description": "Plan for the managed application." + } }, - "GenericResource": { + "ApplicationPatchable": { "type": "object", + "description": "Information about managed application.", "properties": { - "managedBy": { + "properties": { + "$ref": "#/definitions/ApplicationProperties", + "description": "The managed application properties.", + "x-ms-client-flatten": true + }, + "plan": { + "$ref": "#/definitions/PlanPatchable", + "description": "The plan information." + }, + "kind": { "type": "string", - "description": "ID of the resource that manages this resource." + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of the resource." + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/GenericResource" } - ], - "description": "Resource information." + ] }, - "Sku": { + "ApplicationPolicy": { "type": "object", + "description": "Managed application policy.", "properties": { "name": { "type": "string", - "description": "The SKU name." - }, - "tier": { - "type": "string", - "description": "The SKU tier." - }, - "size": { - "type": "string", - "description": "The SKU size." + "description": "The policy name" }, - "family": { + "policyDefinitionId": { "type": "string", - "description": "The SKU family." + "description": "The policy definition Id." }, - "model": { + "parameters": { "type": "string", - "description": "The SKU model." - }, - "capacity": { - "type": "integer", - "format": "int32", - "description": "The SKU capacity." + "description": "The policy parameters." } - }, - "required": [ - "name" - ], - "description": "SKU for the resource." + } }, - "Identity": { + "ApplicationProperties": { "type": "object", + "description": "The managed application properties.", "properties": { - "principalId": { - "readOnly": true, + "managedResourceGroupId": { "type": "string", - "description": "The principal ID of resource identity." + "description": "The managed resource group Id." }, - "tenantId": { - "readOnly": true, + "applicationDefinitionId": { "type": "string", - "description": "The tenant ID of resource." + "description": "The fully qualified path of managed application definition Id." }, - "type": { - "type": "string", - "description": "The identity type.", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false - } + "parameters": { + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." }, - "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": { - "type": "object", - "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal id of user assigned identity." + "outputs": { + "description": "Name and value pairs that define the managed application outputs.", + "readOnly": true }, - "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": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The managed application provisioning state.", + "readOnly": true }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" + "billingDetails": { + "$ref": "#/definitions/ApplicationBillingDetailsDefinition", + "description": "The managed application billing details.", + "readOnly": true }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" + "jitAccessPolicy": { + "$ref": "#/definitions/ApplicationJitAccessPolicy", + "description": "The managed application Jit access policy." }, - "location": { + "publisherTenantId": { "type": "string", - "description": "Resource location" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - }, - "systemData": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The publisher tenant Id.", "readOnly": true - } - }, - "description": "Resource information.", - "x-ms-azure-resource": true - }, - "ApplicationListResult": { - "type": "object", - "properties": { - "value": { + }, + "authorizations": { "type": "array", + "description": "The read-only authorizations property that is retrieved from the application package.", "items": { - "$ref": "#/definitions/Application" + "$ref": "#/definitions/ApplicationAuthorization" }, - "description": "The array of managed applications." + "readOnly": true, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ] }, - "nextLink": { - "type": "string", - "description": "The URL to use for getting the next set of results." - } - }, - "description": "List of managed applications." - }, - "ApplicationDefinitionListResult": { - "type": "object", - "properties": { - "value": { + "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": { "type": "array", + "description": "The collection of managed application artifacts.", "items": { - "$ref": "#/definitions/ApplicationDefinition" + "$ref": "#/definitions/ApplicationArtifact" }, - "description": "The array of managed application definitions." + "readOnly": true, + "x-ms-identifiers": [ + "name", + "uri" + ] }, - "nextLink": { - "type": "string", - "description": "The URL to use for getting the next set of results." + "createdBy": { + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that created the JIT request.", + "readOnly": true + }, + "updatedBy": { + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that last updated the JIT request.", + "readOnly": true } - }, - "description": "List of managed application definitions." - }, - "ProvisioningState": { - "description": "Provisioning status of the managed application.", - "readOnly": true, - "enum": [ - "NotSpecified", - "Accepted", - "Running", - "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" - ], + "DeploymentMode": { "type": "string", - "x-ms-enum": { - "name": "ApplicationDefinitionArtifactName", - "modelAsString": true - } - }, - "ApplicationArtifactName": { - "description": "The managed application artifact name.", + "description": "The deployment mode.", "enum": [ "NotSpecified", - "ViewDefinition", - "Authorizations", - "CustomRoleDefinition" + "Incremental", + "Complete" ], - "type": "string", "x-ms-enum": { - "name": "ApplicationArtifactName", - "modelAsString": true - } - }, - "ApplicationArtifact": { - "type": "object", - "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": { - "type": "object", - "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": { - "type": "object", - "properties": { - "notificationEndpoints": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationNotificationEndpoint" + "name": "DeploymentMode", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" }, - "x-ms-identifiers": [ - "uri" - ], - "description": "The managed application notification endpoint." - } - }, - "required": [ - "notificationEndpoints" - ], - "description": "Managed application notification policy." + { + "name": "Incremental", + "value": "Incremental", + "description": "Incremental" + }, + { + "name": "Complete", + "value": "Complete", + "description": "Complete" + } + ] + } }, - "ApplicationNotificationEndpoint": { + "GenericResource": { "type": "object", + "description": "Resource information.", "properties": { - "uri": { + "managedBy": { "type": "string", - "description": "The managed application notification endpoint uri." - } - }, - "required": [ - "uri" - ], - "description": "Managed application notification endpoint." - }, - "ApplicationPackageLockingPolicyDefinition": { - "type": "object", - "properties": { - "allowedActions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The deny assignment excluded actions." + "description": "ID of the resource that manages this resource." }, - "allowedDataActions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The deny assignment excluded data actions." - } - }, - "description": "Managed application locking policy." - }, - "ApplicationDeploymentPolicy": { - "type": "object", - "properties": { - "deploymentMode": { - "$ref": "#/definitions/DeploymentMode", - "description": "The managed application deployment mode." + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the resource." } }, - "required": [ - "deploymentMode" - ], - "description": "Managed application deployment policy." + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] }, - "ApplicationManagementPolicy": { + "Identity": { "type": "object", + "description": "Identity for the resource.", "properties": { - "mode": { - "$ref": "#/definitions/ApplicationManagementMode", - "description": "The managed application management mode." + "principalId": { + "type": "string", + "description": "The principal ID of resource identity.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenant ID of resource.", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ResourceIdentityType", + "description": "The identity type." + }, + "userAssignedIdentities": { + "type": "object", + "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}'.", + "additionalProperties": { + "$ref": "#/definitions/userAssignedResourceIdentity" + } } - }, - "description": "Managed application management policy." + } }, - "ApplicationPolicy": { + "JitApprovalMode": { + "type": "string", + "description": "The Jit approval mode.", + "enum": [ + "NotSpecified", + "AutoApprove", + "ManualApprove" + ], + "x-ms-enum": { + "name": "JitApprovalMode", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "AutoApprove", + "value": "AutoApprove", + "description": "AutoApprove" + }, + { + "name": "ManualApprove", + "value": "ManualApprove", + "description": "ManualApprove" + } + ] + } + }, + "JitApproverDefinition": { "type": "object", + "description": "JIT approver definition.", "properties": { - "name": { + "id": { "type": "string", - "description": "The policy name" + "description": "The approver service principal Id." }, - "policyDefinitionId": { - "type": "string", - "description": "The policy definition Id." + "type": { + "$ref": "#/definitions/JitApproverType", + "description": "The approver type." }, - "parameters": { + "displayName": { "type": "string", - "description": "The policy parameters." + "description": "The approver display name." } }, - "description": "Managed application policy." + "required": [ + "id" + ] }, - "ApplicationAuthorization": { + "JitApproverType": { + "type": "string", + "description": "The approver type.", + "enum": [ + "user", + "group" + ], + "x-ms-enum": { + "name": "JitApproverType", + "modelAsString": true, + "values": [ + { + "name": "user", + "value": "user", + "description": "user" + }, + { + "name": "group", + "value": "group", + "description": "group" + } + ] + } + }, + "JitAuthorizationPolicies": { "type": "object", + "description": "The JIT authorization policies.", "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." + "description": "The the principal id that will be granted JIT access." }, "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." + "description": "The role definition id that will be granted to the Principal." } }, "required": [ "principalId", "roleDefinitionId" - ], - "description": "The managed application provider authorization." + ] }, - "ApplicationPackageContact": { + "JitRequestDefinition": { "type": "object", + "description": "Information about JIT request definition.", "properties": { - "contactName": { - "type": "string", - "description": "The contact name." - }, - "email": { - "type": "string", - "description": "The contact email." + "properties": { + "$ref": "#/definitions/JitRequestProperties", + "description": "The JIT request properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "JitRequestDefinitionListResult": { + "type": "object", + "description": "The response of a JitRequestDefinition list operation.", + "properties": { + "value": { + "type": "array", + "description": "The JitRequestDefinition items on this page", + "items": { + "$ref": "#/definitions/JitRequestDefinition" + } }, - "phone": { + "nextLink": { "type": "string", - "description": "The contact phone number." + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "email", - "phone" - ], - "description": "The application package contact information." + "value" + ] }, - "ApplicationPackageSupportUrls": { + "JitRequestMetadata": { "type": "object", + "description": "The JIT request metadata.", "properties": { - "publicAzure": { + "originRequestId": { "type": "string", - "description": "The public azure support URL." + "description": "The origin request id." }, - "governmentCloud": { + "requestorId": { "type": "string", - "description": "The government cloud support URL." + "description": "The requestor id." + }, + "tenantDisplayName": { + "type": "string", + "description": "The publisher's tenant name." + }, + "subjectDisplayName": { + "type": "string", + "description": "The subject display name." } - }, - "description": "The appliance package support URLs." + } }, - "ApplicationBillingDetailsDefinition": { + "JitRequestPatchable": { "type": "object", + "description": "Information about JIT request.", "properties": { - "resourceUsageId": { - "type": "string", - "description": "The managed application resource usage Id." + "tags": { + "type": "object", + "description": "Jit request tags", + "additionalProperties": { + "type": "string" + } } - }, - "description": "Managed application billing details definition." + } }, - "ApplicationJitAccessPolicy": { + "JitRequestProperties": { "type": "object", + "description": "Information about JIT request properties", "properties": { - "jitAccessEnabled": { - "type": "boolean", - "description": "Whether the JIT access is enabled." + "applicationResourceId": { + "type": "string", + "description": "The parent application id." }, - "jitApprovalMode": { - "$ref": "#/definitions/JitApprovalMode", - "description": "JIT approval mode." + "publisherTenantId": { + "type": "string", + "description": "The publisher tenant id.", + "readOnly": true }, - "jitApprovers": { + "jitAuthorizationPolicies": { "type": "array", + "description": "The JIT authorization policies.", "items": { - "$ref": "#/definitions/JitApproverDefinition" + "$ref": "#/definitions/JitAuthorizationPolicies" }, - "description": "The JIT approvers" + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ] }, - "maximumJitAccessDuration": { + "jitSchedulingPolicy": { + "$ref": "#/definitions/JitSchedulingPolicy", + "description": "The JIT request properties." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The JIT request provisioning state.", + "readOnly": true + }, + "jitRequestState": { + "$ref": "#/definitions/JitRequestState", + "description": "The JIT request state.", + "readOnly": true + }, + "createdBy": { + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that created the JIT request.", + "readOnly": true + }, + "updatedBy": { + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that last updated the JIT request.", + "readOnly": true + } + }, + "required": [ + "applicationResourceId", + "jitAuthorizationPolicies", + "jitSchedulingPolicy" + ] + }, + "JitRequestState": { + "type": "string", + "description": "The JIT request state.", + "enum": [ + "NotSpecified", + "Pending", + "Approved", + "Denied", + "Failed", + "Canceled", + "Expired", + "Timeout" + ], + "x-ms-enum": { + "name": "JitRequestState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Pending", + "value": "Pending", + "description": "Pending" + }, + { + "name": "Approved", + "value": "Approved", + "description": "Approved" + }, + { + "name": "Denied", + "value": "Denied", + "description": "Denied" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed" + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Canceled" + }, + { + "name": "Expired", + "value": "Expired", + "description": "Expired" + }, + { + "name": "Timeout", + "value": "Timeout", + "description": "Timeout" + } + ] + } + }, + "JitSchedulingPolicy": { + "type": "object", + "description": "The JIT scheduling policies.", + "properties": { + "type": { + "$ref": "#/definitions/JitSchedulingType", + "description": "The type of JIT schedule." + }, + "duration": { "type": "string", - "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." + "format": "duration", + "title": "The required duration of the JIT request.", + "description": "The required duration of the JIT request." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the request." } }, "required": [ - "jitAccessEnabled" + "type", + "duration", + "startTime" + ] + }, + "JitSchedulingType": { + "type": "string", + "description": "The JIT request scheduling type.", + "enum": [ + "NotSpecified", + "Once", + "Recurring" ], - "description": "Managed application Jit access policy." + "x-ms-enum": { + "name": "JitSchedulingType", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Once", + "value": "Once", + "description": "Once" + }, + { + "name": "Recurring", + "value": "Recurring", + "description": "Recurring" + } + ] + } }, - "JitRequestDefinition": { + "ListTokenRequest": { "type": "object", + "description": "List token request body.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/JitRequestProperties", - "description": "The JIT request properties." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" + "authorizationAudience": { + "type": "string", + "description": "The authorization audience." + }, + "userAssignedIdentities": { + "type": "array", + "description": "The user assigned identities.", + "items": { + "type": "string" + } } - ], - "description": "Information about JIT request definition." + } }, - "JitRequestPatchable": { + "ManagedIdentityToken": { "type": "object", + "description": "The managed identity token for the managed app resource.", "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Jit request tags" + "accessToken": { + "type": "string", + "description": "The requested access token." + }, + "expiresIn": { + "type": "string", + "description": "The number of seconds the access token will be valid." + }, + "expiresOn": { + "type": "string", + "description": "The timespan when the access token expires. This is represented as the number of seconds from epoch." + }, + "notBefore": { + "type": "string", + "description": "The timespan when the access token takes effect. This is represented as the number of seconds from epoch." + }, + "authorizationAudience": { + "type": "string", + "description": "The aud (audience) the access token was request for. This is the same as what was provided in the listTokens request." + }, + "resourceId": { + "type": "string", + "description": "The Azure resource ID for the issued token. This is either the managed application ID or the user-assigned identity ID." + }, + "tokenType": { + "type": "string", + "description": "The type of the token." } - }, - "description": "Information about JIT request." + } }, - "JitRequestDefinitionListResult": { + "ManagedIdentityTokenResult": { "type": "object", + "description": "The array of managed identity tokens.", "properties": { "value": { "type": "array", + "description": "The array of managed identity tokens.", "items": { - "$ref": "#/definitions/JitRequestDefinition" + "$ref": "#/definitions/ManagedIdentityToken" }, - "description": "The array of Jit request definition." - }, - "nextLink": { - "type": "string", - "description": "The URL to use for getting the next set of results." + "x-ms-identifiers": [] } - }, - "description": "List of JIT requests." + } }, - "JitRequestProperties": { + "Plan": { "type": "object", + "description": "Plan for the managed application.", "properties": { - "applicationResourceId": { + "name": { "type": "string", - "description": "The parent application id." + "description": "The plan name." }, - "publisherTenantId": { - "readOnly": true, + "publisher": { "type": "string", - "description": "The publisher tenant id." - }, - "jitAuthorizationPolicies": { - "description": "The JIT authorization policies.", - "type": "array", - "items": { - "$ref": "#/definitions/JitAuthorizationPolicies" - }, - "x-ms-identifiers": [ - "principalId", - "roleDefinitionId" - ] - }, - "jitSchedulingPolicy": { - "$ref": "#/definitions/JitSchedulingPolicy", - "description": "The JIT request properties." - }, - "provisioningState": { - "readOnly": true, - "$ref": "#/definitions/ProvisioningState", - "description": "The JIT request provisioning state." + "description": "The publisher ID." }, - "jitRequestState": { - "readOnly": true, - "$ref": "#/definitions/JitRequestState", - "description": "The JIT request state." + "product": { + "type": "string", + "description": "The product code." }, - "createdBy": { - "readOnly": true, - "$ref": "#/definitions/ApplicationClientDetails", - "description": "The client entity that created the JIT request." + "promotionCode": { + "type": "string", + "description": "The promotion code." }, - "updatedBy": { - "readOnly": true, - "$ref": "#/definitions/ApplicationClientDetails", - "description": "The client entity that last updated the JIT request." + "version": { + "type": "string", + "description": "The plan's version." } }, "required": [ - "applicationResourceId", - "jitAuthorizationPolicies", - "jitSchedulingPolicy" - ], - "description": "Information about JIT request properties" + "name", + "publisher", + "product", + "version" + ] }, - "JitAuthorizationPolicies": { + "PlanPatchable": { "type": "object", + "description": "Plan for the managed application.", "properties": { - "principalId": { + "name": { "type": "string", - "description": "The the principal id that will be granted JIT access." + "description": "The plan name." }, - "roleDefinitionId": { + "publisher": { "type": "string", - "description": "The role definition id that will be granted to the Principal." + "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": [ - "principalId", - "roleDefinitionId" + } + }, + "ProvisioningState": { + "type": "string", + "description": "Provisioning status of the managed application.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" ], - "description": "The JIT authorization policies." + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "Accepted" + }, + { + "name": "Running", + "value": "Running", + "description": "Running" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Deleting" + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "Deleted" + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Canceled" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed" + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Succeeded" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Updating" + } + ] + } }, - "JitSchedulingPolicy": { + "RegistryPackage": { "type": "object", + "description": "Information about an application definition request.", "properties": { - "type": { - "$ref": "#/definitions/JitSchedulingType", - "description": "The type of JIT schedule." + "publisher": { + "type": "string", + "description": "The publisher" }, - "duration": { + "offer": { "type": "string", - "format": "duration", - "title": "The required duration of the JIT request." + "description": "The offer Id" }, - "startTime": { + "plan": { "type": "string", - "format": "date-time", - "description": "The start time of the request." + "description": "The plan Id" + }, + "version": { + "type": "string", + "description": "The version of the plan" + }, + "packageLinks": { + "$ref": "#/definitions/RegistryPackageLinks", + "description": "The registry package links." } }, "required": [ - "type", - "duration", - "startTime" - ], - "description": "The JIT scheduling policies." + "publisher", + "offer", + "plan", + "version", + "packageLinks" + ] }, - "JitApprovalMode": { - "description": "The Jit approval mode.", - "enum": [ - "NotSpecified", - "AutoApprove", - "ManualApprove" - ], - "type": "string", - "x-ms-enum": { - "name": "JitApprovalMode", - "modelAsString": true + "RegistryPackageLinks": { + "type": "object", + "description": "Resource information.", + "properties": { + "createUiDefinitionLink": { + "type": "string", + "description": "The create ui definition link." + }, + "deploymentTemplateLink": { + "type": "string", + "description": "The deployment template link." + } } }, - "JitApproverDefinition": { + "RegistryPackagePlan": { "type": "object", + "description": "Plan for the managed application.", "properties": { - "id": { + "publisher": { "type": "string", - "description": "The approver service principal Id." + "description": "The publisher ID." }, - "type": { + "offer": { "type": "string", - "description": "The approver type.", - "enum": [ - "user", - "group" - ], - "x-ms-enum": { - "name": "JitApproverType", - "modelAsString": true - } + "description": "The offer Id." }, - "displayName": { + "plan": { "type": "string", - "description": "The approver display name." + "description": "The plan Id." + }, + "version": { + "type": "string", + "description": "The plan's version." } }, "required": [ - "id" - ], - "description": "JIT approver definition." + "publisher", + "offer", + "plan" + ] }, - "ApplicationClientDetails": { + "Resource": { "type": "object", - "readOnly": true, + "description": "Resource information.", "properties": { - "oid": { + "id": { "type": "string", - "description": "The client Oid." + "description": "Resource ID", + "readOnly": true }, - "puid": { + "name": { "type": "string", - "description": "The client Puid" + "description": "Resource name", + "readOnly": true }, - "applicationId": { + "type": { "type": "string", - "description": "The client application Id." + "description": "Resource type", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "description": "Resource tags", + "additionalProperties": { + "type": "string" + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true } }, - "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.", - "enum": [ - "NotSpecified", - "Once", - "Recurring" - ], - "type": "string", - "x-ms-enum": { - "name": "JitSchedulingType", - "modelAsString": true - } + "x-ms-azure-resource": true }, - "DeploymentMode": { - "description": "The deployment mode.", - "enum": [ - "NotSpecified", - "Incremental", - "Complete" - ], + "ResourceIdentityType": { "type": "string", - "x-ms-enum": { - "name": "DeploymentMode", - "modelAsString": true - } - }, - "ApplicationManagementMode": { - "description": "The management mode.", + "description": "The identity type.", "enum": [ - "NotSpecified", - "Unmanaged", - "Managed" + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" ], - "type": "string", "x-ms-enum": { - "name": "ApplicationManagementMode", - "modelAsString": true + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "SystemAssigned" + }, + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "UserAssigned" + }, + { + "name": "SystemAssigned, UserAssigned", + "value": "SystemAssigned, UserAssigned", + "description": "SystemAssigned, UserAssigned" + }, + { + "name": "None", + "value": "None", + "description": "None" + } + ] } }, - "UpdateAccessDefinition": { + "Sku": { + "type": "object", + "description": "SKU for the resource.", "properties": { - "approver": { + "name": { "type": "string", - "description": "The approver name." - }, - "metadata": { - "$ref": "#/definitions/JitRequestMetadata", - "description": "The JIT request metadata." - }, - "status": { - "$ref": "#/definitions/Status", - "description": "The JIT status." + "description": "The SKU name." }, - "subStatus": { - "$ref": "#/definitions/SubStatus", - "description": "The JIT status." - } - }, - "required": [ - "metadata", - "status", - "subStatus" - ], - "description": "Update access request definition." - }, - "JitRequestMetadata": { - "properties": { - "originRequestId": { + "tier": { "type": "string", - "description": "The origin request id." + "description": "The SKU tier." }, - "requestorId": { + "size": { "type": "string", - "description": "The requestor id." + "description": "The SKU size." }, - "tenantDisplayName": { + "family": { "type": "string", - "description": "The publisher's tenant name." + "description": "The SKU family." }, - "subjectDisplayName": { + "model": { "type": "string", - "description": "The subject display name." + "description": "The SKU model." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The SKU capacity." } }, - "description": "The JIT request metadata." + "required": [ + "name" + ] }, "Status": { + "type": "string", "description": "The JIT status.", "enum": [ "NotSpecified", "Elevate", "Remove" ], - "type": "string", "x-ms-enum": { "name": "Status", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Elevate", + "value": "Elevate", + "description": "Elevate" + }, + { + "name": "Remove", + "value": "Remove", + "description": "Remove" + } + ] } }, - "SubStatus": { + "Substatus": { + "type": "string", "description": "The sub status.", "enum": [ "NotSpecified", @@ -2812,118 +3346,86 @@ "Expired", "Timeout" ], - "type": "string", "x-ms-enum": { "name": "Substatus", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "NotSpecified" + }, + { + "name": "Approved", + "value": "Approved", + "description": "Approved" + }, + { + "name": "Denied", + "value": "Denied", + "description": "Denied" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed" + }, + { + "name": "Expired", + "value": "Expired", + "description": "Expired" + }, + { + "name": "Timeout", + "value": "Timeout", + "description": "Timeout" + } + ] } }, - "ListTokenRequest": { + "UpdateAccessDefinition": { + "type": "object", + "description": "Update access request definition.", "properties": { - "authorizationAudience": { + "Approver": { "type": "string", - "description": "The authorization audience." + "description": "The approver name." }, - "userAssignedIdentities": { - "description": "The user assigned identities.", - "type": "array", - "items": { - "$ref": "#/definitions/UserAssignedIdentity" - } - } - }, - "description": "List token request body." - }, - "ManagedIdentityTokenResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedIdentityToken" - }, - "description": "The array of managed identity tokens." + "Metadata": { + "$ref": "#/definitions/JitRequestMetadata", + "description": "The JIT request metadata." + }, + "Status": { + "$ref": "#/definitions/Status", + "description": "The JIT status." + }, + "SubStatus": { + "$ref": "#/definitions/Substatus", + "description": "The JIT status." } }, - "description": "The array of managed identity tokens." + "required": [ + "Metadata", + "Status", + "SubStatus" + ] }, - "ManagedIdentityToken": { + "userAssignedResourceIdentity": { + "type": "object", + "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity", "properties": { - "accessToken": { - "type": "string", - "description": "The requested access token." - }, - "expiresIn": { - "type": "string", - "description": "The number of seconds the access token will be valid." - }, - "expiresOn": { - "type": "string", - "description": "The timespan when the access token expires. This is represented as the number of seconds from epoch." - }, - "notBefore": { - "type": "string", - "description": "The timespan when the access token takes effect. This is represented as the number of seconds from epoch." - }, - "authorizationAudience": { - "type": "string", - "description": "The aud (audience) the access token was request for. This is the same as what was provided in the listTokens request." - }, - "resourceId": { + "principalId": { "type": "string", - "description": "The Azure resource ID for the issued token. This is either the managed application ID or the user-assigned identity ID." + "description": "The principal id of user assigned identity.", + "readOnly": true }, - "tokenType": { + "tenantId": { "type": "string", - "description": "The type of the token." - } - }, - "description": "The managed identity token for the managed app resource." - }, - "UserAssignedIdentity": { - "type": "string", - "description": "The fully qualified resource id of user assigned identity." - }, - "AllowedUpgradePlansResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Plan" - }, - "description": "The array of plans." + "description": "The tenant id of user assigned identity.", + "readOnly": true } - }, - "description": "The array of plan." + } } }, - "parameters": { - "ApplicationNameParameter": { - "name": "applicationName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the managed application.", - "minLength": 3, - "maxLength": 64, - "x-ms-parameter-location": "method" - }, - "ApplicationDefinitionNameParameter": { - "name": "applicationDefinitionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the managed application definition.", - "minLength": 3, - "maxLength": 64, - "x-ms-parameter-location": "method" - }, - "JitRequestNameParameter": { - "name": "jitRequestName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the JIT request.", - "x-ms-parameter-location": "method" - } - } + "parameters": {} } diff --git a/specification/solutions/suppressions.yaml b/specification/solutions/suppressions.yaml new file mode 100644 index 000000000000..33dcc98a6381 --- /dev/null +++ b/specification/solutions/suppressions.yaml @@ -0,0 +1,6 @@ +- tool: TypeSpecValidation + rules: [FolderStructure] + sub-rules: [MustUseV2] + reason: Specs added as folder structure v1, not yet converted to v2 + paths: + - Solutions.Management \ No newline at end of file