Class: AWSCDK::Backup::CfnRestoreTestingPlan::RestoreTestingRecoveryPointSelectionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
backup/cfn_restore_testing_plan.rb

Overview

RecoveryPointSelection has five parameters (three required and two optional).

The values you specify determine which recovery point is included in the restore test. You must indicate with Algorithm if you want the latest recovery point within your SelectionWindowDays or if you want a random recovery point, and you must indicate through IncludeVaults from which vaults the recovery points can be chosen.

Algorithm ( required ) Valid values: " LATEST_WITHIN_WINDOW " or " RANDOM_WITHIN_WINDOW ".

Recovery point types ( required ) Valid values: " SNAPSHOT " and/or " CONTINUOUS ". Include SNAPSHOT to restore only snapshot recovery points; include CONTINUOUS to restore continuous recovery points (point in time restore / PITR); use both to restore either a snapshot or a continuous recovery point. The recovery point will be determined by the value for Algorithm .

IncludeVaults ( required ). You must include one or more backup vaults. Use the wildcard ["*"] or specific ARNs.

SelectionWindowDays ( optional ) Value must be an integer (in days) from 1 to 365. If not included, the value defaults to 30 .

ExcludeVaults ( optional ). You can choose to input one or more specific backup vault ARNs to exclude those vaults' contents from restore eligibility. Or, you can include a list of selectors. If this parameter and its value are not included, it defaults to empty list.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(algorithm:, include_vaults:, recovery_point_types:, exclude_vaults: nil, selection_window_days: nil) ⇒ RestoreTestingRecoveryPointSelectionProperty

Returns a new instance of RestoreTestingRecoveryPointSelectionProperty.

Parameters:

  • algorithm (String)

    Acceptable values include "LATEST_WITHIN_WINDOW" or "RANDOM_WITHIN_WINDOW".

  • include_vaults (Array<String>)

    Accepted values include wildcard ["*"] or by specific ARNs or ARN wilcard replacement ["arn:aws:backup:us-west-2:123456789012:backup-vault:asdf", ...] ["arn:aws:backup:::backup-vault:asdf-*", ...].

  • recovery_point_types (Array<String>)

    These are the types of recovery points.

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

    Accepted values include specific ARNs or list of selectors.

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

    Accepted values are integers from 1 to 365.



601
602
603
604
605
606
607
608
609
610
611
612
# File 'backup/cfn_restore_testing_plan.rb', line 601

def initialize(algorithm:, include_vaults:, recovery_point_types:, exclude_vaults: nil, selection_window_days: nil)
  @algorithm = algorithm
  Jsii::Type.check_type(@algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "algorithm")
  @include_vaults = include_vaults
  Jsii::Type.check_type(@include_vaults, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "includeVaults")
  @recovery_point_types = recovery_point_types
  Jsii::Type.check_type(@recovery_point_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "recoveryPointTypes")
  @exclude_vaults = exclude_vaults
  Jsii::Type.check_type(@exclude_vaults, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "excludeVaults") unless @exclude_vaults.nil?
  @selection_window_days = selection_window_days
  Jsii::Type.check_type(@selection_window_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "selectionWindowDays") unless @selection_window_days.nil?
end

Instance Attribute Details

#algorithmString (readonly)

Acceptable values include "LATEST_WITHIN_WINDOW" or "RANDOM_WITHIN_WINDOW".



618
619
620
# File 'backup/cfn_restore_testing_plan.rb', line 618

def algorithm
  @algorithm
end

#exclude_vaultsArray<String>? (readonly)

Accepted values include specific ARNs or list of selectors.

Defaults to empty list if not listed.



637
638
639
# File 'backup/cfn_restore_testing_plan.rb', line 637

def exclude_vaults
  @exclude_vaults
end

#include_vaultsArray<String> (readonly)

Accepted values include wildcard ["*"] or by specific ARNs or ARN wilcard replacement ["arn:aws:backup:us-west-2:123456789012:backup-vault:asdf", ...] ["arn:aws:backup:::backup-vault:asdf-*", ...].



623
624
625
# File 'backup/cfn_restore_testing_plan.rb', line 623

def include_vaults
  @include_vaults
end

#recovery_point_typesArray<String> (readonly)

These are the types of recovery points.

Include SNAPSHOT to restore only snapshot recovery points; include CONTINUOUS to restore continuous recovery points (point in time restore / PITR); use both to restore either a snapshot or a continuous recovery point. The recovery point will be determined by the value for Algorithm .



630
631
632
# File 'backup/cfn_restore_testing_plan.rb', line 630

def recovery_point_types
  @recovery_point_types
end

#selection_window_daysNumeric? (readonly)

Accepted values are integers from 1 to 365.



642
643
644
# File 'backup/cfn_restore_testing_plan.rb', line 642

def selection_window_days
  @selection_window_days
end

Class Method Details

.jsii_propertiesObject



644
645
646
647
648
649
650
651
652
# File 'backup/cfn_restore_testing_plan.rb', line 644

def self.jsii_properties
  {
    :algorithm => "algorithm",
    :include_vaults => "includeVaults",
    :recovery_point_types => "recoveryPointTypes",
    :exclude_vaults => "excludeVaults",
    :selection_window_days => "selectionWindowDays",
  }
end

Instance Method Details

#to_jsiiObject



654
655
656
657
658
659
660
661
662
663
664
# File 'backup/cfn_restore_testing_plan.rb', line 654

def to_jsii
  result = {}
  result.merge!({
    "algorithm" => @algorithm,
    "includeVaults" => @include_vaults,
    "recoveryPointTypes" => @recovery_point_types,
    "excludeVaults" => @exclude_vaults,
    "selectionWindowDays" => @selection_window_days,
  })
  result.compact
end