Class: AWSCDK::DLM::CfnLifecyclePolicy::CrossRegionCopyActionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dlm/cfn_lifecycle_policy.rb

Overview

[Event-based policies only] Specifies a cross-Region copy action for event-based policies.

To specify a cross-Region copy rule for snapshot and AMI policies, use CrossRegionCopyRule .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encryption_configuration:, target:, retain_rule: nil) ⇒ CrossRegionCopyActionProperty

Returns a new instance of CrossRegionCopyActionProperty.

Parameters:



895
896
897
898
899
900
901
902
# File 'dlm/cfn_lifecycle_policy.rb', line 895

def initialize(encryption_configuration:, target:, retain_rule: nil)
  @encryption_configuration = encryption_configuration.is_a?(Hash) ? ::AWSCDK::DLM::CfnLifecyclePolicy::EncryptionConfigurationProperty.new(**encryption_configuration.transform_keys(&:to_sym)) : encryption_configuration
  Jsii::Type.check_type(@encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kbG0uQ2ZuTGlmZWN5Y2xlUG9saWN5LkVuY3J5cHRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "encryptionConfiguration")
  @target = target
  Jsii::Type.check_type(@target, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "target")
  @retain_rule = retain_rule.is_a?(Hash) ? ::AWSCDK::DLM::CfnLifecyclePolicy::CrossRegionCopyRetainRuleProperty.new(**retain_rule.transform_keys(&:to_sym)) : retain_rule
  Jsii::Type.check_type(@retain_rule, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kbG0uQ2ZuTGlmZWN5Y2xlUG9saWN5LkNyb3NzUmVnaW9uQ29weVJldGFpblJ1bGVQcm9wZXJ0eSJ9XX19")), "retainRule") unless @retain_rule.nil?
end

Instance Attribute Details

#retain_ruleAWSCDK::IResolvable, ... (readonly)

Specifies a retention rule for cross-Region snapshot copies created by snapshot or event-based policies, or cross-Region AMI copies created by AMI policies.

After the retention period expires, the cross-Region copy is deleted.



920
921
922
# File 'dlm/cfn_lifecycle_policy.rb', line 920

def retain_rule
  @retain_rule
end

#targetString (readonly)

The target Region.



913
914
915
# File 'dlm/cfn_lifecycle_policy.rb', line 913

def target
  @target
end

Class Method Details

.jsii_propertiesObject



922
923
924
925
926
927
928
# File 'dlm/cfn_lifecycle_policy.rb', line 922

def self.jsii_properties
  {
    :encryption_configuration => "encryptionConfiguration",
    :target => "target",
    :retain_rule => "retainRule",
  }
end

Instance Method Details

#to_jsiiObject



930
931
932
933
934
935
936
937
938
# File 'dlm/cfn_lifecycle_policy.rb', line 930

def to_jsii
  result = {}
  result.merge!({
    "encryptionConfiguration" => @encryption_configuration,
    "target" => @target,
    "retainRule" => @retain_rule,
  })
  result.compact
end