Class: AWSCDK::Backup::CfnBackupPlan::BackupRuleResourceTypeProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Backup::CfnBackupPlan::BackupRuleResourceTypeProperty
- Defined in:
- backup/cfn_backup_plan.rb
Overview
Specifies an object containing properties used to schedule a task to back up a selection of resources.
Instance Attribute Summary collapse
-
#completion_window_minutes ⇒ Numeric?
readonly
A value in minutes after a backup job is successfully started before it must be completed or it is canceled by AWS Backup .
-
#copy_actions ⇒ AWSCDK::IResolvable, ...
readonly
An array of CopyAction objects, which contains the details of the copy operation.
-
#enable_continuous_backup ⇒ Boolean, ...
readonly
Enables continuous backup and point-in-time restores (PITR).
-
#index_actions ⇒ AWSCDK::IResolvable, ...
readonly
There can up to one IndexAction in each BackupRule, as each backup can have 0 or 1 backup index associated with it.
-
#lifecycle ⇒ AWSCDK::IResolvable, ...
readonly
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
-
#recovery_point_tags ⇒ AWSCDK::IResolvable, ...
readonly
The tags to assign to the resources.
-
#rule_name ⇒ String
readonly
A display name for a backup rule.
- #scan_actions ⇒ AWSCDK::IResolvable, ... readonly
-
#schedule_expression ⇒ String?
readonly
A CRON expression specifying when AWS Backup initiates a backup job.
-
#schedule_expression_timezone ⇒ String?
readonly
This is the timezone in which the schedule expression is set.
-
#start_window_minutes ⇒ Numeric?
readonly
An optional value that specifies a period of time in minutes after a backup is scheduled before a job is canceled if it doesn't start successfully.
-
#target_backup_vault ⇒ String
readonly
The name of a logical container where backups are stored.
-
#target_logically_air_gapped_backup_vault_arn ⇒ String?
readonly
The ARN of a logically air-gapped vault.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(rule_name:, target_backup_vault:, completion_window_minutes: nil, copy_actions: nil, enable_continuous_backup: nil, index_actions: nil, lifecycle: nil, recovery_point_tags: nil, scan_actions: nil, schedule_expression: nil, schedule_expression_timezone: nil, start_window_minutes: nil, target_logically_air_gapped_backup_vault_arn: nil) ⇒ BackupRuleResourceTypeProperty
constructor
A new instance of BackupRuleResourceTypeProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(rule_name:, target_backup_vault:, completion_window_minutes: nil, copy_actions: nil, enable_continuous_backup: nil, index_actions: nil, lifecycle: nil, recovery_point_tags: nil, scan_actions: nil, schedule_expression: nil, schedule_expression_timezone: nil, start_window_minutes: nil, target_logically_air_gapped_backup_vault_arn: nil) ⇒ BackupRuleResourceTypeProperty
Returns a new instance of BackupRuleResourceTypeProperty.
712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 |
# File 'backup/cfn_backup_plan.rb', line 712 def initialize(rule_name:, target_backup_vault:, completion_window_minutes: nil, copy_actions: nil, enable_continuous_backup: nil, index_actions: nil, lifecycle: nil, recovery_point_tags: nil, scan_actions: nil, schedule_expression: nil, schedule_expression_timezone: nil, start_window_minutes: nil, target_logically_air_gapped_backup_vault_arn: nil) @rule_name = rule_name Jsii::Type.check_type(@rule_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ruleName") @target_backup_vault = target_backup_vault Jsii::Type.check_type(@target_backup_vault, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetBackupVault") @completion_window_minutes = completion_window_minutes Jsii::Type.check_type(@completion_window_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "completionWindowMinutes") unless @completion_window_minutes.nil? @copy_actions = copy_actions Jsii::Type.check_type(@copy_actions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmFja3VwLkNmbkJhY2t1cFBsYW4uQ29weUFjdGlvblJlc291cmNlVHlwZVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "copyActions") unless @copy_actions.nil? @enable_continuous_backup = enable_continuous_backup Jsii::Type.check_type(@enable_continuous_backup, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableContinuousBackup") unless @enable_continuous_backup.nil? @index_actions = index_actions Jsii::Type.check_type(@index_actions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmFja3VwLkNmbkJhY2t1cFBsYW4uSW5kZXhBY3Rpb25zUmVzb3VyY2VUeXBlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "indexActions") unless @index_actions.nil? @lifecycle = lifecycle.is_a?(Hash) ? ::AWSCDK::Backup::CfnBackupPlan::LifecycleResourceTypeProperty.new(**lifecycle.transform_keys(&:to_sym)) : lifecycle Jsii::Type.check_type(@lifecycle, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYWNrdXAuQ2ZuQmFja3VwUGxhbi5MaWZlY3ljbGVSZXNvdXJjZVR5cGVQcm9wZXJ0eSJ9XX19")), "lifecycle") unless @lifecycle.nil? @recovery_point_tags = Jsii::Type.check_type(@recovery_point_tags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "recoveryPointTags") unless @recovery_point_tags.nil? @scan_actions = scan_actions Jsii::Type.check_type(@scan_actions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmFja3VwLkNmbkJhY2t1cFBsYW4uU2NhbkFjdGlvblJlc291cmNlVHlwZVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "scanActions") unless @scan_actions.nil? @schedule_expression = schedule_expression Jsii::Type.check_type(@schedule_expression, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scheduleExpression") unless @schedule_expression.nil? @schedule_expression_timezone = schedule_expression_timezone Jsii::Type.check_type(@schedule_expression_timezone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scheduleExpressionTimezone") unless @schedule_expression_timezone.nil? @start_window_minutes = start_window_minutes Jsii::Type.check_type(@start_window_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "startWindowMinutes") unless @start_window_minutes.nil? @target_logically_air_gapped_backup_vault_arn = target_logically_air_gapped_backup_vault_arn Jsii::Type.check_type(@target_logically_air_gapped_backup_vault_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetLogicallyAirGappedBackupVaultArn") unless @target_logically_air_gapped_backup_vault_arn.nil? end |
Instance Attribute Details
#completion_window_minutes ⇒ Numeric? (readonly)
A value in minutes after a backup job is successfully started before it must be completed or it is canceled by AWS Backup .
757 758 759 |
# File 'backup/cfn_backup_plan.rb', line 757 def completion_window_minutes @completion_window_minutes end |
#copy_actions ⇒ AWSCDK::IResolvable, ... (readonly)
An array of CopyAction objects, which contains the details of the copy operation.
762 763 764 |
# File 'backup/cfn_backup_plan.rb', line 762 def copy_actions @copy_actions end |
#enable_continuous_backup ⇒ Boolean, ... (readonly)
Enables continuous backup and point-in-time restores (PITR).
767 768 769 |
# File 'backup/cfn_backup_plan.rb', line 767 def enable_continuous_backup @enable_continuous_backup end |
#index_actions ⇒ AWSCDK::IResolvable, ... (readonly)
There can up to one IndexAction in each BackupRule, as each backup can have 0 or 1 backup index associated with it.
Within the array is ResourceTypes. Only 1 resource type will be accepted for each BackupRule. Valid values:
EBSfor Amazon Elastic Block StoreS3for Amazon Simple Storage Service (Amazon S3)
777 778 779 |
# File 'backup/cfn_backup_plan.rb', line 777 def index_actions @index_actions end |
#lifecycle ⇒ AWSCDK::IResolvable, ... (readonly)
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
784 785 786 |
# File 'backup/cfn_backup_plan.rb', line 784 def lifecycle @lifecycle end |
#recovery_point_tags ⇒ AWSCDK::IResolvable, ... (readonly)
The tags to assign to the resources.
789 790 791 |
# File 'backup/cfn_backup_plan.rb', line 789 def @recovery_point_tags end |
#rule_name ⇒ String (readonly)
A display name for a backup rule.
745 746 747 |
# File 'backup/cfn_backup_plan.rb', line 745 def rule_name @rule_name end |
#scan_actions ⇒ AWSCDK::IResolvable, ... (readonly)
792 793 794 |
# File 'backup/cfn_backup_plan.rb', line 792 def scan_actions @scan_actions end |
#schedule_expression ⇒ String? (readonly)
A CRON expression specifying when AWS Backup initiates a backup job.
797 798 799 |
# File 'backup/cfn_backup_plan.rb', line 797 def schedule_expression @schedule_expression end |
#schedule_expression_timezone ⇒ String? (readonly)
This is the timezone in which the schedule expression is set.
By default, ScheduleExpressions are in UTC. You can modify this to a specified timezone.
804 805 806 |
# File 'backup/cfn_backup_plan.rb', line 804 def schedule_expression_timezone @schedule_expression_timezone end |
#start_window_minutes ⇒ Numeric? (readonly)
An optional value that specifies a period of time in minutes after a backup is scheduled before a job is canceled if it doesn't start successfully.
If this value is included, it must be at least 60 minutes to avoid errors.
811 812 813 |
# File 'backup/cfn_backup_plan.rb', line 811 def start_window_minutes @start_window_minutes end |
#target_backup_vault ⇒ String (readonly)
The name of a logical container where backups are stored.
Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of letters, numbers, and hyphens.
752 753 754 |
# File 'backup/cfn_backup_plan.rb', line 752 def target_backup_vault @target_backup_vault end |
#target_logically_air_gapped_backup_vault_arn ⇒ String? (readonly)
The ARN of a logically air-gapped vault.
ARN must be in the same account and Region. If provided, supported fully managed resources back up directly to logically air-gapped vault, while other supported resources create a temporary (billable) snapshot in backup vault, then copy it to logically air-gapped vault. Unsupported resources only back up to the specified backup vault.
818 819 820 |
# File 'backup/cfn_backup_plan.rb', line 818 def target_logically_air_gapped_backup_vault_arn @target_logically_air_gapped_backup_vault_arn end |
Class Method Details
.jsii_properties ⇒ Object
820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 |
# File 'backup/cfn_backup_plan.rb', line 820 def self.jsii_properties { :rule_name => "ruleName", :target_backup_vault => "targetBackupVault", :completion_window_minutes => "completionWindowMinutes", :copy_actions => "copyActions", :enable_continuous_backup => "enableContinuousBackup", :index_actions => "indexActions", :lifecycle => "lifecycle", :recovery_point_tags => "recoveryPointTags", :scan_actions => "scanActions", :schedule_expression => "scheduleExpression", :schedule_expression_timezone => "scheduleExpressionTimezone", :start_window_minutes => "startWindowMinutes", :target_logically_air_gapped_backup_vault_arn => "targetLogicallyAirGappedBackupVaultArn", } end |
Instance Method Details
#to_jsii ⇒ Object
838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 |
# File 'backup/cfn_backup_plan.rb', line 838 def to_jsii result = {} result.merge!({ "ruleName" => @rule_name, "targetBackupVault" => @target_backup_vault, "completionWindowMinutes" => @completion_window_minutes, "copyActions" => @copy_actions, "enableContinuousBackup" => @enable_continuous_backup, "indexActions" => @index_actions, "lifecycle" => @lifecycle, "recoveryPointTags" => @recovery_point_tags, "scanActions" => @scan_actions, "scheduleExpression" => @schedule_expression, "scheduleExpressionTimezone" => @schedule_expression_timezone, "startWindowMinutes" => @start_window_minutes, "targetLogicallyAirGappedBackupVaultArn" => @target_logically_air_gapped_backup_vault_arn, }) result.compact end |