ManagementPolicyArgs

data class ManagementPolicyArgs(val accountName: Output<String>? = null, val managementPolicyName: Output<String>? = null, val policy: Output<ManagementPolicySchemaArgs>? = null, val resourceGroupName: Output<String>? = null) : ConvertibleToJava<ManagementPolicyArgs>

The Get Storage Account ManagementPolicies operation response. Uses Azure REST API version 2024-01-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. Other available API versions: 2022-09-01, 2023-01-01, 2023-04-01, 2023-05-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native storage [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

StorageAccountSetManagementPolicies

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer1",
},
},
},
Enabled = true,
Name = "olcmtest1",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobIndexMatch = new[]
{
new AzureNative.Storage.Inputs.TagFilterArgs
{
Name = "tag1",
Op = "==",
Value = "val1",
},
new AzureNative.Storage.Inputs.TagFilterArgs
{
Name = "tag2",
Op = "==",
Value = "val2",
},
},
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer2",
},
},
},
Enabled = true,
Name = "olcmtest2",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer1"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest1"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobIndexMatch: storage.TagFilterArray{
&storage.TagFilterArgs{
Name: pulumi.String("tag1"),
Op: pulumi.String("=="),
Value: pulumi.String("val1"),
},
&storage.TagFilterArgs{
Name: pulumi.String("tag2"),
Op: pulumi.String("=="),
Value: pulumi.String("val2"),
},
},
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer2"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest2"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(
ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(1000)
.build())
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(90)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer1")
.build())
.build())
.enabled(true)
.name("olcmtest1")
.type("Lifecycle")
.build(),
ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(1000)
.build())
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(90)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobIndexMatch(
TagFilterArgs.builder()
.name("tag1")
.op("==")
.value("val1")
.build(),
TagFilterArgs.builder()
.name("tag2")
.op("==")
.value("val2")
.build())
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer2")
.build())
.build())
.enabled(true)
.name("olcmtest2")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicyColdTierActions

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 90,
},
TierToCold = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
TierToCold = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
Version = new AzureNative.Storage.Inputs.ManagementPolicyVersionArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
TierToCold = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer1",
},
},
},
Enabled = true,
Name = "olcmtest1",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(90),
},
TierToCold: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
TierToCold: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
Version: &storage.ManagementPolicyVersionArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
TierToCold: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer1"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest1"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(1000)
.build())
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(90)
.build())
.tierToCold(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.tierToCold(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.version(ManagementPolicyVersionArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.tierToCold(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer1")
.build())
.build())
.enabled(true)
.name("olcmtest1")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicyForBlockAndAppendBlobs

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 90,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 90,
},
},
Version = new AzureNative.Storage.Inputs.ManagementPolicyVersionArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 90,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
"appendBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer1",
},
},
},
Enabled = true,
Name = "olcmtest1",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(90),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(90),
},
},
Version: &storage.ManagementPolicyVersionArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(90),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
pulumi.String("appendBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer1"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest1"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(90)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(90)
.build())
.build())
.version(ManagementPolicyVersionArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(90)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes(
"blockBlob",
"appendBlob")
.prefixMatch("olcmtestcontainer1")
.build())
.build())
.enabled(true)
.name("olcmtest1")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicyHotTierActions

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
TierToHot = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
TierToHot = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
Version = new AzureNative.Storage.Inputs.ManagementPolicyVersionArgs
{
TierToHot = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer1",
},
},
},
Enabled = true,
Name = "olcmtest1",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
TierToHot: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
TierToHot: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
Version: &storage.ManagementPolicyVersionArgs{
TierToHot: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer1"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest1"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.tierToHot(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.tierToHot(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.version(ManagementPolicyVersionArgs.builder()
.tierToHot(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer1")
.build())
.build())
.enabled(true)
.name("olcmtest1")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicyWithSnapshotAndVersion

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
Version = new AzureNative.Storage.Inputs.ManagementPolicyVersionArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer1",
},
},
},
Enabled = true,
Name = "olcmtest1",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
Version: &storage.ManagementPolicyVersionArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer1"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest1"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(1000)
.build())
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(90)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(1000)
.build())
.tierToArchive(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(90)
.build())
.tierToCool(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.version(ManagementPolicyVersionArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(1000)
.build())
.tierToArchive(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(90)
.build())
.tierToCool(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer1")
.build())
.build())
.enabled(true)
.name("olcmtest1")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterCreationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterCreationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer1",
},
},
},
Enabled = true,
Name = "olcmtest1",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer1"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest1"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterCreationGreaterThan(1000)
.build())
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterCreationGreaterThan(90)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer1")
.build())
.build())
.enabled(true)
.name("olcmtest1")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterLastAccessTimeGreaterThan = 1000,
},
EnableAutoTierToHotFromCool = true,
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterLastAccessTimeGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterLastAccessTimeGreaterThan = 30,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer",
},
},
},
Enabled = true,
Name = "olcmtest",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterLastAccessTimeGreaterThan: pulumi.Float64(1000),
},
EnableAutoTierToHotFromCool: pulumi.Bool(true),
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterLastAccessTimeGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterLastAccessTimeGreaterThan: pulumi.Float64(30),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
Delete: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterLastAccessTimeGreaterThan(1000)
.build())
.enableAutoTierToHotFromCool(true)
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterLastAccessTimeGreaterThan(90)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterLastAccessTimeGreaterThan(30)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.delete(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer")
.build())
.build())
.enabled(true)
.name("olcmtest")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

