aws_dlm_lifecycle_policy

package
v0.0.0-...-4deecce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Args

type Args struct {
	// Description: string, required
	Description terra.StringValue `hcl:"description,attr" validate:"required"`
	// ExecutionRoleArn: string, required
	ExecutionRoleArn terra.StringValue `hcl:"execution_role_arn,attr" validate:"required"`
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// State: string, optional
	State terra.StringValue `hcl:"state,attr"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
	// TagsAll: map of string, optional
	TagsAll terra.MapValue[terra.StringValue] `hcl:"tags_all,attr"`
	// PolicyDetails: required
	PolicyDetails *PolicyDetails `hcl:"policy_details,block" validate:"required"`
}

Args contains the configurations for aws_dlm_lifecycle_policy.

type PolicyDetails

type PolicyDetails struct {
	// PolicyType: string, optional
	PolicyType terra.StringValue `hcl:"policy_type,attr"`
	// ResourceLocations: list of string, optional
	ResourceLocations terra.ListValue[terra.StringValue] `hcl:"resource_locations,attr"`
	// ResourceTypes: list of string, optional
	ResourceTypes terra.ListValue[terra.StringValue] `hcl:"resource_types,attr"`
	// TargetTags: map of string, optional
	TargetTags terra.MapValue[terra.StringValue] `hcl:"target_tags,attr"`
	// PolicyDetailsAction: optional
	Action *PolicyDetailsAction `hcl:"action,block"`
	// PolicyDetailsEventSource: optional
	EventSource *PolicyDetailsEventSource `hcl:"event_source,block"`
	// PolicyDetailsParameters: optional
	Parameters *PolicyDetailsParameters `hcl:"parameters,block"`
	// PolicyDetailsSchedule: min=0,max=4
	Schedule []PolicyDetailsSchedule `hcl:"schedule,block" validate:"min=0,max=4"`
}

type PolicyDetailsAction

type PolicyDetailsAction struct {
	// Name: string, required
	Name terra.StringValue `hcl:"name,attr" validate:"required"`
	// PolicyDetailsActionCrossRegionCopy: min=1,max=3
	CrossRegionCopy []PolicyDetailsActionCrossRegionCopy `hcl:"cross_region_copy,block" validate:"min=1,max=3"`
}

type PolicyDetailsActionAttributes

type PolicyDetailsActionAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsActionAttributes) CrossRegionCopy

func (PolicyDetailsActionAttributes) InternalRef

func (PolicyDetailsActionAttributes) InternalTokens

func (a PolicyDetailsActionAttributes) InternalTokens() (hclwrite.Tokens, error)

func (PolicyDetailsActionAttributes) InternalWithRef

func (PolicyDetailsActionAttributes) Name

type PolicyDetailsActionCrossRegionCopy

type PolicyDetailsActionCrossRegionCopy struct {
	// Target: string, required
	Target terra.StringValue `hcl:"target,attr" validate:"required"`
	// PolicyDetailsActionCrossRegionCopyEncryptionConfiguration: required
	EncryptionConfiguration *PolicyDetailsActionCrossRegionCopyEncryptionConfiguration `hcl:"encryption_configuration,block" validate:"required"`
	// PolicyDetailsActionCrossRegionCopyRetainRule: optional
	RetainRule *PolicyDetailsActionCrossRegionCopyRetainRule `hcl:"retain_rule,block"`
}

type PolicyDetailsActionCrossRegionCopyAttributes

type PolicyDetailsActionCrossRegionCopyAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsActionCrossRegionCopyAttributes) InternalRef

func (PolicyDetailsActionCrossRegionCopyAttributes) InternalTokens

func (PolicyDetailsActionCrossRegionCopyAttributes) InternalWithRef

func (PolicyDetailsActionCrossRegionCopyAttributes) RetainRule

func (PolicyDetailsActionCrossRegionCopyAttributes) Target

type PolicyDetailsActionCrossRegionCopyEncryptionConfiguration

type PolicyDetailsActionCrossRegionCopyEncryptionConfiguration struct {
	// CmkArn: string, optional
	CmkArn terra.StringValue `hcl:"cmk_arn,attr"`
	// Encrypted: bool, optional
	Encrypted terra.BoolValue `hcl:"encrypted,attr"`
}

type PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes

type PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes) CmkArn

func (PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes) Encrypted

func (PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes) InternalRef

func (PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes) InternalTokens

func (PolicyDetailsActionCrossRegionCopyEncryptionConfigurationAttributes) InternalWithRef

type PolicyDetailsActionCrossRegionCopyEncryptionConfigurationState

type PolicyDetailsActionCrossRegionCopyEncryptionConfigurationState struct {
	CmkArn    string `json:"cmk_arn"`
	Encrypted bool   `json:"encrypted"`
}

type PolicyDetailsActionCrossRegionCopyRetainRule

type PolicyDetailsActionCrossRegionCopyRetainRule struct {
	// Interval: number, required
	Interval terra.NumberValue `hcl:"interval,attr" validate:"required"`
	// IntervalUnit: string, required
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr" validate:"required"`
}

