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 scheduled snapshots 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



21339
21340
21341
# File 'generated/google/apis/compute_alpha/classes.rb', line 21339

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

Instance Attribute Details

#retention_policyGoogle::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicyRetentionPolicy

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



21327
21328
21329
# File 'generated/google/apis/compute_alpha/classes.rb', line 21327

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



21332
21333
21334
# File 'generated/google/apis/compute_alpha/classes.rb', line 21332

def schedule
  @schedule
end

#snapshot_propertiesGoogle::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicySnapshotProperties

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



21337
21338
21339
# File 'generated/google/apis/compute_alpha/classes.rb', line 21337

def snapshot_properties
  @snapshot_properties
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



21344
21345
21346
21347
21348
# File 'generated/google/apis/compute_alpha/classes.rb', line 21344

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