diff --git a/modules/storage-param.bicep b/modules/storage-param.bicep index 8dc60f6..d99e85a 100644 --- a/modules/storage-param.bicep +++ b/modules/storage-param.bicep @@ -19,8 +19,10 @@ var stgName = toLower(paramStorageName) @description('The flag that set the geo-redundant storage.') param geoRedundancy bool = false +@description('The Azure region where the storage account will be created.') param azureRegion string = resourceGroup().location +// Create a storage account resource storageAccount 'Microsoft.Storage/storageAccounts@2021-02-01' = { name: stgName location: azureRegion @@ -30,6 +32,7 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2021-02-01' = { } } +// Lock the storage account resource lockResourceGroup 'Microsoft.Authorization/locks@2016-09-01' = { name: 'DontDelete' scope: storageAccount @@ -38,5 +41,6 @@ resource lockResourceGroup 'Microsoft.Authorization/locks@2016-09-01' = { } } +// Output the storage account ID output storageId string = storageAccount.id // output resourceId of storage account output blobEndpoint string = storageAccount.properties.primaryEndpoints.blob // [reference(cariables('storagename')).properties.primaryEndpoints.blob] diff --git a/modules/storage-w-containers.bicep b/modules/storage-w-containers.bicep index c0bce74..59f6427 100644 --- a/modules/storage-w-containers.bicep +++ b/modules/storage-w-containers.bicep @@ -1,12 +1,17 @@ // storage-w-containers.bicep +@description('Parameter for a storage account name') param storageAccountName string = 'stor${uniqueString(resourceGroup().id)}' + +@description('The name of the container that will be created in the storage account') param containerName string = 'logs' // param inputContainerName string = 'inputs' // param outputContainerName string = 'outputs' +@description('The Azure region where the storage account will be created.') param azureRegion string = resourceGroup().location +// Createa a storage account resource storageAccount 'Microsoft.Storage/storageAccounts@2021-02-01' = { name: storageAccountName location: azureRegion diff --git a/modules/storage-w-loop-containers.bicep b/modules/storage-w-loop-containers.bicep index d566bf1..2254f3e 100644 --- a/modules/storage-w-loop-containers.bicep +++ b/modules/storage-w-loop-containers.bicep @@ -3,15 +3,20 @@ // Add a child resource to parent resource // Add conatiners to the parent blob service from list of values +@description('The prefix that will appear infront of storage account name.') param storageAccountName string = 'ftc${uniqueString(resourceGroup().id)}' + +@description('The Azure region where the storage account will be created.') param azureregion string = resourceGroup().location +@description('The list of containers that will be created in the storage account') var containerNames = [ 'logs' 'inputs' 'outputs' ] +// Creates a storage account resource storageAccount 'Microsoft.Storage/storageAccounts@2021-02-01' = { name: storageAccountName location: azureregion @@ -24,23 +29,24 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2021-02-01' = { } } +// Create a blob service resource myStorageBlobServices 'Microsoft.Storage/storageAccounts/blobServices@2021-06-01' = { name: 'default' parent: storageAccount } +// Creates a container resource myStorageContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2021-06-01' = { name: 'data-log' parent: myStorageBlobServices } -// using enumaration +// Creates containers by using enumaration resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@2021-02-01' = [ for containerName in containerNames: { name: '${storageAccount.name}/default/${containerName}' }] - -// lock the storage account to prevent accidential deletion +// Lock the storage account to prevent accidential deletion resource lockResourceGroup 'Microsoft.Authorization/locks@2016-09-01' = { name: 'DontDelete' scope: storageAccount