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.



73111
73112
73113
# File 'lib/google/apis/compute_alpha/classes.rb', line 73111

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



73103
73104
73105
# File 'lib/google/apis/compute_alpha/classes.rb', line 73103

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



73109
73110
73111
# File 'lib/google/apis/compute_alpha/classes.rb', line 73109

def system_rules
  @system_rules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



73116
73117
73118
73119
# File 'lib/google/apis/compute_alpha/classes.rb', line 73116

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