Class: Google::Apis::ComputeV1::ResourcePolicy

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

Represents a Resource Policy resource. You can use resource policies to schedule actions for some Compute Engine resources. For example, you can use them toschedule persistent disk snapshots.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ResourcePolicy

Returns a new instance of ResourcePolicy.



44974
44975
44976
# File 'lib/google/apis/compute_v1/classes.rb', line 44974

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

Instance Attribute Details

#creation_timestampString

Output only. [Output Only] Creation timestamp inRFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


44889
44890
44891
# File 'lib/google/apis/compute_v1/classes.rb', line 44889

def creation_timestamp
  @creation_timestamp
end

#descriptionString

Corresponds to the JSON property description

Returns:

  • (String)


44894
44895
44896
# File 'lib/google/apis/compute_v1/classes.rb', line 44894

def description
  @description
end

#disk_consistency_group_policyGoogle::Apis::ComputeV1::ResourcePolicyDiskConsistencyGroupPolicy

Resource policy for disk consistency groups. Corresponds to the JSON property diskConsistencyGroupPolicy



44899
44900
44901
# File 'lib/google/apis/compute_v1/classes.rb', line 44899

def disk_consistency_group_policy
  @disk_consistency_group_policy
end

#group_placement_policyGoogle::Apis::ComputeV1::ResourcePolicyGroupPlacementPolicy

A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation Corresponds to the JSON property groupPlacementPolicy



44905
44906
44907
# File 'lib/google/apis/compute_v1/classes.rb', line 44905

def group_placement_policy
  @group_placement_policy
end

#idFixnum

Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


44912
44913
44914
# File 'lib/google/apis/compute_v1/classes.rb', line 44912

def id
  @id
end

#instance_schedule_policyGoogle::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicy

An InstanceSchedulePolicy specifies when and how frequent certain operations are performed on the instance. Corresponds to the JSON property instanceSchedulePolicy



44918
44919
44920
# File 'lib/google/apis/compute_v1/classes.rb', line 44918

def instance_schedule_policy
  @instance_schedule_policy
end

#kindString

Output only. [Output Only] Type of the resource. Alwayscompute# resource_policies for resource policies. Corresponds to the JSON property kind

Returns:

  • (String)


44924
44925
44926
# File 'lib/google/apis/compute_v1/classes.rb', line 44924

def kind
  @kind
end

#nameString

The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property name

Returns:

  • (String)


44936
44937
44938
# File 'lib/google/apis/compute_v1/classes.rb', line 44936

def name
  @name
end

#regionString

Corresponds to the JSON property region

Returns:

  • (String)


44941
44942
44943
# File 'lib/google/apis/compute_v1/classes.rb', line 44941

def region
  @region
end

#resource_statusGoogle::Apis::ComputeV1::ResourcePolicyResourceStatus

Contains output only fields. Use this sub-message for all output fields set on ResourcePolicy. The internal structure of this "status" field should mimic the structure of ResourcePolicy proto specification. Corresponds to the JSON property resourceStatus



44949
44950
44951
# File 'lib/google/apis/compute_v1/classes.rb', line 44949

def resource_status
  @resource_status
end

Output only. [Output Only] Server-defined fully-qualified URL for this resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


44955
44956
44957
# File 'lib/google/apis/compute_v1/classes.rb', line 44955

def self_link
  @self_link
end

#snapshot_schedule_policyGoogle::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicy

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. Corresponds to the JSON property snapshotSchedulePolicy



44962
44963
44964
# File 'lib/google/apis/compute_v1/classes.rb', line 44962

def snapshot_schedule_policy
  @snapshot_schedule_policy
end

#statusString

Output only. [Output Only] The status of resource policy creation. Corresponds to the JSON property status

Returns:

  • (String)


44967
44968
44969
# File 'lib/google/apis/compute_v1/classes.rb', line 44967

def status
  @status
end

#workload_policyGoogle::Apis::ComputeV1::ResourcePolicyWorkloadPolicy

Represents the workload policy. Corresponds to the JSON property workloadPolicy



44972
44973
44974
# File 'lib/google/apis/compute_v1/classes.rb', line 44972

def workload_policy
  @workload_policy
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



44979
44980
44981
44982
44983
44984
44985
44986
44987
44988
44989
44990
44991
44992
44993
44994
# File 'lib/google/apis/compute_v1/classes.rb', line 44979

def update!(**args)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @disk_consistency_group_policy = args[:disk_consistency_group_policy] if args.key?(:disk_consistency_group_policy)
  @group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy)
  @id = args[:id] if args.key?(:id)
  @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @region = args[:region] if args.key?(:region)
  @resource_status = args[:resource_status] if args.key?(:resource_status)
  @self_link = args[:self_link] if args.key?(:self_link)
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
  @status = args[:status] if args.key?(:status)
  @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
end