StorageAccountSetManagementPolicy_LastTierChangeTimeActions

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managementPolicy = new AzureNative.Storage.ManagementPolicy("managementPolicy", new()
{
AccountName = "sto9699",
ManagementPolicyName = "default",
Policy = new AzureNative.Storage.Inputs.ManagementPolicySchemaArgs
{
Rules = new[]
{
new AzureNative.Storage.Inputs.ManagementPolicyRuleArgs
{
Definition = new AzureNative.Storage.Inputs.ManagementPolicyDefinitionArgs
{
Actions = new AzureNative.Storage.Inputs.ManagementPolicyActionArgs
{
BaseBlob = new AzureNative.Storage.Inputs.ManagementPolicyBaseBlobArgs
{
Delete = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 1000,
},
TierToArchive = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterLastTierChangeGreaterThan = 120,
DaysAfterModificationGreaterThan = 90,
},
TierToCool = new AzureNative.Storage.Inputs.DateAfterModificationArgs
{
DaysAfterModificationGreaterThan = 30,
},
},
Snapshot = new AzureNative.Storage.Inputs.ManagementPolicySnapShotArgs
{
TierToArchive = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
DaysAfterLastTierChangeGreaterThan = 90,
},
},
Version = new AzureNative.Storage.Inputs.ManagementPolicyVersionArgs
{
TierToArchive = new AzureNative.Storage.Inputs.DateAfterCreationArgs
{
DaysAfterCreationGreaterThan = 30,
DaysAfterLastTierChangeGreaterThan = 90,
},
},
},
Filters = new AzureNative.Storage.Inputs.ManagementPolicyFilterArgs
{
BlobTypes = new[]
{
"blockBlob",
},
PrefixMatch = new[]
{
"olcmtestcontainer",
},
},
},
Enabled = true,
Name = "olcmtest",
Type = AzureNative.Storage.RuleType.Lifecycle,
},
},
},
ResourceGroupName = "res7687",
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewManagementPolicy(ctx, "managementPolicy", &storage.ManagementPolicyArgs{
AccountName: pulumi.String("sto9699"),
ManagementPolicyName: pulumi.String("default"),
Policy: &storage.ManagementPolicySchemaArgs{
Rules: storage.ManagementPolicyRuleArray{
&storage.ManagementPolicyRuleArgs{
Definition: &storage.ManagementPolicyDefinitionArgs{
Actions: &storage.ManagementPolicyActionArgs{
BaseBlob: &storage.ManagementPolicyBaseBlobArgs{
Delete: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(1000),
},
TierToArchive: &storage.DateAfterModificationArgs{
DaysAfterLastTierChangeGreaterThan: pulumi.Float64(120),
DaysAfterModificationGreaterThan: pulumi.Float64(90),
},
TierToCool: &storage.DateAfterModificationArgs{
DaysAfterModificationGreaterThan: pulumi.Float64(30),
},
},
Snapshot: &storage.ManagementPolicySnapShotArgs{
TierToArchive: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
DaysAfterLastTierChangeGreaterThan: pulumi.Float64(90),
},
},
Version: &storage.ManagementPolicyVersionArgs{
TierToArchive: &storage.DateAfterCreationArgs{
DaysAfterCreationGreaterThan: pulumi.Float64(30),
DaysAfterLastTierChangeGreaterThan: pulumi.Float64(90),
},
},
},
Filters: &storage.ManagementPolicyFilterArgs{
BlobTypes: pulumi.StringArray{
pulumi.String("blockBlob"),
},
PrefixMatch: pulumi.StringArray{
pulumi.String("olcmtestcontainer"),
},
},
},
Enabled: pulumi.Bool(true),
Name: pulumi.String("olcmtest"),
Type: pulumi.String(storage.RuleTypeLifecycle),
},
},
},
ResourceGroupName: pulumi.String("res7687"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ManagementPolicy;
import com.pulumi.azurenative.storage.ManagementPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ManagementPolicySchemaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managementPolicy = new ManagementPolicy("managementPolicy", ManagementPolicyArgs.builder()
.accountName("sto9699")
.managementPolicyName("default")
.policy(ManagementPolicySchemaArgs.builder()
.rules(ManagementPolicyRuleArgs.builder()
.definition(ManagementPolicyDefinitionArgs.builder()
.actions(ManagementPolicyActionArgs.builder()
.baseBlob(ManagementPolicyBaseBlobArgs.builder()
.delete(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(1000)
.build())
.tierToArchive(DateAfterModificationArgs.builder()
.daysAfterLastTierChangeGreaterThan(120)
.daysAfterModificationGreaterThan(90)
.build())
.tierToCool(DateAfterModificationArgs.builder()
.daysAfterModificationGreaterThan(30)
.build())
.build())
.snapshot(ManagementPolicySnapShotArgs.builder()
.tierToArchive(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.daysAfterLastTierChangeGreaterThan(90)
.build())
.build())
.version(ManagementPolicyVersionArgs.builder()
.tierToArchive(DateAfterCreationArgs.builder()
.daysAfterCreationGreaterThan(30)
.daysAfterLastTierChangeGreaterThan(90)
.build())
.build())
.build())
.filters(ManagementPolicyFilterArgs.builder()
.blobTypes("blockBlob")
.prefixMatch("olcmtestcontainer")
.build())
.build())
.enabled(true)
.name("olcmtest")
.type("Lifecycle")
.build())
.build())
.resourceGroupName("res7687")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:storage:ManagementPolicy DefaultManagementPolicy /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}

Constructors

Link copied to clipboard
constructor(accountName: Output<String>? = null, managementPolicyName: Output<String>? = null, policy: Output<ManagementPolicySchemaArgs>? = null, resourceGroupName: Output<String>? = null)

Properties

Link copied to clipboard
val accountName: Output<String>? = null

The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.

Link copied to clipboard
val managementPolicyName: Output<String>? = null

The name of the Storage Account Management Policy. It should always be 'default'

Link copied to clipboard
val policy: Output<ManagementPolicySchemaArgs>? = null

The Storage Account ManagementPolicy, in JSON format. See more details in: https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group within the user's subscription. The name is case insensitive.

Functions

Link copied to clipboard
open override fun toJava(): ManagementPolicyArgs