Class: AWSCDK::Backup::CfnLogicallyAirGappedBackupVaultProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Backup::CfnLogicallyAirGappedBackupVaultProps
- Defined in:
- backup/cfn_logically_air_gapped_backup_vault_props.rb
Overview
Properties for defining a CfnLogicallyAirGappedBackupVault.
Instance Attribute Summary collapse
-
#access_policy ⇒ Object?
readonly
The backup vault access policy document in JSON format.
-
#backup_vault_name ⇒ String
readonly
The name of a logical container where backups are stored.
-
#backup_vault_tags ⇒ Hash{String => String}?
readonly
The tags to assign to the vault.
-
#encryption_key_arn ⇒ String?
readonly
The server-side encryption key that is used to protect your backups; for example,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. -
#max_retention_days ⇒ Numeric
readonly
The maximum retention period that the vault retains its recovery points.
-
#min_retention_days ⇒ Numeric
readonly
This setting specifies the minimum retention period that the vault retains its recovery points.
-
#mpa_approval_team_arn ⇒ String?
readonly
The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault.
-
#notifications ⇒ AWSCDK::IResolvable, ...
readonly
Returns event notifications for the specified backup vault.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(backup_vault_name:, max_retention_days:, min_retention_days:, access_policy: nil, backup_vault_tags: nil, encryption_key_arn: nil, mpa_approval_team_arn: nil, notifications: nil) ⇒ CfnLogicallyAirGappedBackupVaultProps
constructor
A new instance of CfnLogicallyAirGappedBackupVaultProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(backup_vault_name:, max_retention_days:, min_retention_days:, access_policy: nil, backup_vault_tags: nil, encryption_key_arn: nil, mpa_approval_team_arn: nil, notifications: nil) ⇒ CfnLogicallyAirGappedBackupVaultProps
Returns a new instance of CfnLogicallyAirGappedBackupVaultProps.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 17 def initialize(backup_vault_name:, max_retention_days:, min_retention_days:, access_policy: nil, backup_vault_tags: nil, encryption_key_arn: nil, mpa_approval_team_arn: nil, notifications: nil) @backup_vault_name = backup_vault_name Jsii::Type.check_type(@backup_vault_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "backupVaultName") @max_retention_days = max_retention_days Jsii::Type.check_type(@max_retention_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxRetentionDays") @min_retention_days = min_retention_days Jsii::Type.check_type(@min_retention_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minRetentionDays") @access_policy = access_policy Jsii::Type.check_type(@access_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "accessPolicy") unless @access_policy.nil? @backup_vault_tags = Jsii::Type.check_type(@backup_vault_tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "backupVaultTags") unless @backup_vault_tags.nil? @encryption_key_arn = encryption_key_arn Jsii::Type.check_type(@encryption_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionKeyArn") unless @encryption_key_arn.nil? @mpa_approval_team_arn = mpa_approval_team_arn Jsii::Type.check_type(@mpa_approval_team_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "mpaApprovalTeamArn") unless @mpa_approval_team_arn.nil? @notifications = notifications.is_a?(Hash) ? ::AWSCDK::Backup::CfnLogicallyAirGappedBackupVault::NotificationObjectTypeProperty.new(**notifications.transform_keys(&:to_sym)) : notifications Jsii::Type.check_type(@notifications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYWNrdXAuQ2ZuTG9naWNhbGx5QWlyR2FwcGVkQmFja3VwVmF1bHQuTm90aWZpY2F0aW9uT2JqZWN0VHlwZVByb3BlcnR5In1dfX0=")), "notifications") unless @notifications.nil? end |
Instance Attribute Details
#access_policy ⇒ Object? (readonly)
The backup vault access policy document in JSON format.
59 60 61 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 59 def access_policy @access_policy end |
#backup_vault_name ⇒ String (readonly)
The name of a logical container where backups are stored.
Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created.
42 43 44 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 42 def backup_vault_name @backup_vault_name end |
#backup_vault_tags ⇒ Hash{String => String}? (readonly)
The tags to assign to the vault.
64 65 66 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 64 def @backup_vault_tags end |
#encryption_key_arn ⇒ String? (readonly)
The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab .
If this field is left blank, AWS Backup will create an AWS owned key to be used to encrypt the content of the logically air-gapped vault. The ARN of this created key will be available as Fn::GetAtt output.
71 72 73 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 71 def encryption_key_arn @encryption_key_arn end |
#max_retention_days ⇒ Numeric (readonly)
The maximum retention period that the vault retains its recovery points.
47 48 49 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 47 def max_retention_days @max_retention_days end |
#min_retention_days ⇒ Numeric (readonly)
This setting specifies the minimum retention period that the vault retains its recovery points.
The minimum value accepted is 7 days.
54 55 56 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 54 def min_retention_days @min_retention_days end |
#mpa_approval_team_arn ⇒ String? (readonly)
The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault.
This cannot be changed after it is set from the CloudFormation template.
78 79 80 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 78 def mpa_approval_team_arn @mpa_approval_team_arn end |
#notifications ⇒ AWSCDK::IResolvable, ... (readonly)
Returns event notifications for the specified backup vault.
83 84 85 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 83 def notifications @notifications end |
Class Method Details
.jsii_properties ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 85 def self.jsii_properties { :backup_vault_name => "backupVaultName", :max_retention_days => "maxRetentionDays", :min_retention_days => "minRetentionDays", :access_policy => "accessPolicy", :backup_vault_tags => "backupVaultTags", :encryption_key_arn => "encryptionKeyArn", :mpa_approval_team_arn => "mpaApprovalTeamArn", :notifications => "notifications", } end |
Instance Method Details
#to_jsii ⇒ Object
98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'backup/cfn_logically_air_gapped_backup_vault_props.rb', line 98 def to_jsii result = {} result.merge!({ "backupVaultName" => @backup_vault_name, "maxRetentionDays" => @max_retention_days, "minRetentionDays" => @min_retention_days, "accessPolicy" => @access_policy, "backupVaultTags" => @backup_vault_tags, "encryptionKeyArn" => @encryption_key_arn, "mpaApprovalTeamArn" => @mpa_approval_team_arn, "notifications" => @notifications, }) result.compact end |