From 1b898b1c0f89494156567adf729fb22152d8d296 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 11:17:59 +0100 Subject: [PATCH 01/11] Add premium option to sa tier --- modules/Microsoft.Storage/storageAccounts/deploy.bicep | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/Microsoft.Storage/storageAccounts/deploy.bicep b/modules/Microsoft.Storage/storageAccounts/deploy.bicep index 15ef20f9ab..203d568a76 100644 --- a/modules/Microsoft.Storage/storageAccounts/deploy.bicep +++ b/modules/Microsoft.Storage/storageAccounts/deploy.bicep @@ -40,6 +40,7 @@ param storageAccountSku string = 'Standard_GRS' @allowed([ 'Hot' 'Cool' + 'Premium' ]) @description('Optional. Storage Account Access Tier.') param storageAccountAccessTier string = 'Hot' From 0fbe25e7daa512e54c7b7bb157e8a8912ce894df Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 11:18:06 +0100 Subject: [PATCH 02/11] Test premium tier --- .../.test/minPremium/deploy.test.bicep | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep diff --git a/modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep b/modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep new file mode 100644 index 0000000000..21fd731fb1 --- /dev/null +++ b/modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep @@ -0,0 +1,44 @@ +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // + +@description('Optional. The name of the resource group to deploy for testing purposes.') +@maxLength(90) +param resourceGroupName string = 'ms.storage.storageaccounts-${serviceShort}-rg' + +@description('Optional. The location to deploy resources to.') +param location string = deployment().location + +@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') +param serviceShort string = 'ssaminprem' + +@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +param enableDefaultTelemetry bool = true + +// ============ // +// Dependencies // +// ============ // + +// General resources +// ================= +resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = { + name: resourceGroupName + location: location +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name, location)}-test-${serviceShort}' + params: { + enableDefaultTelemetry: enableDefaultTelemetry + name: '<>${serviceShort}001' + allowBlobPublicAccess: false + storageAccountAccessTier: 'Premium' + } +} From 23822d2dc88d82507fd805ac747c9aada9ffb507 Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Thu, 2 Feb 2023 10:18:48 +0000 Subject: [PATCH 03/11] Push updated Readme file(s) --- docs/wiki/The library - Module overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index afeaa31e20..f89eb86c51 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -123,7 +123,7 @@ This section provides an overview of the library's feature set. | 108 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 156 | | 109 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 348 | | 110 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:7] | 272 | -| 111 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 412 | +| 111 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 413 | | 112 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 90 | | 113 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 273 | | 114 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 197 | @@ -132,7 +132,7 @@ This section provides an overview of the library's feature set. | 117 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | | 118 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3, L2:2] | 380 | | 119 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 193 | -| Sum | | 93 | 91 | 102 | 50 | 23 | 2 | 175 | 20548 | +| Sum | | 93 | 91 | 102 | 50 | 23 | 2 | 175 | 20549 | ## Legend From f74bbd6e1accce19e6b83553a7d3320a4a21e701 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 11:30:56 +0100 Subject: [PATCH 04/11] Revert "Push updated Readme file(s)" This reverts commit 23822d2dc88d82507fd805ac747c9aada9ffb507. --- docs/wiki/The library - Module overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index f89eb86c51..afeaa31e20 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -123,7 +123,7 @@ This section provides an overview of the library's feature set. | 108 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 156 | | 109 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 348 | | 110 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:7] | 272 | -| 111 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 413 | +| 111 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 412 | | 112 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 90 | | 113 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 273 | | 114 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 197 | @@ -132,7 +132,7 @@ This section provides an overview of the library's feature set. | 117 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | | 118 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3, L2:2] | 380 | | 119 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 193 | -| Sum | | 93 | 91 | 102 | 50 | 23 | 2 | 175 | 20549 | +| Sum | | 93 | 91 | 102 | 50 | 23 | 2 | 175 | 20548 | ## Legend From 12989d0171ca22c96134068c72b2618d53e2ac45 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 11:31:02 +0100 Subject: [PATCH 05/11] Revert "Test premium tier" This reverts commit 0fbe25e7daa512e54c7b7bb157e8a8912ce894df. --- .../.test/minPremium/deploy.test.bicep | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep diff --git a/modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep b/modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep deleted file mode 100644 index 21fd731fb1..0000000000 --- a/modules/Microsoft.Storage/storageAccounts/.test/minPremium/deploy.test.bicep +++ /dev/null @@ -1,44 +0,0 @@ -targetScope = 'subscription' - -// ========== // -// Parameters // -// ========== // - -@description('Optional. The name of the resource group to deploy for testing purposes.') -@maxLength(90) -param resourceGroupName string = 'ms.storage.storageaccounts-${serviceShort}-rg' - -@description('Optional. The location to deploy resources to.') -param location string = deployment().location - -@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') -param serviceShort string = 'ssaminprem' - -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') -param enableDefaultTelemetry bool = true - -// ============ // -// Dependencies // -// ============ // - -// General resources -// ================= -resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = { - name: resourceGroupName - location: location -} - -// ============== // -// Test Execution // -// ============== // - -module testDeployment '../../deploy.bicep' = { - scope: resourceGroup - name: '${uniqueString(deployment().name, location)}-test-${serviceShort}' - params: { - enableDefaultTelemetry: enableDefaultTelemetry - name: '<>${serviceShort}001' - allowBlobPublicAccess: false - storageAccountAccessTier: 'Premium' - } -} From e185fd1b38db275b61398620f8864d80ae0da47d Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 11:31:33 +0100 Subject: [PATCH 06/11] Revert "Add premium option to sa tier" This reverts commit 1b898b1c0f89494156567adf729fb22152d8d296. --- modules/Microsoft.Storage/storageAccounts/deploy.bicep | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/Microsoft.Storage/storageAccounts/deploy.bicep b/modules/Microsoft.Storage/storageAccounts/deploy.bicep index 203d568a76..15ef20f9ab 100644 --- a/modules/Microsoft.Storage/storageAccounts/deploy.bicep +++ b/modules/Microsoft.Storage/storageAccounts/deploy.bicep @@ -40,7 +40,6 @@ param storageAccountSku string = 'Standard_GRS' @allowed([ 'Hot' 'Cool' - 'Premium' ]) @description('Optional. Storage Account Access Tier.') param storageAccountAccessTier string = 'Hot' From 78a8536558e1a3195bd7cd7ffb067ad25583e1a1 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 11:35:08 +0100 Subject: [PATCH 07/11] Add premium option to sa tier with test --- .../.test/minPrem/deploy.test.bicep | 44 +++++++++++++++++++ .../storageAccounts/deploy.bicep | 1 + 2 files changed, 45 insertions(+) create mode 100644 modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep diff --git a/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep b/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep new file mode 100644 index 0000000000..69256c5072 --- /dev/null +++ b/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep @@ -0,0 +1,44 @@ +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // + +@description('Optional. The name of the resource group to deploy for testing purposes.') +@maxLength(90) +param resourceGroupName string = 'ms.storage.storageaccounts-${serviceShort}-rg' + +@description('Optional. The location to deploy resources to.') +param location string = deployment().location + +@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') +param serviceShort string = 'ssamin' + +@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +param enableDefaultTelemetry bool = true + +// ============ // +// Dependencies // +// ============ // + +// General resources +// ================= +resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = { + name: resourceGroupName + location: location +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name, location)}-test-${serviceShort}' + params: { + enableDefaultTelemetry: enableDefaultTelemetry + name: '<>${serviceShort}001' + allowBlobPublicAccess: false + storageAccountAccessTier: 'Premium' + } +} diff --git a/modules/Microsoft.Storage/storageAccounts/deploy.bicep b/modules/Microsoft.Storage/storageAccounts/deploy.bicep index 15ef20f9ab..9a05b78792 100644 --- a/modules/Microsoft.Storage/storageAccounts/deploy.bicep +++ b/modules/Microsoft.Storage/storageAccounts/deploy.bicep @@ -38,6 +38,7 @@ param storageAccountKind string = 'StorageV2' param storageAccountSku string = 'Standard_GRS' @allowed([ + 'Premium' 'Hot' 'Cool' ]) From 18653a1cd5644e552c39e4cab98fcbebe40a049c Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 13:08:31 +0100 Subject: [PATCH 08/11] Update readme --- .../storageAccounts/readme.md | 59 ++++++++++++++++++- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/modules/Microsoft.Storage/storageAccounts/readme.md b/modules/Microsoft.Storage/storageAccounts/readme.md index 05918834f8..44610d0902 100644 --- a/modules/Microsoft.Storage/storageAccounts/readme.md +++ b/modules/Microsoft.Storage/storageAccounts/readme.md @@ -89,7 +89,7 @@ This module is used to deploy a storage account, with the ability to deploy 1 or | `queueServices` | _[queueServices](queueServices/readme.md)_ object | `{object}` | | Queue service and queues to create. | | `requireInfrastructureEncryption` | bool | `True` | | A Boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest. For security reasons, it is recommended to set it to true. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `storageAccountAccessTier` | string | `'Hot'` | `[Cool, Hot]` | Storage Account Access Tier. | +| `storageAccountAccessTier` | string | `'Hot'` | `[Cool, Hot, Premium]` | Storage Account Access Tier. | | `storageAccountKind` | string | `'StorageV2'` | `[BlobStorage, BlockBlobStorage, FileStorage, Storage, StorageV2]` | Type of Storage Account to create. | | `storageAccountSku` | string | `'Standard_GRS'` | `[Premium_LRS, Premium_ZRS, Standard_GRS, Standard_GZRS, Standard_LRS, Standard_RAGRS, Standard_RAGZRS, Standard_ZRS]` | Storage Account Sku Name. | | `supportsHttpsTrafficOnly` | bool | `True` | | Allows HTTPS traffic only to storage service if sets to true. | @@ -1011,7 +1011,60 @@ module storageAccounts './Microsoft.Storage/storageAccounts/deploy.bicep' = {

