https://pulumi.com logo
Title
b

bumpy-byte-21437

10/06/2020, 12:45 PM
import pulumi
config = pulumi.Config()
import pulumi_azure_nextgen as azure

#----------------------------------------------------------------------------------------
# Resourcegroups
#----------------------------------------------------------------------------------------

resource_group = azure.resources.latest.ResourceGroup("resourceGroup",
  location=(config.require('region')),
  resource_group_name="dkotst342")

#----------------------------------------------------------------------------------------
# Storage accounts
#----------------------------------------------------------------------------------------

storage_account = azure.storage.latest.StorageAccount("storageAccount",
  account_name=(config.require('sa_name')),
  allow_blob_public_access=False,
  is_hns_enabled=True,
  kind="StorageV2",
  location=(config.require('region')),
  minimum_tls_version="TLS1_2",
  enable_https_traffic_only=True,
  resource_group_name=resource_group.name,
  routing_preference={
    "publishInternetEndpoints": True,
    "publishMicrosoftEndpoints": True,
    "routingChoice": "MicrosoftRouting",
  },
  sku={
    "name": "Standard_GRS",
  },)

#----------------------------------------------------------------------------------------
# Storage containers
#----------------------------------------------------------------------------------------

blob_container = azure.storage.latest.BlobContainer("blobContainer",
  account_name=storage_account.name,
  container_name="container231",
  resource_group_name=resource_group.name)

#----------------------------------------------------------------------------------------
# Storage account management policy
#----------------------------------------------------------------------------------------

management_policy = azure.storage.latest.ManagementPolicy("managementPolicy",
    account_name=storage_account.name,
    management_policy_name="default",
    policy={
        "rules": [
            {
                "definition": {
                    "actions": {
                        "baseBlob": {
                            "delete": {
                                "daysAfterModificationGreaterThan": 1000,
                            },
                            "tierToArchive": {
                                "daysAfterModificationGreaterThan": 90,
                            },
                            "tierToCool": {
                                "daysAfterModificationGreaterThan": 30,
                            },
                        },
                    },
                    "filters": {
                        "blobTypes": [ "blockBlob" ],
                        "prefixMatch": [ "olcmtestcontainer2" ],
                    },
                },
                "enabled": True,
                "name": "dkotst",
                "type": "Lifecycle",
            },
        ],
    },
    resource_group_name=resource_group.name)