diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json new file mode 100644 index 000000000000..621aacc539ee --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json @@ -0,0 +1,321 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get all storages for a managedEnvironment.", + "description": "Get all storages for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStoragesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages/{name}": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get storage for a managedEnvironment.", + "description": "Get storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "get a environments storage properties by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Create or update storage for a managedEnvironment.", + "description": "Create or update storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "name": "storageEnvelope", + "in": "body", + "description": "Configuration details of storage.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update environments storage": { + "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Delete storage for a managedEnvironment.", + "description": "Delete storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Storage does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Delete.json" + } + } + } + } + }, + "definitions": { + "AzureFileProperties": { + "description": "Azure File Properties.", + "type": "object", + "properties": { + "accountName": { + "description": "Storage account name for azure file.", + "type": "string" + }, + "accountKey": { + "description": "Storage account key for azure file.", + "type": "string", + "x-ms-secret": true + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + }, + "shareName": { + "description": "Azure file share name.", + "type": "string" + } + } + }, + "ManagedEnvironmentStoragesCollection": { + "description": "Collection of Storage for Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of storage resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + } + } + }, + "ManagedEnvironmentStorage": { + "description": "Storage resource for managedEnvironment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "#/definitions/AzureFileProperties", + "description": "Azure file properties" + } + } + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..0b7eec3a2c2f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview", + "storageEnvelope": { + "properties": { + "azureFile": { + "accountName": "account1", + "accountKey": "key", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..54eeba3bf4cf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..c185a05cd353 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..bfc6a88b3d6a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md index f04ff08b1950..8b52dbebe77f 100644 --- a/specification/app/resource-manager/readme.md +++ b/specification/app/resource-manager/readme.md @@ -41,6 +41,7 @@ input-file: - Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json - Microsoft.App/preview/2022-01-01-preview/Global.json - Microsoft.App/preview/2022-01-01-preview/SourceControls.json + - Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json directive: - suppress: R4009 from: ContainerAppsRevisions.json