Share via


Microsoft.Storage storageAccounts/managementPolicies 2018-03-01-preview

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@2018-03-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    policy: any(...)
  }
}

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 The Storage Account ManagementPolicies Rules, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. ManagementPoliciesRulesOrStorageAccountManagementPoliciesRulesProperty

ManagementPoliciesRulesOrStorageAccountManagementPoliciesRulesProperty

Name Description Value
policy The Storage Account ManagementPolicies Rules, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. any

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": "2018-03-01-preview",
  "name": "string",
  "properties": {
    "policy": {}
  }
}

Property Values

Microsoft.Storage/storageAccounts/managementPolicies

Name Description Value
apiVersion The api version '2018-03-01-preview'
name The resource name 'default' (required)
properties The Storage Account ManagementPolicies Rules, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. ManagementPoliciesRulesOrStorageAccountManagementPoliciesRulesProperty
type The resource type 'Microsoft.Storage/storageAccounts/managementPolicies'

ManagementPoliciesRulesOrStorageAccountManagementPoliciesRulesProperty

Name Description Value
policy The Storage Account ManagementPolicies Rules, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. any

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@2018-03-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      policy = ?
    }
  }
}

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 The Storage Account ManagementPolicies Rules, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. ManagementPoliciesRulesOrStorageAccountManagementPoliciesRulesProperty
type The resource type "Microsoft.Storage/storageAccounts/managementPolicies@2018-03-01-preview"

ManagementPoliciesRulesOrStorageAccountManagementPoliciesRulesProperty

Name Description Value
policy The Storage Account ManagementPolicies Rules, in JSON format. See more details in: /azure/storage/common/storage-lifecycle-managment-concepts. any

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    = ["*"]
}