diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/DeletedFileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/DeletedFileSharesList.json new file mode 100644 index 000000000000..6cb4b6cf9987 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/DeletedFileSharesList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$expand": "deleted", + "api-version": "2019-06-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644_1234567890", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesGet_Stats.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesGet_Stats.json new file mode 100644 index 000000000000..a9efdd6ad550 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesGet_Stats.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "$expand": "stats", + "api-version": "2019-06-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024, + "shareUsageBytes": 652945 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesPut_AccessTier.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesPut_AccessTier.json new file mode 100644 index 000000000000..eb6f38e058f7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesPut_AccessTier.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2019-06-01", + "monitor": "true", + "fileShare": { + "properties": { + "accessTier": "Hot" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesPut_NFS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesPut_NFS.json new file mode 100644 index 000000000000..dfc1bd7b0285 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesPut_NFS.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2019-06-01", + "monitor": "true", + "fileShare": { + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesRestore.json new file mode 100644 index 000000000000..0a53f017d0c0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/FileSharesRestore.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share1249", + "deletedShare": { + "deletedShareName": "share1249", + "deletedShareVersion": "1234567890" + }, + "api-version": "2019-06-01", + "monitor": "true" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json index 10cc15aa9a7e..bba100994b25 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json @@ -164,6 +164,9 @@ "x-ms-examples": { "ListShares": { "$ref": "./examples/FileSharesList.json" + }, + "ListDeletedShares": { + "$ref": "./examples/DeletedFileSharesList.json" } }, "description": "Lists all shares.", @@ -191,6 +194,20 @@ "in": "query", "type": "string", "description": "Optional. When specified, only share names starting with the filter will be listed." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListSharesExpand", + "modelAsString": false + }, + "description": "Optional, used to expand the properties within share's properties." } ], "responses": { @@ -221,6 +238,12 @@ "x-ms-examples": { "PutShares": { "$ref": "./examples/FileSharesPut.json" + }, + "Create NFS Shares": { + "$ref": "./examples/FileSharesPut_NFS.json" + }, + "PutShares with Access Tier": { + "$ref": "./examples/FileSharesPut_AccessTier.json" } }, "description": "Creates a new share under the specified account as described by request body. The share resource includes metadata and properties for that share. It does not include a list of the files contained by the share. ", @@ -332,6 +355,9 @@ "x-ms-examples": { "GetShares": { "$ref": "./examples/FileSharesGet.json" + }, + "GetShareStats": { + "$ref": "./examples/FileSharesGet_Stats.json" } }, "description": "Gets properties of a specified share.", @@ -350,6 +376,20 @@ }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "stats" + ], + "x-ms-enum": { + "name": "GetShareExpand", + "modelAsString": false + }, + "description": "Optional, used to expand the properties within share's properties." } ], "responses": { @@ -410,6 +450,56 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore": { + "post": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Restore", + "x-ms-examples": { + "RestoreShares": { + "$ref": "./examples/FileSharesRestore.json" + } + }, + "description": "Restore a file share within a valid retention days if share soft delete is enabled", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "deletedShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeletedShare" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- The Share is successfully restored." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } } }, "definitions": { @@ -471,6 +561,23 @@ ], "description": "Properties of the file share, including Id, resource name, resource type, Etag." }, + "DeletedShare": { + "properties": { + "deletedShareName": { + "type": "string", + "description": "Required. Identify the name of the deleted share that will be restored." + }, + "deletedShareVersion": { + "type": "string", + "description": "Required. Identify the version of the deleted share that will be restored." + } + }, + "required": [ + "deletedShareName", + "deletedShareVersion" + ], + "description": "The deleted share to be restored." + }, "FileShareItem": { "properties": { "properties": { @@ -524,6 +631,86 @@ "minimum": 1, "maximum": 102400, "description": "The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400." + }, + "enabledProtocols": { + "type": "string", + "enum": [ + "SMB", + "NFS" + ], + "x-ms-enum": { + "name": "EnabledProtocols", + "modelAsString": true + }, + "description": "The authentication protocol that is used for the file share. Can only be specified when creating a share.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "rootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "RootSquashType", + "modelAsString": true + }, + "description": "The property is for NFS share only. The default is NoRootSquash." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the share." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the share was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The deleted time if the share was deleted." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for share that was soft deleted." + }, + "accessTier": { + "type": "string", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + }, + "description": "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium." + }, + "accessTierChangeTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Indicates the last modification time for share access tier." + }, + "accessTierStatus": { + "type": "string", + "readOnly": true, + "description": "Indicates if there is a pending transition for access tier." + }, + "shareUsageBytes": { + "type": "integer", + "readOnly": true, + "description": "The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files." } }, "description": "The properties of the file share."