Bicep resource definition
The storageAccounts/managementPolicies resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Storage/storageAccounts/managementPolicies resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Storage/storageAccounts/managementPolicies@2019-04-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
policy: {
rules: [
{
definition: {
actions: {
baseBlob: {
delete: {
daysAfterModificationGreaterThan: int
}
tierToArchive: {
daysAfterModificationGreaterThan: int
}
tierToCool: {
daysAfterModificationGreaterThan: int
}
}
snapshot: {
delete: {
daysAfterCreationGreaterThan: int
}
}
}
filters: {
blobTypes: [
'string'
]
prefixMatch: [
'string'
]
}
}
enabled: bool
name: 'string'
type: 'string'
}
]
}
}
}
Property Values
Microsoft.Storage/storageAccounts/managementPolicies
| Name |
Description |
Value |
| name |
The resource name |
'default' (required) |
| parent |
In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.
For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: storageAccounts |
| properties |
Returns the Storage Account Data Policies Rules. |
ManagementPolicyProperties |
DateAfterCreation
| Name |
Description |
Value |
| daysAfterCreationGreaterThan |
Value indicating the age in days after creation |
int
Constraints: Min value = 0 (required) |
DateAfterModification
| Name |
Description |
Value |
| daysAfterModificationGreaterThan |
Value indicating the age in days after last modification |
int
Constraints: Min value = 0 (required) |
ManagementPolicyAction
ManagementPolicyBaseBlob
| Name |
Description |
Value |
| delete |
The function to delete the blob |
DateAfterModification |
| tierToArchive |
The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier |
DateAfterModification |
| tierToCool |
The function to tier blobs to cool storage. Support blobs currently at Hot tier |
DateAfterModification |
ManagementPolicyDefinition
ManagementPolicyFilter
| Name |
Description |
Value |
| blobTypes |
An array of predefined enum values. Only blockBlob is supported. |
string[] (required) |
| prefixMatch |
An array of strings for prefixes to be match. |
string[] |
ManagementPolicyProperties
| Name |
Description |
Value |
| policy |
The Storage Account ManagementPolicy, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. |
ManagementPolicySchema (required) |
ManagementPolicyRule
| Name |
Description |
Value |
| definition |
An object that defines the Lifecycle rule. |
ManagementPolicyDefinition (required) |
| enabled |
Rule is enabled if set to true. |
bool |
| name |
A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy. |
string (required) |
| type |
The valid value is Lifecycle |
'Lifecycle' (required) |
ManagementPolicySchema
| Name |
Description |
Value |
| rules |
The Storage Account ManagementPolicies Rules. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. |
ManagementPolicyRule[] (required) |
ManagementPolicySnapShot
| Name |
Description |
Value |
| delete |
The function to delete the blob snapshot |
DateAfterCreation |
ARM template resource definition
The storageAccounts/managementPolicies resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Storage/storageAccounts/managementPolicies resource, add the following JSON to your template.
{
"type": "Microsoft.Storage/storageAccounts/managementPolicies",
"apiVersion": "2019-04-01",
"name": "string",
"properties": {
"policy": {
"rules": [
{
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": "int"
},
"tierToArchive": {
"daysAfterModificationGreaterThan": "int"
},
"tierToCool": {
"daysAfterModificationGreaterThan": "int"
}
},
"snapshot": {
"delete": {
"daysAfterCreationGreaterThan": "int"
}
}
},
"filters": {
"blobTypes": [ "string" ],
"prefixMatch": [ "string" ]
}
},
"enabled": "bool",
"name": "string",
"type": "string"
}
]
}
}
}
Property Values
Microsoft.Storage/storageAccounts/managementPolicies
| Name |
Description |
Value |
| apiVersion |
The api version |
'2019-04-01' |
| name |
The resource name |
'default' (required) |
| properties |
Returns the Storage Account Data Policies Rules. |
ManagementPolicyProperties |
| type |
The resource type |
'Microsoft.Storage/storageAccounts/managementPolicies' |
DateAfterCreation
| Name |
Description |
Value |
| daysAfterCreationGreaterThan |
Value indicating the age in days after creation |
int
Constraints: Min value = 0 (required) |
DateAfterModification
| Name |
Description |
Value |
| daysAfterModificationGreaterThan |
Value indicating the age in days after last modification |
int
Constraints: Min value = 0 (required) |
ManagementPolicyAction
ManagementPolicyBaseBlob
| Name |
Description |
Value |
| delete |
The function to delete the blob |
DateAfterModification |
| tierToArchive |
The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier |
DateAfterModification |
| tierToCool |
The function to tier blobs to cool storage. Support blobs currently at Hot tier |
DateAfterModification |
ManagementPolicyDefinition
ManagementPolicyFilter
| Name |
Description |
Value |
| blobTypes |
An array of predefined enum values. Only blockBlob is supported. |
string[] (required) |
| prefixMatch |
An array of strings for prefixes to be match. |
string[] |
ManagementPolicyProperties
| Name |
Description |
Value |
| policy |
The Storage Account ManagementPolicy, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. |
ManagementPolicySchema (required) |
ManagementPolicyRule
| Name |
Description |
Value |
| definition |
An object that defines the Lifecycle rule. |
ManagementPolicyDefinition (required) |
| enabled |
Rule is enabled if set to true. |
bool |
| name |
A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy. |
string (required) |
| type |
The valid value is Lifecycle |
'Lifecycle' (required) |
ManagementPolicySchema
| Name |
Description |
Value |
| rules |
The Storage Account ManagementPolicies Rules. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. |
ManagementPolicyRule[] (required) |
ManagementPolicySnapShot
| Name |
Description |
Value |
| delete |
The function to delete the blob snapshot |
DateAfterCreation |
Usage Examples
The storageAccounts/managementPolicies resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Storage/storageAccounts/managementPolicies resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Storage/storageAccounts/managementPolicies@2019-04-01"
name = "string"
parent_id = "string"
body = {
properties = {
policy = {
rules = [
{
definition = {
actions = {
baseBlob = {
delete = {
daysAfterModificationGreaterThan = int
}
tierToArchive = {
daysAfterModificationGreaterThan = int
}
tierToCool = {
daysAfterModificationGreaterThan = int
}
}
snapshot = {
delete = {
daysAfterCreationGreaterThan = int
}
}
}
filters = {
blobTypes = [
"string"
]
prefixMatch = [
"string"
]
}
}
enabled = bool
name = "string"
type = "string"
}
]
}
}
}
}
Property Values
Microsoft.Storage/storageAccounts/managementPolicies
| Name |
Description |
Value |
| name |
The resource name |
'default' (required) |
| parent_id |
The ID of the resource that is the parent for this resource. |
ID for resource of type: storageAccounts |
| properties |
Returns the Storage Account Data Policies Rules. |
ManagementPolicyProperties |
| type |
The resource type |
"Microsoft.Storage/storageAccounts/managementPolicies@2019-04-01" |
DateAfterCreation
| Name |
Description |
Value |
| daysAfterCreationGreaterThan |
Value indicating the age in days after creation |
int
Constraints: Min value = 0 (required) |
DateAfterModification
| Name |
Description |
Value |
| daysAfterModificationGreaterThan |
Value indicating the age in days after last modification |
int
Constraints: Min value = 0 (required) |
ManagementPolicyAction
ManagementPolicyBaseBlob
| Name |
Description |
Value |
| delete |
The function to delete the blob |
DateAfterModification |
| tierToArchive |
The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier |
DateAfterModification |
| tierToCool |
The function to tier blobs to cool storage. Support blobs currently at Hot tier |
DateAfterModification |
ManagementPolicyDefinition
ManagementPolicyFilter
| Name |
Description |
Value |
| blobTypes |
An array of predefined enum values. Only blockBlob is supported. |
string[] (required) |
| prefixMatch |
An array of strings for prefixes to be match. |
string[] |
ManagementPolicyProperties
| Name |
Description |
Value |
| policy |
The Storage Account ManagementPolicy, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. |
ManagementPolicySchema (required) |
ManagementPolicyRule
| Name |
Description |
Value |
| definition |
An object that defines the Lifecycle rule. |
ManagementPolicyDefinition (required) |
| enabled |
Rule is enabled if set to true. |
bool |
| name |
A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy. |
string (required) |
| type |
The valid value is Lifecycle |
'Lifecycle' (required) |
ManagementPolicySchema
| Name |
Description |
Value |
| rules |
The Storage Account ManagementPolicies Rules. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. |
ManagementPolicyRule[] (required) |
ManagementPolicySnapShot
| Name |
Description |
Value |
| delete |
The function to delete the blob snapshot |
DateAfterCreation |
Usage Examples
A basic example of deploying Azure Storage Account Management Policy.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "storageAccount" {
type = "Microsoft.Storage/storageAccounts@2021-09-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
kind = "BlobStorage"
properties = {
accessTier = "Hot"
allowBlobPublicAccess = true
allowCrossTenantReplication = true
allowSharedKeyAccess = true
defaultToOAuthAuthentication = false
encryption = {
keySource = "Microsoft.Storage"
services = {
queue = {
keyType = "Service"
}
table = {
keyType = "Service"
}
}
}
isHnsEnabled = false
isNfsV3Enabled = false
isSftpEnabled = false
minimumTlsVersion = "TLS1_2"
networkAcls = {
defaultAction = "Allow"
}
publicNetworkAccess = "Enabled"
supportsHttpsTrafficOnly = true
}
sku = {
name = "Standard_LRS"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "managementPolicy" {
type = "Microsoft.Storage/storageAccounts/managementPolicies@2021-09-01"
parent_id = azapi_resource.storageAccount.id
name = "default"
body = {
properties = {
policy = {
rules = [
{
definition = {
actions = {
baseBlob = {
delete = {
daysAfterModificationGreaterThan = 100
}
tierToArchive = {
daysAfterModificationGreaterThan = 50
}
tierToCool = {
daysAfterModificationGreaterThan = 10
}
}
snapshot = {
delete = {
daysAfterCreationGreaterThan = 30
}
}
}
filters = {
blobTypes = [
"blockBlob",
]
prefixMatch = [
"container1/prefix1",
]
}
}
enabled = true
name = "rule-1"
type = "Lifecycle"
},
]
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}