type PolicyDetailsActionCrossRegionCopyRetainRuleAttributes

type PolicyDetailsActionCrossRegionCopyRetainRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsActionCrossRegionCopyRetainRuleAttributes) InternalRef

func (PolicyDetailsActionCrossRegionCopyRetainRuleAttributes) InternalTokens

func (PolicyDetailsActionCrossRegionCopyRetainRuleAttributes) InternalWithRef

func (PolicyDetailsActionCrossRegionCopyRetainRuleAttributes) Interval

func (PolicyDetailsActionCrossRegionCopyRetainRuleAttributes) IntervalUnit

type PolicyDetailsActionCrossRegionCopyRetainRuleState

type PolicyDetailsActionCrossRegionCopyRetainRuleState struct {
	Interval     float64 `json:"interval"`
	IntervalUnit string  `json:"interval_unit"`
}

type PolicyDetailsActionCrossRegionCopyState

type PolicyDetailsActionCrossRegionCopyState struct {
	Target                  string                                                           `json:"target"`
	EncryptionConfiguration []PolicyDetailsActionCrossRegionCopyEncryptionConfigurationState `json:"encryption_configuration"`
	RetainRule              []PolicyDetailsActionCrossRegionCopyRetainRuleState              `json:"retain_rule"`
}

type PolicyDetailsActionState

type PolicyDetailsActionState struct {
	Name            string                                    `json:"name"`
	CrossRegionCopy []PolicyDetailsActionCrossRegionCopyState `json:"cross_region_copy"`
}

type PolicyDetailsAttributes

type PolicyDetailsAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsAttributes) Action

func (PolicyDetailsAttributes) EventSource

func (PolicyDetailsAttributes) InternalRef

func (pd PolicyDetailsAttributes) InternalRef() (terra.Reference, error)

func (PolicyDetailsAttributes) InternalTokens

func (pd PolicyDetailsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (PolicyDetailsAttributes) InternalWithRef

func (PolicyDetailsAttributes) Parameters

func (PolicyDetailsAttributes) PolicyType

func (pd PolicyDetailsAttributes) PolicyType() terra.StringValue

func (PolicyDetailsAttributes) ResourceLocations

func (pd PolicyDetailsAttributes) ResourceLocations() terra.ListValue[terra.StringValue]

func (PolicyDetailsAttributes) ResourceTypes

func (PolicyDetailsAttributes) Schedule

func (PolicyDetailsAttributes) TargetTags

type PolicyDetailsEventSource

type PolicyDetailsEventSource struct {
	// Type: string, required
	Type terra.StringValue `hcl:"type,attr" validate:"required"`
	// PolicyDetailsEventSourceParameters: required
	Parameters *PolicyDetailsEventSourceParameters `hcl:"parameters,block" validate:"required"`
}

type PolicyDetailsEventSourceAttributes

type PolicyDetailsEventSourceAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsEventSourceAttributes) InternalRef

func (PolicyDetailsEventSourceAttributes) InternalTokens

func (PolicyDetailsEventSourceAttributes) InternalWithRef

func (PolicyDetailsEventSourceAttributes) Parameters

func (PolicyDetailsEventSourceAttributes) Type

type PolicyDetailsEventSourceParameters

type PolicyDetailsEventSourceParameters struct {
	// DescriptionRegex: string, required
	DescriptionRegex terra.StringValue `hcl:"description_regex,attr" validate:"required"`
	// EventType: string, required
	EventType terra.StringValue `hcl:"event_type,attr" validate:"required"`
	// SnapshotOwner: set of string, required
	SnapshotOwner terra.SetValue[terra.StringValue] `hcl:"snapshot_owner,attr" validate:"required"`
}

type PolicyDetailsEventSourceParametersAttributes

type PolicyDetailsEventSourceParametersAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsEventSourceParametersAttributes) DescriptionRegex

func (PolicyDetailsEventSourceParametersAttributes) EventType

func (PolicyDetailsEventSourceParametersAttributes) InternalRef

func (PolicyDetailsEventSourceParametersAttributes) InternalTokens

func (PolicyDetailsEventSourceParametersAttributes) InternalWithRef

func (PolicyDetailsEventSourceParametersAttributes) SnapshotOwner

type PolicyDetailsEventSourceParametersState

type PolicyDetailsEventSourceParametersState struct {
	DescriptionRegex string   `json:"description_regex"`
	EventType        string   `json:"event_type"`
	SnapshotOwner    []string `json:"snapshot_owner"`
}

type PolicyDetailsEventSourceState

type PolicyDetailsEventSourceState struct {
	Type       string                                    `json:"type"`
	Parameters []PolicyDetailsEventSourceParametersState `json:"parameters"`
}

type PolicyDetailsParameters

type PolicyDetailsParameters struct {
	// ExcludeBootVolume: bool, optional
	ExcludeBootVolume terra.BoolValue `hcl:"exclude_boot_volume,attr"`
	// NoReboot: bool, optional
	NoReboot terra.BoolValue `hcl:"no_reboot,attr"`
}

type PolicyDetailsParametersAttributes

type PolicyDetailsParametersAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsParametersAttributes) ExcludeBootVolume

func (p PolicyDetailsParametersAttributes) ExcludeBootVolume() terra.BoolValue

func (PolicyDetailsParametersAttributes) InternalRef

func (PolicyDetailsParametersAttributes) InternalTokens

func (PolicyDetailsParametersAttributes) InternalWithRef

func (PolicyDetailsParametersAttributes) NoReboot

type PolicyDetailsParametersState

type PolicyDetailsParametersState struct {
	ExcludeBootVolume bool `json:"exclude_boot_volume"`
	NoReboot          bool `json:"no_reboot"`
}

type PolicyDetailsSchedule

type PolicyDetailsSchedule struct {
	// CopyTags: bool, optional
	CopyTags terra.BoolValue `hcl:"copy_tags,attr"`
	// Name: string, required
	Name terra.StringValue `hcl:"name,attr" validate:"required"`
	// TagsToAdd: map of string, optional
	TagsToAdd terra.MapValue[terra.StringValue] `hcl:"tags_to_add,attr"`
	// VariableTags: map of string, optional
	VariableTags terra.MapValue[terra.StringValue] `hcl:"variable_tags,attr"`
	// PolicyDetailsScheduleCreateRule: required
	CreateRule *PolicyDetailsScheduleCreateRule `hcl:"create_rule,block" validate:"required"`
	// PolicyDetailsScheduleCrossRegionCopyRule: min=0,max=3
	CrossRegionCopyRule []PolicyDetailsScheduleCrossRegionCopyRule `hcl:"cross_region_copy_rule,block" validate:"min=0,max=3"`
	// PolicyDetailsScheduleDeprecateRule: optional
	DeprecateRule *PolicyDetailsScheduleDeprecateRule `hcl:"deprecate_rule,block"`
	// PolicyDetailsScheduleFastRestoreRule: optional
	FastRestoreRule *PolicyDetailsScheduleFastRestoreRule `hcl:"fast_restore_rule,block"`
	// PolicyDetailsScheduleRetainRule: required
	RetainRule *PolicyDetailsScheduleRetainRule `hcl:"retain_rule,block" validate:"required"`
	// PolicyDetailsScheduleShareRule: optional
	ShareRule *PolicyDetailsScheduleShareRule `hcl:"share_rule,block"`
}

type PolicyDetailsScheduleAttributes

type PolicyDetailsScheduleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleAttributes) CopyTags

func (PolicyDetailsScheduleAttributes) CreateRule

func (PolicyDetailsScheduleAttributes) CrossRegionCopyRule

func (PolicyDetailsScheduleAttributes) DeprecateRule

func (PolicyDetailsScheduleAttributes) FastRestoreRule

func (PolicyDetailsScheduleAttributes) InternalRef

func (PolicyDetailsScheduleAttributes) InternalTokens

func (s PolicyDetailsScheduleAttributes) InternalTokens() (hclwrite.Tokens, error)

func (PolicyDetailsScheduleAttributes) InternalWithRef

func (PolicyDetailsScheduleAttributes) Name

