This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.
dlm¶
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.
- class
pulumi_aws.dlm.LifecyclePolicy(resource_name, opts=None, description=None, execution_role_arn=None, policy_details=None, state=None, tags=None, __props__=None, __name__=None, __opts__=None)¶ Provides a Data Lifecycle Manager (DLM) lifecycle policy for managing snapshots.
import pulumi import pulumi_aws as aws dlm_lifecycle_role = aws.iam.Role("dlmLifecycleRole", assume_role_policy="""{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": "dlm.amazonaws.com" }, "Effect": "Allow", "Sid": "" } ] } """) dlm_lifecycle = aws.iam.RolePolicy("dlmLifecycle", policy="""{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateSnapshot", "ec2:DeleteSnapshot", "ec2:DescribeVolumes", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::snapshot/*" } ] } """, role=dlm_lifecycle_role.id) example = aws.dlm.LifecyclePolicy("example", description="example DLM lifecycle policy", execution_role_arn=dlm_lifecycle_role.arn, policy_details={ "resourceTypes": ["VOLUME"], "schedule": [{ "copyTags": False, "createRule": { "interval": 24, "intervalUnit": "HOURS", "times": "23:45", }, "name": "2 weeks of daily snapshots", "retainRule": { "count": 14, }, "tagsToAdd": { "SnapshotCreator": "DLM", }, }], "targetTags": { "Snapshot": "true", }, }, state="ENABLED")
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
description (pulumi.Input[str]) – A description for the DLM lifecycle policy.
execution_role_arn (pulumi.Input[str]) – The ARN of an IAM role that is able to be assumed by the DLM service.
policy_details (pulumi.Input[dict]) – See the
policy_detailsconfiguration block. Max of 1.state (pulumi.Input[str]) – Whether the lifecycle policy should be enabled or disabled.
ENABLEDorDISABLEDare valid values. Defaults toENABLED.tags (pulumi.Input[dict]) – Key-value map of resource tags.
The policy_details object supports the following:
resourceTypes(pulumi.Input[list]) - A list of resource types that should be targeted by the lifecycle policy.VOLUMEis currently the only allowed value.schedules(pulumi.Input[list]) - See thescheduleconfiguration block.copyTags(pulumi.Input[bool]) - Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.createRule(pulumi.Input[dict]) - See thecreate_ruleblock. Max of 1 per schedule.interval(pulumi.Input[float]) - How often this lifecycle policy should be evaluated.1,2,3,4,6,8,12or24are valid values.intervalUnit(pulumi.Input[str]) - The unit for how often the lifecycle policy should be evaluated.HOURSis currently the only allowed value and also the default value.times(pulumi.Input[str]) - A list of times in 24 hour clock format that sets when the lifecycle policy should be evaluated. Max of 1.
name(pulumi.Input[str]) - A name for the schedule.retainRule(pulumi.Input[dict]) - See theretain_ruleblock. Max of 1 per schedule.count(pulumi.Input[float]) - How many snapshots to keep. Must be an integer between 1 and 1000.
tagsToAdd(pulumi.Input[dict]) - A map of tag keys and their values. DLM lifecycle policies will already tag the snapshot with the tags on the volume. This configuration adds extra tags on top of these.
targetTags(pulumi.Input[dict]) - A map of tag keys and their values. Any resources that match theresource_typesand are tagged with any of these tags will be targeted.
arn: pulumi.Output[str] = None¶Amazon Resource Name (ARN) of the DLM Lifecycle Policy.
description: pulumi.Output[str] = None¶A description for the DLM lifecycle policy.
execution_role_arn: pulumi.Output[str] = None¶The ARN of an IAM role that is able to be assumed by the DLM service.
policy_details: pulumi.Output[dict] = None¶See the
policy_detailsconfiguration block. Max of 1.resourceTypes(list) - A list of resource types that should be targeted by the lifecycle policy.VOLUMEis currently the only allowed value.schedules(list) - See thescheduleconfiguration block.copyTags(bool) - Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.createRule(dict) - See thecreate_ruleblock. Max of 1 per schedule.interval(float) - How often this lifecycle policy should be evaluated.1,2,3,4,6,8,12or24are valid values.intervalUnit(str) - The unit for how often the lifecycle policy should be evaluated.HOURSis currently the only allowed value and also the default value.times(str) - A list of times in 24 hour clock format that sets when the lifecycle policy should be evaluated. Max of 1.
name(str) - A name for the schedule.retainRule(dict) - See theretain_ruleblock. Max of 1 per schedule.count(float) - How many snapshots to keep. Must be an integer between 1 and 1000.
tagsToAdd(dict) - A map of tag keys and their values. DLM lifecycle policies will already tag the snapshot with the tags on the volume. This configuration adds extra tags on top of these.
targetTags(dict) - A map of tag keys and their values. Any resources that match theresource_typesand are tagged with any of these tags will be targeted.
state: pulumi.Output[str] = None¶Whether the lifecycle policy should be enabled or disabled.
ENABLEDorDISABLEDare valid values. Defaults toENABLED.
Key-value map of resource tags.
- static
get(resource_name, id, opts=None, arn=None, description=None, execution_role_arn=None, policy_details=None, state=None, tags=None)¶ Get an existing LifecyclePolicy resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
arn (pulumi.Input[str]) – Amazon Resource Name (ARN) of the DLM Lifecycle Policy.
description (pulumi.Input[str]) – A description for the DLM lifecycle policy.
execution_role_arn (pulumi.Input[str]) – The ARN of an IAM role that is able to be assumed by the DLM service.
policy_details (pulumi.Input[dict]) – See the
policy_detailsconfiguration block. Max of 1.state (pulumi.Input[str]) – Whether the lifecycle policy should be enabled or disabled.
ENABLEDorDISABLEDare valid values. Defaults toENABLED.tags (pulumi.Input[dict]) – Key-value map of resource tags.
The policy_details object supports the following:
resourceTypes(pulumi.Input[list]) - A list of resource types that should be targeted by the lifecycle policy.VOLUMEis currently the only allowed value.schedules(pulumi.Input[list]) - See thescheduleconfiguration block.copyTags(pulumi.Input[bool]) - Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.createRule(pulumi.Input[dict]) - See thecreate_ruleblock. Max of 1 per schedule.interval(pulumi.Input[float]) - How often this lifecycle policy should be evaluated.1,2,3,4,6,8,12or24are valid values.intervalUnit(pulumi.Input[str]) - The unit for how often the lifecycle policy should be evaluated.HOURSis currently the only allowed value and also the default value.times(pulumi.Input[str]) - A list of times in 24 hour clock format that sets when the lifecycle policy should be evaluated. Max of 1.
name(pulumi.Input[str]) - A name for the schedule.retainRule(pulumi.Input[dict]) - See theretain_ruleblock. Max of 1 per schedule.count(pulumi.Input[float]) - How many snapshots to keep. Must be an integer between 1 and 1000.
tagsToAdd(pulumi.Input[dict]) - A map of tag keys and their values. DLM lifecycle policies will already tag the snapshot with the tags on the volume. This configuration adds extra tags on top of these.
targetTags(pulumi.Input[dict]) - A map of tag keys and their values. Any resources that match theresource_typesand are tagged with any of these tags will be targeted.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str