Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.
Resource format
To create a Microsoft.Storage/storageAccounts/managementPolicies resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Storage/storageAccounts/managementPolicies@2023-01-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
policy: {
rules: [
{
definition: {
actions: {
baseBlob: {
delete: {
daysAfterCreationGreaterThan: int
daysAfterLastAccessTimeGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
daysAfterModificationGreaterThan: int
}
enableAutoTierToHotFromCool: bool
tierToArchive: {
daysAfterCreationGreaterThan: int
daysAfterLastAccessTimeGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
daysAfterModificationGreaterThan: int
}
tierToCold: {
daysAfterCreationGreaterThan: int
daysAfterLastAccessTimeGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
daysAfterModificationGreaterThan: int
}
tierToCool: {
daysAfterCreationGreaterThan: int
daysAfterLastAccessTimeGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
daysAfterModificationGreaterThan: int
}
tierToHot: {
daysAfterCreationGreaterThan: int
daysAfterLastAccessTimeGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
daysAfterModificationGreaterThan: int
}
}
snapshot: {
delete: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToArchive: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToCold: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToCool: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToHot: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
}
version: {
delete: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToArchive: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToCold: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToCool: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
tierToHot: {
daysAfterCreationGreaterThan: int
daysAfterLastTierChangeGreaterThan: int
}
}
}
filters: {
blobIndexMatch: [
{
name: 'string'
op: 'string'
value: 'string'
}
]
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) |
| daysAfterLastTierChangeGreaterThan | Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob version based actions. The blob will be archived if both the conditions are satisfied. | int Constraints: Min value = 0 |
DateAfterModification
| Name | Description | Value |
|---|---|---|
| daysAfterCreationGreaterThan | Value indicating the age in days after blob creation. | int Constraints: Min value = 0 |
| daysAfterLastAccessTimeGreaterThan | Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy | int Constraints: Min value = 0 |
| daysAfterLastTierChangeGreaterThan | Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied. | int Constraints: Min value = 0 |
| daysAfterModificationGreaterThan | Value indicating the age in days after last modification | int Constraints: Min value = 0 |
ManagementPolicyAction
| Name | Description | Value |
|---|---|---|
| baseBlob | The management policy action for base blob | ManagementPolicyBaseBlob |
| snapshot | The management policy action for snapshot | ManagementPolicySnapShot |
| version | The management policy action for version | ManagementPolicyVersion |
ManagementPolicyBaseBlob
| Name | Description | Value |
|---|---|---|
| delete | The function to delete the blob | DateAfterModification |
| enableAutoTierToHotFromCool | This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan. | bool |
| tierToArchive | The function to tier blobs to archive storage. | DateAfterModification |
| tierToCold | The function to tier blobs to cold storage. | DateAfterModification |
| tierToCool | The function to tier blobs to cool storage. | DateAfterModification |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterModification |
ManagementPolicyDefinition
| Name | Description | Value |
|---|---|---|
| actions | An object that defines the action set. | ManagementPolicyAction (required) |
| filters | An object that defines the filter set. | ManagementPolicyFilter |
ManagementPolicyFilter
| Name | Description | Value |
|---|---|---|
| blobIndexMatch | An array of blob index tag based filters, there can be at most 10 tag filters | TagFilter[] |
| blobTypes | An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob. | 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 |
| tierToArchive | The function to tier blob snapshot to archive storage. | DateAfterCreation |
| tierToCold | The function to tier blobs to cold storage. | DateAfterCreation |
| tierToCool | The function to tier blob snapshot to cool storage. | DateAfterCreation |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterCreation |
ManagementPolicyVersion
| Name | Description | Value |
|---|---|---|
| delete | The function to delete the blob version | DateAfterCreation |
| tierToArchive | The function to tier blob version to archive storage. | DateAfterCreation |
| tierToCold | The function to tier blobs to cold storage. | DateAfterCreation |
| tierToCool | The function to tier blob version to cool storage. | DateAfterCreation |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterCreation |
TagFilter
| Name | Description | Value |
|---|---|---|
| name | This is the filter tag name, it can have 1 - 128 characters | string Constraints: Min length = 1 Max length = 128 (required) |
| op | This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported | string (required) |
| value | This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters | string Constraints: Max length = 256 (required) |
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.
Resource format
To create a Microsoft.Storage/storageAccounts/managementPolicies resource, add the following JSON to your template.
{
"type": "Microsoft.Storage/storageAccounts/managementPolicies",
"apiVersion": "2023-01-01",
"name": "string",
"properties": {
"policy": {
"rules": [
{
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastAccessTimeGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int",
"daysAfterModificationGreaterThan": "int"
},
"enableAutoTierToHotFromCool": "bool",
"tierToArchive": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastAccessTimeGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int",
"daysAfterModificationGreaterThan": "int"
},
"tierToCold": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastAccessTimeGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int",
"daysAfterModificationGreaterThan": "int"
},
"tierToCool": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastAccessTimeGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int",
"daysAfterModificationGreaterThan": "int"
},
"tierToHot": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastAccessTimeGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int",
"daysAfterModificationGreaterThan": "int"
}
},
"snapshot": {
"delete": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToArchive": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToCold": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToCool": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToHot": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
}
},
"version": {
"delete": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToArchive": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToCold": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToCool": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
},
"tierToHot": {
"daysAfterCreationGreaterThan": "int",
"daysAfterLastTierChangeGreaterThan": "int"
}
}
},
"filters": {
"blobIndexMatch": [
{
"name": "string",
"op": "string",
"value": "string"
}
],
"blobTypes": [ "string" ],
"prefixMatch": [ "string" ]
}
},
"enabled": "bool",
"name": "string",
"type": "string"
}
]
}
}
}
Property Values
Microsoft.Storage/storageAccounts/managementPolicies
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2023-01-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) |
| daysAfterLastTierChangeGreaterThan | Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob version based actions. The blob will be archived if both the conditions are satisfied. | int Constraints: Min value = 0 |
DateAfterModification
| Name | Description | Value |
|---|---|---|
| daysAfterCreationGreaterThan | Value indicating the age in days after blob creation. | int Constraints: Min value = 0 |
| daysAfterLastAccessTimeGreaterThan | Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy | int Constraints: Min value = 0 |
| daysAfterLastTierChangeGreaterThan | Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied. | int Constraints: Min value = 0 |
| daysAfterModificationGreaterThan | Value indicating the age in days after last modification | int Constraints: Min value = 0 |
ManagementPolicyAction
| Name | Description | Value |
|---|---|---|
| baseBlob | The management policy action for base blob | ManagementPolicyBaseBlob |
| snapshot | The management policy action for snapshot | ManagementPolicySnapShot |
| version | The management policy action for version | ManagementPolicyVersion |
ManagementPolicyBaseBlob
| Name | Description | Value |
|---|---|---|
| delete | The function to delete the blob | DateAfterModification |
| enableAutoTierToHotFromCool | This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan. | bool |
| tierToArchive | The function to tier blobs to archive storage. | DateAfterModification |
| tierToCold | The function to tier blobs to cold storage. | DateAfterModification |
| tierToCool | The function to tier blobs to cool storage. | DateAfterModification |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterModification |
ManagementPolicyDefinition
| Name | Description | Value |
|---|---|---|
| actions | An object that defines the action set. | ManagementPolicyAction (required) |
| filters | An object that defines the filter set. | ManagementPolicyFilter |
ManagementPolicyFilter
| Name | Description | Value |
|---|---|---|
| blobIndexMatch | An array of blob index tag based filters, there can be at most 10 tag filters | TagFilter[] |
| blobTypes | An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob. | 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 |
| tierToArchive | The function to tier blob snapshot to archive storage. | DateAfterCreation |
| tierToCold | The function to tier blobs to cold storage. | DateAfterCreation |
| tierToCool | The function to tier blob snapshot to cool storage. | DateAfterCreation |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterCreation |
ManagementPolicyVersion
| Name | Description | Value |
|---|---|---|
| delete | The function to delete the blob version | DateAfterCreation |
| tierToArchive | The function to tier blob version to archive storage. | DateAfterCreation |
| tierToCold | The function to tier blobs to cold storage. | DateAfterCreation |
| tierToCool | The function to tier blob version to cool storage. | DateAfterCreation |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterCreation |
TagFilter
| Name | Description | Value |
|---|---|---|
| name | This is the filter tag name, it can have 1 - 128 characters | string Constraints: Min length = 1 Max length = 128 (required) |
| op | This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported | string (required) |
| value | This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters | string Constraints: Max length = 256 (required) |
Usage Examples
Terraform (AzAPI provider) 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.
Resource format
To create a Microsoft.Storage/storageAccounts/managementPolicies resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Storage/storageAccounts/managementPolicies@2023-01-01"
name = "string"
parent_id = "string"
body = {
properties = {
policy = {
rules = [
{
definition = {
actions = {
baseBlob = {
delete = {
daysAfterCreationGreaterThan = int
daysAfterLastAccessTimeGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
daysAfterModificationGreaterThan = int
}
enableAutoTierToHotFromCool = bool
tierToArchive = {
daysAfterCreationGreaterThan = int
daysAfterLastAccessTimeGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
daysAfterModificationGreaterThan = int
}
tierToCold = {
daysAfterCreationGreaterThan = int
daysAfterLastAccessTimeGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
daysAfterModificationGreaterThan = int
}
tierToCool = {
daysAfterCreationGreaterThan = int
daysAfterLastAccessTimeGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
daysAfterModificationGreaterThan = int
}
tierToHot = {
daysAfterCreationGreaterThan = int
daysAfterLastAccessTimeGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
daysAfterModificationGreaterThan = int
}
}
snapshot = {
delete = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToArchive = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToCold = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToCool = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToHot = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
}
version = {
delete = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToArchive = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToCold = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToCool = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
tierToHot = {
daysAfterCreationGreaterThan = int
daysAfterLastTierChangeGreaterThan = int
}
}
}
filters = {
blobIndexMatch = [
{
name = "string"
op = "string"
value = "string"
}
]
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@2023-01-01" |
DateAfterCreation
| Name | Description | Value |
|---|---|---|
| daysAfterCreationGreaterThan | Value indicating the age in days after creation | int Constraints: Min value = 0 (required) |
| daysAfterLastTierChangeGreaterThan | Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob version based actions. The blob will be archived if both the conditions are satisfied. | int Constraints: Min value = 0 |
DateAfterModification
| Name | Description | Value |
|---|---|---|
| daysAfterCreationGreaterThan | Value indicating the age in days after blob creation. | int Constraints: Min value = 0 |
| daysAfterLastAccessTimeGreaterThan | Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy | int Constraints: Min value = 0 |
| daysAfterLastTierChangeGreaterThan | Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied. | int Constraints: Min value = 0 |
| daysAfterModificationGreaterThan | Value indicating the age in days after last modification | int Constraints: Min value = 0 |
ManagementPolicyAction
| Name | Description | Value |
|---|---|---|
| baseBlob | The management policy action for base blob | ManagementPolicyBaseBlob |
| snapshot | The management policy action for snapshot | ManagementPolicySnapShot |
| version | The management policy action for version | ManagementPolicyVersion |
ManagementPolicyBaseBlob
| Name | Description | Value |
|---|---|---|
| delete | The function to delete the blob | DateAfterModification |
| enableAutoTierToHotFromCool | This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan. | bool |
| tierToArchive | The function to tier blobs to archive storage. | DateAfterModification |
| tierToCold | The function to tier blobs to cold storage. | DateAfterModification |
| tierToCool | The function to tier blobs to cool storage. | DateAfterModification |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterModification |
ManagementPolicyDefinition
| Name | Description | Value |
|---|---|---|
| actions | An object that defines the action set. | ManagementPolicyAction (required) |
| filters | An object that defines the filter set. | ManagementPolicyFilter |
ManagementPolicyFilter
| Name | Description | Value |
|---|---|---|
| blobIndexMatch | An array of blob index tag based filters, there can be at most 10 tag filters | TagFilter[] |
| blobTypes | An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob. | 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 |
| tierToArchive | The function to tier blob snapshot to archive storage. | DateAfterCreation |
| tierToCold | The function to tier blobs to cold storage. | DateAfterCreation |
| tierToCool | The function to tier blob snapshot to cool storage. | DateAfterCreation |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterCreation |
ManagementPolicyVersion
| Name | Description | Value |
|---|---|---|
| delete | The function to delete the blob version | DateAfterCreation |
| tierToArchive | The function to tier blob version to archive storage. | DateAfterCreation |
| tierToCold | The function to tier blobs to cold storage. | DateAfterCreation |
| tierToCool | The function to tier blob version to cool storage. | DateAfterCreation |
| tierToHot | The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts | DateAfterCreation |
TagFilter
| Name | Description | Value |
|---|---|---|
| name | This is the filter tag name, it can have 1 - 128 characters | string Constraints: Min length = 1 Max length = 128 (required) |
| op | This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported | string (required) |
| value | This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters | string Constraints: Max length = 256 (required) |
Usage Examples
Terraform Samples
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 = ["*"]
}