func (PolicyDetailsScheduleAttributes) RetainRule

func (PolicyDetailsScheduleAttributes) ShareRule

func (PolicyDetailsScheduleAttributes) TagsToAdd

func (PolicyDetailsScheduleAttributes) VariableTags

type PolicyDetailsScheduleCreateRule

type PolicyDetailsScheduleCreateRule struct {
	// CronExpression: string, optional
	CronExpression terra.StringValue `hcl:"cron_expression,attr"`
	// Interval: number, optional
	Interval terra.NumberValue `hcl:"interval,attr"`
	// IntervalUnit: string, optional
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr"`
	// Location: string, optional
	Location terra.StringValue `hcl:"location,attr"`
	// Times: list of string, optional
	Times terra.ListValue[terra.StringValue] `hcl:"times,attr"`
}

type PolicyDetailsScheduleCreateRuleAttributes

type PolicyDetailsScheduleCreateRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleCreateRuleAttributes) CronExpression

func (PolicyDetailsScheduleCreateRuleAttributes) InternalRef

func (PolicyDetailsScheduleCreateRuleAttributes) InternalTokens

func (PolicyDetailsScheduleCreateRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleCreateRuleAttributes) Interval

func (PolicyDetailsScheduleCreateRuleAttributes) IntervalUnit

func (PolicyDetailsScheduleCreateRuleAttributes) Location

func (PolicyDetailsScheduleCreateRuleAttributes) Times

type PolicyDetailsScheduleCreateRuleState

type PolicyDetailsScheduleCreateRuleState struct {
	CronExpression string   `json:"cron_expression"`
	Interval       float64  `json:"interval"`
	IntervalUnit   string   `json:"interval_unit"`
	Location       string   `json:"location"`
	Times          []string `json:"times"`
}

type PolicyDetailsScheduleCrossRegionCopyRule

type PolicyDetailsScheduleCrossRegionCopyRule struct {
	// CmkArn: string, optional
	CmkArn terra.StringValue `hcl:"cmk_arn,attr"`
	// CopyTags: bool, optional
	CopyTags terra.BoolValue `hcl:"copy_tags,attr"`
	// Encrypted: bool, required
	Encrypted terra.BoolValue `hcl:"encrypted,attr" validate:"required"`
	// Target: string, required
	Target terra.StringValue `hcl:"target,attr" validate:"required"`
	// PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRule: optional
	DeprecateRule *PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRule `hcl:"deprecate_rule,block"`
	// PolicyDetailsScheduleCrossRegionCopyRuleRetainRule: optional
	RetainRule *PolicyDetailsScheduleCrossRegionCopyRuleRetainRule `hcl:"retain_rule,block"`
}

type PolicyDetailsScheduleCrossRegionCopyRuleAttributes

type PolicyDetailsScheduleCrossRegionCopyRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) CmkArn

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) CopyTags

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) Encrypted

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) InternalRef

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) InternalTokens

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) RetainRule

func (PolicyDetailsScheduleCrossRegionCopyRuleAttributes) Target

type PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRule

type PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRule struct {
	// Interval: number, required
	Interval terra.NumberValue `hcl:"interval,attr" validate:"required"`
	// IntervalUnit: string, required
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr" validate:"required"`
}

type PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes

type PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes) InternalRef

func (PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes) InternalTokens

func (PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes) Interval

func (PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleAttributes) IntervalUnit

type PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleState

type PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleState struct {
	Interval     float64 `json:"interval"`
	IntervalUnit string  `json:"interval_unit"`
}

type PolicyDetailsScheduleCrossRegionCopyRuleRetainRule

type PolicyDetailsScheduleCrossRegionCopyRuleRetainRule struct {
	// Interval: number, required
	Interval terra.NumberValue `hcl:"interval,attr" validate:"required"`
	// IntervalUnit: string, required
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr" validate:"required"`
}

type PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes

type PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes) InternalRef

func (PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes) InternalTokens

func (PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes) Interval

func (PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleAttributes) IntervalUnit

type PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleState

type PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleState struct {
	Interval     float64 `json:"interval"`
	IntervalUnit string  `json:"interval_unit"`
}

type PolicyDetailsScheduleCrossRegionCopyRuleState

