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.



71103
71104
71105
# File 'lib/google/apis/compute_alpha/classes.rb', line 71103

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



71095
71096
71097
# File 'lib/google/apis/compute_alpha/classes.rb', line 71095

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



71101
71102
71103
# File 'lib/google/apis/compute_alpha/classes.rb', line 71101

def system_rules
  @system_rules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



71108
71109
71110
71111
# File 'lib/google/apis/compute_alpha/classes.rb', line 71108

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