Class: Google::Apis::ComputeAlpha::ResourcePolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/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 to schedule persistent disk snapshots.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ResourcePolicy

Returns a new instance of ResourcePolicy.



36840
36841
36842
# File 'lib/google/apis/compute_alpha/classes.rb', line 36840

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

Instance Attribute Details

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


36754
36755
36756
# File 'lib/google/apis/compute_alpha/classes.rb', line 36754

def creation_timestamp
  @creation_timestamp
end

#descriptionString

Corresponds to the JSON property description

Returns:

  • (String)


36759
36760
36761
# File 'lib/google/apis/compute_alpha/classes.rb', line 36759

def description
  @description
end

#disk_consistency_group_policyGoogle::Apis::ComputeAlpha::ResourcePolicyDiskConsistencyGroupPolicy

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



36764
36765
36766
# File 'lib/google/apis/compute_alpha/classes.rb', line 36764

def disk_consistency_group_policy
  @disk_consistency_group_policy
end

#group_placement_policyGoogle::Apis::ComputeAlpha::ResourcePolicyGroupPlacementPolicy

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



36770
36771
36772
# File 'lib/google/apis/compute_alpha/classes.rb', line 36770

def group_placement_policy
  @group_placement_policy
end

#idFixnum

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

Returns:

  • (Fixnum)


36776
36777
36778
# File 'lib/google/apis/compute_alpha/classes.rb', line 36776

def id
  @id
end

#instance_schedule_policyGoogle::Apis::ComputeAlpha::ResourcePolicyInstanceSchedulePolicy

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



36782
36783
36784
# File 'lib/google/apis/compute_alpha/classes.rb', line 36782

def instance_schedule_policy
  @instance_schedule_policy
end

#kindString

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

Returns:

  • (String)


36788
36789
36790
# File 'lib/google/apis/compute_alpha/classes.rb', line 36788

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 with RFC1035. 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)


36799
36800
36801
# File 'lib/google/apis/compute_alpha/classes.rb', line 36799

def name
  @name
end

#regionString

Corresponds to the JSON property region

Returns:

  • (String)


36804
36805
36806
# File 'lib/google/apis/compute_alpha/classes.rb', line 36804

def region
  @region
end

#resource_statusGoogle::Apis::ComputeAlpha::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



36811
36812
36813
# File 'lib/google/apis/compute_alpha/classes.rb', line 36811

def resource_status
  @resource_status
end

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

Returns:

  • (String)


36816
36817
36818
# File 'lib/google/apis/compute_alpha/classes.rb', line 36816

def self_link
  @self_link
end

[Output Only] Server-defined URL for this resource with the resource id. Corresponds to the JSON property selfLinkWithId

Returns:

  • (String)


36821
36822
36823
# File 'lib/google/apis/compute_alpha/classes.rb', line 36821

def self_link_with_id
  @self_link_with_id
end

#snapshot_schedule_policyGoogle::Apis::ComputeAlpha::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



36828
36829
36830
# File 'lib/google/apis/compute_alpha/classes.rb', line 36828

def snapshot_schedule_policy
  @snapshot_schedule_policy
end

#statusString

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

Returns:

  • (String)


36833
36834
36835
# File 'lib/google/apis/compute_alpha/classes.rb', line 36833

def status
  @status
end

#vm_maintenance_policyGoogle::Apis::ComputeAlpha::ResourcePolicyVmMaintenancePolicy

Resource policy applicable to VMs for infrastructure maintenance. Corresponds to the JSON property vmMaintenancePolicy



36838
36839
36840
# File 'lib/google/apis/compute_alpha/classes.rb', line 36838

def vm_maintenance_policy
  @vm_maintenance_policy
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



36845
36846
36847
36848
36849
36850
36851
36852
36853
36854
36855
36856
36857
36858
36859
36860
36861
# File 'lib/google/apis/compute_alpha/classes.rb', line 36845

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)
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
  @status = args[:status] if args.key?(:status)
  @vm_maintenance_policy = args[:vm_maintenance_policy] if args.key?(:vm_maintenance_policy)
end