type PolicyDetailsScheduleCrossRegionCopyRuleState struct {
	CmkArn        string                                                       `json:"cmk_arn"`
	CopyTags      bool                                                         `json:"copy_tags"`
	Encrypted     bool                                                         `json:"encrypted"`
	Target        string                                                       `json:"target"`
	DeprecateRule []PolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleState `json:"deprecate_rule"`
	RetainRule    []PolicyDetailsScheduleCrossRegionCopyRuleRetainRuleState    `json:"retain_rule"`
}

type PolicyDetailsScheduleDeprecateRule

type PolicyDetailsScheduleDeprecateRule struct {
	// Count: number, optional
	Count terra.NumberValue `hcl:"count,attr"`
	// Interval: number, optional
	Interval terra.NumberValue `hcl:"interval,attr"`
	// IntervalUnit: string, optional
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr"`
}

type PolicyDetailsScheduleDeprecateRuleAttributes

type PolicyDetailsScheduleDeprecateRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleDeprecateRuleAttributes) Count

func (PolicyDetailsScheduleDeprecateRuleAttributes) InternalRef

func (PolicyDetailsScheduleDeprecateRuleAttributes) InternalTokens

func (PolicyDetailsScheduleDeprecateRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleDeprecateRuleAttributes) Interval

func (PolicyDetailsScheduleDeprecateRuleAttributes) IntervalUnit

type PolicyDetailsScheduleDeprecateRuleState

type PolicyDetailsScheduleDeprecateRuleState struct {
	Count        float64 `json:"count"`
	Interval     float64 `json:"interval"`
	IntervalUnit string  `json:"interval_unit"`
}

type PolicyDetailsScheduleFastRestoreRule

type PolicyDetailsScheduleFastRestoreRule struct {
	// AvailabilityZones: set of string, required
	AvailabilityZones terra.SetValue[terra.StringValue] `hcl:"availability_zones,attr" validate:"required"`
	// Count: number, optional
	Count terra.NumberValue `hcl:"count,attr"`
	// Interval: number, optional
	Interval terra.NumberValue `hcl:"interval,attr"`
	// IntervalUnit: string, optional
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr"`
}

type PolicyDetailsScheduleFastRestoreRuleAttributes

type PolicyDetailsScheduleFastRestoreRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleFastRestoreRuleAttributes) AvailabilityZones

func (PolicyDetailsScheduleFastRestoreRuleAttributes) Count

func (PolicyDetailsScheduleFastRestoreRuleAttributes) InternalRef

func (PolicyDetailsScheduleFastRestoreRuleAttributes) InternalTokens

func (PolicyDetailsScheduleFastRestoreRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleFastRestoreRuleAttributes) Interval

func (PolicyDetailsScheduleFastRestoreRuleAttributes) IntervalUnit

type PolicyDetailsScheduleFastRestoreRuleState

type PolicyDetailsScheduleFastRestoreRuleState struct {
	AvailabilityZones []string `json:"availability_zones"`
	Count             float64  `json:"count"`
	Interval          float64  `json:"interval"`
	IntervalUnit      string   `json:"interval_unit"`
}

type PolicyDetailsScheduleRetainRule

type PolicyDetailsScheduleRetainRule struct {
	// Count: number, optional
	Count terra.NumberValue `hcl:"count,attr"`
	// Interval: number, optional
	Interval terra.NumberValue `hcl:"interval,attr"`
	// IntervalUnit: string, optional
	IntervalUnit terra.StringValue `hcl:"interval_unit,attr"`
}

type PolicyDetailsScheduleRetainRuleAttributes

type PolicyDetailsScheduleRetainRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleRetainRuleAttributes) Count

func (PolicyDetailsScheduleRetainRuleAttributes) InternalRef

func (PolicyDetailsScheduleRetainRuleAttributes) InternalTokens

func (PolicyDetailsScheduleRetainRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleRetainRuleAttributes) Interval

func (PolicyDetailsScheduleRetainRuleAttributes) IntervalUnit

type PolicyDetailsScheduleRetainRuleState

type PolicyDetailsScheduleRetainRuleState struct {
	Count        float64 `json:"count"`
	Interval     float64 `json:"interval"`
	IntervalUnit string  `json:"interval_unit"`
}

type PolicyDetailsScheduleShareRule

type PolicyDetailsScheduleShareRule struct {
	// TargetAccounts: set of string, required
	TargetAccounts terra.SetValue[terra.StringValue] `hcl:"target_accounts,attr" validate:"required"`
	// UnshareInterval: number, optional
	UnshareInterval terra.NumberValue `hcl:"unshare_interval,attr"`
	// UnshareIntervalUnit: string, optional
	UnshareIntervalUnit terra.StringValue `hcl:"unshare_interval_unit,attr"`
}

