Class: Google::Apis::ComputeAlpha::VmExtensionPolicy

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 VM extension policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ VmExtensionPolicy

Returns a new instance of VmExtensionPolicy.



70498
70499
70500
# File 'lib/google/apis/compute_alpha/classes.rb', line 70498

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)


70415
70416
70417
# File 'lib/google/apis/compute_alpha/classes.rb', line 70415

def creation_timestamp
  @creation_timestamp
end

#descriptionString

An optional description of this resource. Corresponds to the JSON property description

Returns:

  • (String)


70420
70421
70422
# File 'lib/google/apis/compute_alpha/classes.rb', line 70420

def description
  @description
end

#extension_policiesHash<String,Google::Apis::ComputeAlpha::VmExtensionPolicyExtensionPolicy>

Required. A map of extension names (e.g., "cloudops") to their corresponding policy configurations. Corresponds to the JSON property extensionPolicies



70426
70427
70428
# File 'lib/google/apis/compute_alpha/classes.rb', line 70426

def extension_policies
  @extension_policies
end

Optional. [Output Only] Link to the global policy that manages this zone policy, if applicable. Corresponds to the JSON property globalResourceLink

Returns:

  • (String)


70432
70433
70434
# File 'lib/google/apis/compute_alpha/classes.rb', line 70432

def global_resource_link
  @global_resource_link
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)


70438
70439
70440
# File 'lib/google/apis/compute_alpha/classes.rb', line 70438

def id
  @id
end

#instance_selectorsArray<Google::Apis::ComputeAlpha::VmExtensionPolicyInstanceSelector>

Optional. Selectors to target VMs for this policy. VMs are selected if they match any of the provided selectors (logical OR). If this list is empty, the policy applies to all VMs. Corresponds to the JSON property instanceSelectors



70445
70446
70447
# File 'lib/google/apis/compute_alpha/classes.rb', line 70445

def instance_selectors
  @instance_selectors
end

#kindString

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

Returns:

  • (String)


70450
70451
70452
# File 'lib/google/apis/compute_alpha/classes.rb', line 70450

def kind
  @kind
end

#managed_by_globalBoolean Also known as: managed_by_global?

Optional. [Output Only] Indicates if this policy is managed by a global policy. Corresponds to the JSON property managedByGlobal

Returns:

  • (Boolean)


70455
70456
70457
# File 'lib/google/apis/compute_alpha/classes.rb', line 70455

def managed_by_global
  @managed_by_global
end

#nameString

Name of the resource. Provided by the client when the resource is created. The 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)


70466
70467
70468
# File 'lib/google/apis/compute_alpha/classes.rb', line 70466

def name
  @name
end

#priorityFixnum

Optional. Priority of this policy. Used to resolve conflicts when multiple policies apply to the same extension. The policy priority is an integer from 0 to 65535, inclusive. Lower integers indicate higher priorities. If you do not specify a priority when creating a rule, it is assigned a priority of 1000. If priorities are equal, the policy with the more recent creation timestamp takes precedence. Corresponds to the JSON property priority

Returns:

  • (Fixnum)


70476
70477
70478
# File 'lib/google/apis/compute_alpha/classes.rb', line 70476

def priority
  @priority
end

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

Returns:

  • (String)


70481
70482
70483
# File 'lib/google/apis/compute_alpha/classes.rb', line 70481

def self_link
  @self_link
end

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

Returns:

  • (String)


70486
70487
70488
# File 'lib/google/apis/compute_alpha/classes.rb', line 70486

def self_link_with_id
  @self_link_with_id
end

#stateString

Optional. [Output Only] Current state of the policy: ACTIVE or DELETING. Corresponds to the JSON property state

Returns:

  • (String)


70491
70492
70493
# File 'lib/google/apis/compute_alpha/classes.rb', line 70491

def state
  @state
end

#update_timestampString

[Output Only] Update timestamp in RFC3339 text format. Corresponds to the JSON property updateTimestamp

Returns:

  • (String)


70496
70497
70498
# File 'lib/google/apis/compute_alpha/classes.rb', line 70496

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



70503
70504
70505
70506
70507
70508
70509
70510
70511
70512
70513
70514
70515
70516
70517
70518
# File 'lib/google/apis/compute_alpha/classes.rb', line 70503

def update!(**args)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @extension_policies = args[:extension_policies] if args.key?(:extension_policies)
  @global_resource_link = args[:global_resource_link] if args.key?(:global_resource_link)
  @id = args[:id] if args.key?(:id)
  @instance_selectors = args[:instance_selectors] if args.key?(:instance_selectors)
  @kind = args[:kind] if args.key?(:kind)
  @managed_by_global = args[:managed_by_global] if args.key?(:managed_by_global)
  @name = args[:name] if args.key?(:name)
  @priority = args[:priority] if args.key?(:priority)
  @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)
  @state = args[:state] if args.key?(:state)
  @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
end