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.



48424
48425
48426
# File 'lib/google/apis/compute_v1/classes.rb', line 48424

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)


48339
48340
48341
# File 'lib/google/apis/compute_v1/classes.rb', line 48339

def creation_timestamp
  @creation_timestamp
end

#descriptionString

Corresponds to the JSON property description

Returns:

  • (String)


48344
48345
48346
# File 'lib/google/apis/compute_v1/classes.rb', line 48344

def description
  @description
end

#disk_consistency_group_policyGoogle::Apis::ComputeV1::ResourcePolicyDiskConsistencyGroupPolicy

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



48349
48350
48351
# File 'lib/google/apis/compute_v1/classes.rb', line 48349

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



48355
48356
48357
# File 'lib/google/apis/compute_v1/classes.rb', line 48355

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)


48362
48363
48364
# File 'lib/google/apis/compute_v1/classes.rb', line 48362

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



48368
48369
48370
# File 'lib/google/apis/compute_v1/classes.rb', line 48368

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)


48374
48375
48376
# File 'lib/google/apis/compute_v1/classes.rb', line 48374

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)


48386
48387
48388
# File 'lib/google/apis/compute_v1/classes.rb', line 48386

def name
  @name
end

#regionString

Corresponds to the JSON property region

Returns:

  • (String)


48391
48392
48393
# File 'lib/google/apis/compute_v1/classes.rb', line 48391

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



48399
48400
48401
# File 'lib/google/apis/compute_v1/classes.rb', line 48399

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)


48405
48406
48407
# File 'lib/google/apis/compute_v1/classes.rb', line 48405

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



48412
48413
48414
# File 'lib/google/apis/compute_v1/classes.rb', line 48412

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)


48417
48418
48419
# File 'lib/google/apis/compute_v1/classes.rb', line 48417

def status
  @status
end

#workload_policyGoogle::Apis::ComputeV1::ResourcePolicyWorkloadPolicy

Represents the workload policy. Corresponds to the JSON property workloadPolicy



48422
48423
48424
# File 'lib/google/apis/compute_v1/classes.rb', line 48422

def workload_policy
  @workload_policy
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



48429
48430
48431
48432
48433
48434
48435
48436
48437
48438
48439
48440
48441
48442
48443
48444
# File 'lib/google/apis/compute_v1/classes.rb', line 48429

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