type PolicyDetailsScheduleShareRuleAttributes

type PolicyDetailsScheduleShareRuleAttributes struct {
	// contains filtered or unexported fields
}

func (PolicyDetailsScheduleShareRuleAttributes) InternalRef

func (PolicyDetailsScheduleShareRuleAttributes) InternalTokens

func (PolicyDetailsScheduleShareRuleAttributes) InternalWithRef

func (PolicyDetailsScheduleShareRuleAttributes) TargetAccounts

func (PolicyDetailsScheduleShareRuleAttributes) UnshareInterval

func (PolicyDetailsScheduleShareRuleAttributes) UnshareIntervalUnit

type PolicyDetailsScheduleShareRuleState

type PolicyDetailsScheduleShareRuleState struct {
	TargetAccounts      []string `json:"target_accounts"`
	UnshareInterval     float64  `json:"unshare_interval"`
	UnshareIntervalUnit string   `json:"unshare_interval_unit"`
}

type PolicyDetailsScheduleState

type PolicyDetailsScheduleState struct {
	CopyTags            bool                                            `json:"copy_tags"`
	Name                string                                          `json:"name"`
	TagsToAdd           map[string]string                               `json:"tags_to_add"`
	VariableTags        map[string]string                               `json:"variable_tags"`
	CreateRule          []PolicyDetailsScheduleCreateRuleState          `json:"create_rule"`
	CrossRegionCopyRule []PolicyDetailsScheduleCrossRegionCopyRuleState `json:"cross_region_copy_rule"`
	DeprecateRule       []PolicyDetailsScheduleDeprecateRuleState       `json:"deprecate_rule"`
	FastRestoreRule     []PolicyDetailsScheduleFastRestoreRuleState     `json:"fast_restore_rule"`
	RetainRule          []PolicyDetailsScheduleRetainRuleState          `json:"retain_rule"`
	ShareRule           []PolicyDetailsScheduleShareRuleState           `json:"share_rule"`
}

type PolicyDetailsState

type PolicyDetailsState struct {
	PolicyType        string                          `json:"policy_type"`
	ResourceLocations []string                        `json:"resource_locations"`
	ResourceTypes     []string                        `json:"resource_types"`
	TargetTags        map[string]string               `json:"target_tags"`
	Action            []PolicyDetailsActionState      `json:"action"`
	EventSource       []PolicyDetailsEventSourceState `json:"event_source"`
	Parameters        []PolicyDetailsParametersState  `json:"parameters"`
	Schedule          []PolicyDetailsScheduleState    `json:"schedule"`
}

type Resource

type Resource struct {
	Name string
	Args Args

	DependsOn terra.Dependencies
	Lifecycle *terra.Lifecycle
	// contains filtered or unexported fields
}

Resource represents the Terraform resource aws_dlm_lifecycle_policy.

func New

func New(name string, args Args) *Resource

New creates a new instance of Resource.

func (*Resource) Attributes

func (adlp *Resource) Attributes() awsDlmLifecyclePolicyAttributes

Attributes returns the attributes for Resource.

func (*Resource) Configuration

func (adlp *Resource) Configuration() interface{}

Configuration returns the configuration (args) for Resource.

func (*Resource) DependOn

func (adlp *Resource) DependOn() terra.Reference

DependOn is used for other resources to depend on Resource.

func (*Resource) Dependencies

func (adlp *Resource) Dependencies() terra.Dependencies

Dependencies returns the list of resources Resource depends_on.

func (*Resource) ImportState

func (adlp *Resource) ImportState(state io.Reader) error

ImportState imports the given attribute values into Resource's state.

func (*Resource) LifecycleManagement

func (adlp *Resource) LifecycleManagement() *terra.Lifecycle

LifecycleManagement returns the lifecycle block for Resource.

func (*Resource) LocalName

func (adlp *Resource) LocalName() string

LocalName returns the local name for Resource.

func (*Resource) State

func (adlp *Resource) State() (*awsDlmLifecyclePolicyState, bool)

State returns the state and a bool indicating if Resource has state.

func (*Resource) StateMust

func (adlp *Resource) StateMust() *awsDlmLifecyclePolicyState

StateMust returns the state for Resource. Panics if the state is nil.

func (*Resource) Type

func (adlp *Resource) Type() string

Type returns the Terraform object type for Resource.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL