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

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/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

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

#to_json

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

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ ResourcePolicySnapshotSchedulePolicy

Returns a new instance of ResourcePolicySnapshotSchedulePolicy



19072
19073
19074
# File 'generated/google/apis/compute_v1/classes.rb', line 19072

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



19060
19061
19062
# File 'generated/google/apis/compute_v1/classes.rb', line 19060

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



19065
19066
19067
# File 'generated/google/apis/compute_v1/classes.rb', line 19065

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



19070
19071
19072
# File 'generated/google/apis/compute_v1/classes.rb', line 19070

def snapshot_properties
  @snapshot_properties
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



19077
19078
19079
19080
19081
# File 'generated/google/apis/compute_v1/classes.rb', line 19077

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