Class: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicy

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

Overview

A snapshot 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

Constructor Details

#initialize(**args) ⇒ ResourcePolicySnapshotSchedulePolicy

Returns a new instance of ResourcePolicySnapshotSchedulePolicy.



34713
34714
34715
# File 'lib/google/apis/compute_v1/classes.rb', line 34713

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

Instance Attribute Details

#retention_policyGoogle::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicyRetentionPolicy

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



34701
34702
34703
# File 'lib/google/apis/compute_v1/classes.rb', line 34701

def retention_policy
  @retention_policy
end

#scheduleGoogle::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySchedule

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



34706
34707
34708
# File 'lib/google/apis/compute_v1/classes.rb', line 34706

def schedule
  @schedule
end

#snapshot_propertiesGoogle::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySnapshotProperties

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



34711
34712
34713
# File 'lib/google/apis/compute_v1/classes.rb', line 34711

def snapshot_properties
  @snapshot_properties
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



34718
34719
34720
34721
34722
# File 'lib/google/apis/compute_v1/classes.rb', line 34718

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