-

Example 4: Nfs

+

Example 4: Minprem

+ +
+ +via Bicep module + +```bicep +module storageAccounts './Microsoft.Storage/storageAccounts/deploy.bicep' = { + name: '${uniqueString(deployment().name, location)}-test-ssamin' + params: { + // Required parameters + name: '<>ssamin001' + // Non-required parameters + allowBlobPublicAccess: false + enableDefaultTelemetry: '' + storageAccountAccessTier: 'Premium' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + // Required parameters + "name": { + "value": "<>ssamin001" + }, + // Non-required parameters + "allowBlobPublicAccess": { + "value": false + }, + "enableDefaultTelemetry": { + "value": "" + }, + "storageAccountAccessTier": { + "value": "Premium" + } + } +} +``` + +
+

+ +

Example 5: Nfs

@@ -1146,7 +1199,7 @@ module storageAccounts './Microsoft.Storage/storageAccounts/deploy.bicep' = {

-

Example 5: V1

+

Example 6: V1

From 842159830343172dec07fc0c4cbe61a860498c0d Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 2 Feb 2023 14:06:02 +0100 Subject: [PATCH 09/11] update shortname --- .../storageAccounts/.test/minPrem/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep b/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep index 69256c5072..21fd731fb1 100644 --- a/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep +++ b/modules/Microsoft.Storage/storageAccounts/.test/minPrem/deploy.test.bicep @@ -12,7 +12,7 @@ param resourceGroupName string = 'ms.storage.storageaccounts-${serviceShort}-rg' param location string = deployment().location @description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') -param serviceShort string = 'ssamin' +param serviceShort string = 'ssaminprem' @description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true From 21ef2702fc33dac3ccc339e902ce37f878189e20 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 6 Feb 2023 09:23:07 +0100 Subject: [PATCH 10/11] Fix for readme --- modules/Microsoft.Storage/storageAccounts/readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/Microsoft.Storage/storageAccounts/readme.md b/modules/Microsoft.Storage/storageAccounts/readme.md index 44610d0902..1a3c15b09e 100644 --- a/modules/Microsoft.Storage/storageAccounts/readme.md +++ b/modules/Microsoft.Storage/storageAccounts/readme.md @@ -55,7 +55,7 @@ This module is used to deploy a storage account, with the ability to deploy 1 or | :-- | :-- | :-- | :-- | :-- | | `allowBlobPublicAccess` | bool | `False` | | Indicates whether public access is enabled for all blobs or containers in the storage account. For security reasons, it is recommended to set it to false. | | `allowCrossTenantReplication` | bool | `True` | | Allow or disallow cross AAD tenant object replication. | -| `allowedCopyScope` | string | `''` | `['', AAD, PrivateLink]` | Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. | +| `allowedCopyScope` | string | `''` | `['', PrivateLink, AAD]` | Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. | | `allowSharedKeyAccess` | bool | `True` | | Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true. | | `azureFilesIdentityBasedAuthentication` | object | `{object}` | | Provides the identity based authentication settings for Azure Files. | | `blobServices` | _[blobServices](blobServices/readme.md)_ object | `{object}` | | Blob service and containers to deploy. | @@ -1019,10 +1019,10 @@ module storageAccounts './Microsoft.Storage/storageAccounts/deploy.bicep' = { ```bicep module storageAccounts './Microsoft.Storage/storageAccounts/deploy.bicep' = { - name: '${uniqueString(deployment().name, location)}-test-ssamin' + name: '${uniqueString(deployment().name, location)}-test-ssaminprem' params: { // Required parameters - name: '<>ssamin001' + name: '<>ssaminprem001' // Non-required parameters allowBlobPublicAccess: false enableDefaultTelemetry: '' @@ -1045,7 +1045,7 @@ module storageAccounts './Microsoft.Storage/storageAccounts/deploy.bicep' = { "parameters": { // Required parameters "name": { - "value": "<>ssamin001" + "value": "<>ssaminprem001" }, // Non-required parameters "allowBlobPublicAccess": { From 00804d9269a8e36b0063930e227b50feac51b482 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 6 Feb 2023 09:32:53 +0100 Subject: [PATCH 11/11] fix --- modules/Microsoft.Storage/storageAccounts/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Storage/storageAccounts/readme.md b/modules/Microsoft.Storage/storageAccounts/readme.md index 1a3c15b09e..3dffb13ea2 100644 --- a/modules/Microsoft.Storage/storageAccounts/readme.md +++ b/modules/Microsoft.Storage/storageAccounts/readme.md @@ -55,7 +55,7 @@ This module is used to deploy a storage account, with the ability to deploy 1 or | :-- | :-- | :-- | :-- | :-- | | `allowBlobPublicAccess` | bool | `False` | | Indicates whether public access is enabled for all blobs or containers in the storage account. For security reasons, it is recommended to set it to false. | | `allowCrossTenantReplication` | bool | `True` | | Allow or disallow cross AAD tenant object replication. | -| `allowedCopyScope` | string | `''` | `['', PrivateLink, AAD]` | Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. | +| `allowedCopyScope` | string | `''` | `['', AAD, PrivateLink]` | Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. | | `allowSharedKeyAccess` | bool | `True` | | Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true. | | `azureFilesIdentityBasedAuthentication` | object | `{object}` | | Provides the identity based authentication settings for Azure Files. | | `blobServices` | _[blobServices](blobServices/readme.md)_ object | `{object}` | | Blob service and containers to deploy. |