Class: AWSCDK::DLM::CfnLifecyclePolicy::FastRestoreRuleProperty

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

Overview

[Custom snapshot policies only] Specifies a rule for enabling fast snapshot restore for snapshots created by snapshot policies.

You can enable fast snapshot restore based on either a count or a time interval.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(availability_zone_ids: nil, availability_zones: nil, count: nil, interval: nil, interval_unit: nil) ⇒ FastRestoreRuleProperty

Returns a new instance of FastRestoreRuleProperty.

Parameters:

  • availability_zone_ids (Array<String>, nil) (defaults to: nil)
  • availability_zones (Array<String>, nil) (defaults to: nil)

    The Availability Zones in which to enable fast snapshot restore.

  • count (Numeric, nil) (defaults to: nil)

    The number of snapshots to be enabled with fast snapshot restore.

  • interval (Numeric, nil) (defaults to: nil)

    The amount of time to enable fast snapshot restore.

  • interval_unit (String, nil) (defaults to: nil)

    The unit of time for enabling fast snapshot restore.



1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
# File 'dlm/cfn_lifecycle_policy.rb', line 1455

def initialize(availability_zone_ids: nil, availability_zones: nil, count: nil, interval: nil, interval_unit: nil)
  @availability_zone_ids = availability_zone_ids
  Jsii::Type.check_type(@availability_zone_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "availabilityZoneIds") unless @availability_zone_ids.nil?
  @availability_zones = availability_zones
  Jsii::Type.check_type(@availability_zones, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "availabilityZones") unless @availability_zones.nil?
  @count = count
  Jsii::Type.check_type(@count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "count") unless @count.nil?
  @interval = interval
  Jsii::Type.check_type(@interval, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "interval") unless @interval.nil?
  @interval_unit = interval_unit
  Jsii::Type.check_type(@interval_unit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "intervalUnit") unless @interval_unit.nil?
end

Instance Attribute Details

#availability_zone_idsArray<String>? (readonly)



1470
1471
1472
# File 'dlm/cfn_lifecycle_policy.rb', line 1470

def availability_zone_ids
  @availability_zone_ids
end

#availability_zonesArray<String>? (readonly)

The Availability Zones in which to enable fast snapshot restore.



1475
1476
1477
# File 'dlm/cfn_lifecycle_policy.rb', line 1475

def availability_zones
  @availability_zones
end

#countNumeric? (readonly)

The number of snapshots to be enabled with fast snapshot restore.



1480
1481
1482
# File 'dlm/cfn_lifecycle_policy.rb', line 1480

def count
  @count
end

#intervalNumeric? (readonly)

The amount of time to enable fast snapshot restore.

The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.



1487
1488
1489
# File 'dlm/cfn_lifecycle_policy.rb', line 1487

def interval
  @interval
end

#interval_unitString? (readonly)

The unit of time for enabling fast snapshot restore.



1492
1493
1494
# File 'dlm/cfn_lifecycle_policy.rb', line 1492

def interval_unit
  @interval_unit
end

Class Method Details

.jsii_propertiesObject



1494
1495
1496
1497
1498
1499
1500
1501
1502
# File 'dlm/cfn_lifecycle_policy.rb', line 1494

def self.jsii_properties
  {
    :availability_zone_ids => "availabilityZoneIds",
    :availability_zones => "availabilityZones",
    :count => "count",
    :interval => "interval",
    :interval_unit => "intervalUnit",
  }
end

Instance Method Details

#to_jsiiObject



1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
# File 'dlm/cfn_lifecycle_policy.rb', line 1504

def to_jsii
  result = {}
  result.merge!({
    "availabilityZoneIds" => @availability_zone_ids,
    "availabilityZones" => @availability_zones,
    "count" => @count,
    "interval" => @interval,
    "intervalUnit" => @interval_unit,
  })
  result.compact
end