Class: Google::Apis::ComputeAlpha::SnapshotRecycleBinPolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb

Overview

Represents the singleton resource Snapshot Recycle Bin Policy that configures the retention duration for snapshots in the recycle bin. You can configure the retention duration for snapshots in the recycle bin at the project or organization level. If you configure the policy at the organization level, all projects in that organization will share the same policy. If you configure the policy at the project level it will be merged with org level policy (if any) and the snapshots in that project will use that policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SnapshotRecycleBinPolicy

Returns a new instance of SnapshotRecycleBinPolicy.



72529
72530
72531
# File 'lib/google/apis/compute_alpha/classes.rb', line 72529

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#rulesHash<String,Google::Apis::ComputeAlpha::SnapshotRecycleBinPolicyRule>

The rules for the snapshot recycle bin policy. The key is either 'default' or namespacedName of the TagValue which can be in the format: organization_id`/`tag_key_short_name`/`tag_value_short_name or project_id`/`tag_key_short_name`/`tag_value_short_name or project_number`/`tag_key_short_name`/`tag_value_short_name. The default rule is applied if snapshots do not have any of these tags. The value is the rule for the key. Corresponds to the JSON property rules



72521
72522
72523
# File 'lib/google/apis/compute_alpha/classes.rb', line 72521

def rules
  @rules
end

#system_rulesHash<String,Google::Apis::ComputeAlpha::SnapshotRecycleBinPolicyRule>

Output only. The system rules for snapshot recycle bin policy. Defines the default rule that applies if no customer-defined rule matches. Corresponds to the JSON property systemRules



72527
72528
72529
# File 'lib/google/apis/compute_alpha/classes.rb', line 72527

def system_rules
  @system_rules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



72534
72535
72536
72537
# File 'lib/google/apis/compute_alpha/classes.rb', line 72534

def update!(**args)
  @rules = args[:rules] if args.key?(:rules)
  @system_rules = args[:system_rules] if args.key?(:system_rules)
end