Class: Google::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicy

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

Overview

A backup schedule policy specifies when and how frequently snapshots are to be created for the target disk. Also specifies how many and how long these automatically created snapshot should be retained.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ ResourcePolicyBackupSchedulePolicy

Returns a new instance of ResourcePolicyBackupSchedulePolicy



20760
20761
20762
# File 'generated/google/apis/compute_alpha/classes.rb', line 20760

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

Instance Attribute Details

#retention_policyGoogle::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicyRetentionPolicy

Policy for retention of automatically created snapshots. Corresponds to the JSON property retentionPolicy



20748
20749
20750
# File 'generated/google/apis/compute_alpha/classes.rb', line 20748

def retention_policy
  @retention_policy
end

#scheduleGoogle::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicySchedule

A schedule for disks where the schedueled operations are performed. Corresponds to the JSON property schedule



20753
20754
20755
# File 'generated/google/apis/compute_alpha/classes.rb', line 20753

def schedule
  @schedule
end

#snapshot_propertiesGoogle::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicySnapshotProperties

Specified snapshot properties for automatic snapshots created by this policy. Corresponds to the JSON property snapshotProperties



20758
20759
20760
# File 'generated/google/apis/compute_alpha/classes.rb', line 20758

def snapshot_properties
  @snapshot_properties
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



20765
20766
20767
20768
20769
# File 'generated/google/apis/compute_alpha/classes.rb', line 20765

def update!(**args)
  @retention_policy = args[:retention_policy] if args.key?(:retention_policy)
  @schedule = args[:schedule] if args.key?(:schedule)
  @snapshot_properties = args[:snapshot_properties] if args.key?(:snapshot_properties)
end