Class: Google::Cloud::Compute::V1::Instances::Rest::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/compute/v1/instances/rest/client.rb

Overview

REST client for the Instances service.

The Instances API.

Defined Under Namespace

Classes: Configuration

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|config| ... } ⇒ Client

Create a new Instances REST client object.

Examples:


# Create a client using the default configuration
client = ::Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Compute::V1::Instances::Rest::Client.new do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Instances client.

Yield Parameters:



257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 257

def initialize
  # Create the configuration object
  @config = Configuration.new Client.configure

  # Yield the configuration if needed
  yield @config if block_given?

  # Create credentials
  credentials = @config.credentials
  # Use self-signed JWT if the endpoint is unchanged from default,
  # but only if the default endpoint does not have a region prefix.
  enable_self_signed_jwt = @config.endpoint.nil? ||
                           (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
                           !@config.endpoint.split(".").first.include?("-"))
  credentials ||= Credentials.default scope: @config.scope,
                                      enable_self_signed_jwt: enable_self_signed_jwt
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end

  @quota_project_id = @config.quota_project
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id

  @zone_operations = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::Client.new do |config|
    config.credentials = credentials
    config.quota_project = @quota_project_id
    config.endpoint = @config.endpoint
    config.universe_domain = @config.universe_domain
  end

  @instances_stub = ::Google::Cloud::Compute::V1::Instances::Rest::ServiceStub.new(
    endpoint: @config.endpoint,
    endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
    universe_domain: @config.universe_domain,
    credentials: credentials,
    logger: @config.logger
  )

  @instances_stub.logger(stub: true)&.info do |entry|
    entry.set_system_name
    entry.set_service
    entry.message = "Created client for #{entry.service}"
    entry.set_credentials_fields credentials
    entry.set "customEndpoint", @config.endpoint if @config.endpoint
    entry.set "defaultTimeout", @config.timeout if @config.timeout
    entry.set "quotaProject", @quota_project_id if @quota_project_id
  end
end

Instance Attribute Details

#zone_operations::Google::Cloud::Compute::V1::ZoneOperations::Rest::Client (readonly)

Get the associated client for long-running operations via ZoneOperations.



311
312
313
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 311

def zone_operations
  @zone_operations
end

Class Method Details

.configure {|config| ... } ⇒ Client::Configuration

Configure the Instances Client class.

See Configuration for a description of the configuration fields.

Examples:


# Modify the configuration for all Instances clients
::Google::Cloud::Compute::V1::Instances::Rest::Client.configure do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 63

def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Compute", "V1"]
    parent_config = while namespace.any?
                      parent_name = namespace.join "::"
                      parent_const = const_get parent_name
                      break parent_const.configure if parent_const.respond_to? :configure
                      namespace.pop
                    end
    default_config = Client::Configuration.new parent_config

    default_config.rpcs.add_access_config.timeout = 600.0

    default_config.rpcs.add_network_interface.timeout = 600.0

    default_config.rpcs.add_resource_policies.timeout = 600.0

    default_config.rpcs.aggregated_list.timeout = 600.0
    default_config.rpcs.aggregated_list.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.attach_disk.timeout = 600.0

    default_config.rpcs.bulk_insert.timeout = 600.0

    default_config.rpcs.delete.timeout = 600.0

    default_config.rpcs.delete_access_config.timeout = 600.0

    default_config.rpcs.delete_network_interface.timeout = 600.0

    default_config.rpcs.detach_disk.timeout = 600.0

    default_config.rpcs.get.timeout = 600.0
    default_config.rpcs.get.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.get_effective_firewalls.timeout = 600.0
    default_config.rpcs.get_effective_firewalls.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.get_guest_attributes.timeout = 600.0
    default_config.rpcs.get_guest_attributes.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.get_iam_policy.timeout = 600.0
    default_config.rpcs.get_iam_policy.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.get_screenshot.timeout = 600.0
    default_config.rpcs.get_screenshot.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.get_serial_port_output.timeout = 600.0
    default_config.rpcs.get_serial_port_output.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.get_shielded_instance_identity.timeout = 600.0
    default_config.rpcs.get_shielded_instance_identity.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.insert.timeout = 600.0

    default_config.rpcs.list.timeout = 600.0
    default_config.rpcs.list.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.list_referrers.timeout = 600.0
    default_config.rpcs.list_referrers.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
    }

    default_config.rpcs.perform_maintenance.timeout = 600.0

    default_config.rpcs.remove_resource_policies.timeout = 600.0

    default_config.rpcs.report_host_as_faulty.timeout = 600.0

    default_config.rpcs.reset.timeout = 600.0

    default_config.rpcs.resume.timeout = 600.0

    default_config.rpcs.send_diagnostic_interrupt.timeout = 600.0

    default_config.rpcs.set_deletion_protection.timeout = 600.0

    default_config.rpcs.set_disk_auto_delete.timeout = 600.0

    default_config.rpcs.set_iam_policy.timeout = 600.0

    default_config.rpcs.set_labels.timeout = 600.0

    default_config.rpcs.set_machine_resources.timeout = 600.0

    default_config.rpcs.set_machine_type.timeout = 600.0

    default_config.rpcs..timeout = 600.0

    default_config.rpcs.set_min_cpu_platform.timeout = 600.0

    default_config.rpcs.set_name.timeout = 600.0

    default_config.rpcs.set_scheduling.timeout = 600.0

    default_config.rpcs.set_security_policy.timeout = 600.0

    default_config.rpcs..timeout = 600.0

    default_config.rpcs.set_shielded_instance_integrity_policy.timeout = 600.0

    default_config.rpcs.set_tags.timeout = 600.0

    default_config.rpcs.simulate_maintenance_event.timeout = 600.0

    default_config.rpcs.start.timeout = 600.0

    default_config.rpcs.start_with_encryption_key.timeout = 600.0

    default_config.rpcs.stop.timeout = 600.0

    default_config.rpcs.suspend.timeout = 600.0

    default_config.rpcs.test_iam_permissions.timeout = 600.0

    default_config.rpcs.update.timeout = 600.0

    default_config.rpcs.update_access_config.timeout = 600.0

    default_config.rpcs.update_display_device.timeout = 600.0

    default_config.rpcs.update_network_interface.timeout = 600.0

    default_config.rpcs.update_shielded_instance_config.timeout = 600.0

    default_config
  end
  yield @configure if block_given?
  @configure
end

Instance Method Details

#add_access_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #add_access_config(access_config_resource: nil, instance: nil, network_interface: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Adds an access config to an instance's network interface.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::AddAccessConfigInstanceRequest.new

# Call the add_access_config method.
result = client.add_access_config request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #add_access_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to add_access_config via a request object, either of type AddAccessConfigInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::AddAccessConfigInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #add_access_config(access_config_resource: nil, instance: nil, network_interface: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to add_access_config via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • access_config_resource (::Google::Cloud::Compute::V1::AccessConfig, ::Hash) (defaults to: nil)

      The body resource for this request

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • network_interface (::String) (defaults to: nil)

      The name of the network interface to add to this instance.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 389

def add_access_config request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::AddAccessConfigInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.add_access_config..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.add_access_config.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.add_access_config.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.add_access_config request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#add_network_interface(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #add_network_interface(instance: nil, network_interface_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Adds one dynamic network interface to an active instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::AddNetworkInterfaceInstanceRequest.new

# Call the add_network_interface method.
result = client.add_network_interface request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #add_network_interface(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to add_network_interface via a request object, either of type AddNetworkInterfaceInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::AddNetworkInterfaceInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #add_network_interface(instance: nil, network_interface_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to add_network_interface via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      The instance name for this request stored as resource_id. Name should conform to RFC1035 or be an unsigned long integer.

    • network_interface_resource (::Google::Cloud::Compute::V1::NetworkInterface, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 498

def add_network_interface request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::AddNetworkInterfaceInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.add_network_interface..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.add_network_interface.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.add_network_interface.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.add_network_interface request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#add_resource_policies(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #add_resource_policies(instance: nil, instances_add_resource_policies_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::AddResourcePoliciesInstanceRequest.new

# Call the add_resource_policies method.
result = client.add_resource_policies request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #add_resource_policies(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to add_resource_policies via a request object, either of type AddResourcePoliciesInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::AddResourcePoliciesInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #add_resource_policies(instance: nil, instances_add_resource_policies_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to add_resource_policies via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • instances_add_resource_policies_request_resource (::Google::Cloud::Compute::V1::InstancesAddResourcePoliciesRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 608

def add_resource_policies request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::AddResourcePoliciesInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.add_resource_policies..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.add_resource_policies.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.add_resource_policies.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.add_resource_policies request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#aggregated_list(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::InstancesScopedList> #aggregated_list(filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil, service_project_number: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::InstancesScopedList>

Retrieves an aggregated list of all of the instances in your project across all regions and zones.

The performance of this method degrades when a filter is specified on a project that has a very large number of instances.

To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::AggregatedListInstancesRequest.new

# Call the aggregated_list method.
result = client.aggregated_list request

# The returned object is of type Google::Cloud::Compute::V1::InstanceAggregatedList.
p result

Overloads:

  • #aggregated_list(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::InstancesScopedList>

    Pass arguments to aggregated_list via a request object, either of type AggregatedListInstancesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::AggregatedListInstancesRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #aggregated_list(filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil, service_project_number: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::InstancesScopedList>

    Pass arguments to aggregated_list via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • filter (::String) (defaults to: nil)

      A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request.

      If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either =, !=, >, <, <=, >= or :.

      For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.

      The :* comparison can be used to test whether a key has been defined. For example, to find all objects with owner label use:

      labels.owner:*
      

      You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based onresource labels.

      To filter on multiple expressions, provide each separate expression within parentheses. For example:

      (scheduling.automaticRestart = true)
      (cpuPlatform = "Intel Skylake")
      

      By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example:

      (cpuPlatform = "Intel Skylake") OR
      (cpuPlatform = "Intel Broadwell") AND
      (scheduling.automaticRestart = true)
      

      If you want to use a regular expression, use the eq (equal) or ne (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples:

      fieldname eq unquoted literal fieldname eq 'single quoted literal' fieldname eq "double quoted literal" (fieldname1 eq literal) (fieldname2 ne "literal")

      The literal value is interpreted as a regular expression using GoogleRE2 library syntax. The literal value must match the entire field.

      For example, to filter for instances that do not end with name "instance", you would use name ne .*instance.

      You cannot combine constraints on multiple fields using regular expressions.

    • include_all_scopes (::Boolean) (defaults to: nil)

      Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.

    • max_results (::Integer) (defaults to: nil)

      The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)

    • order_by (::String) (defaults to: nil)

      Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.

      You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.

      Currently, only sorting by name or creationTimestamp desc is supported.

    • page_token (::String) (defaults to: nil)

      Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • return_partial_success (::Boolean) (defaults to: nil)

      Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.

      For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

    • service_project_number (::Integer) (defaults to: nil)

      The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 802

def aggregated_list request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::AggregatedListInstancesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.aggregated_list..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.aggregated_list.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.aggregated_list.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.aggregated_list request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @instances_stub, :aggregated_list, "items", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#attach_disk(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #attach_disk(attached_disk_resource: nil, force_attach: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, readAdding a persistent disk to your instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::AttachDiskInstanceRequest.new

# Call the attach_disk method.
result = client.attach_disk request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #attach_disk(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to attach_disk via a request object, either of type AttachDiskInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::AttachDiskInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #attach_disk(attached_disk_resource: nil, force_attach: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to attach_disk via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • attached_disk_resource (::Google::Cloud::Compute::V1::AttachedDisk, ::Hash) (defaults to: nil)

      The body resource for this request

    • force_attach (::Boolean) (defaults to: nil)

      Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 909

def attach_disk request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::AttachDiskInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.attach_disk..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.attach_disk.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.attach_disk.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.attach_disk request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#bulk_insert(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #bulk_insert(bulk_insert_instance_resource_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Creates multiple instances. Count specifies the number of instances to create. For more information, seeAbout bulk creation of VMs.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::BulkInsertInstanceRequest.new

# Call the bulk_insert method.
result = client.bulk_insert request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #bulk_insert(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to bulk_insert via a request object, either of type BulkInsertInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::BulkInsertInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #bulk_insert(bulk_insert_instance_resource_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to bulk_insert via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • bulk_insert_instance_resource_resource (::Google::Cloud::Compute::V1::BulkInsertInstanceResource, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1017

def bulk_insert request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::BulkInsertInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.bulk_insert..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.bulk_insert.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.bulk_insert.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.bulk_insert request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#configure {|config| ... } ⇒ Client::Configuration

Configure the Instances Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on configure.

See Configuration for a description of the configuration fields.

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



227
228
229
230
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 227

def configure
  yield @config if block_given?
  @config
end

#delete(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #delete(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Deletes the specified Instance resource. For more information, seeDeleting an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::DeleteInstanceRequest.new

# Call the delete method.
result = client.delete request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #delete(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to delete via a request object, either of type DeleteInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::DeleteInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to delete via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance resource to delete.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1124

def delete request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::DeleteInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.delete request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_access_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #delete_access_config(access_config: nil, instance: nil, network_interface: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Deletes an access config from an instance's network interface.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::DeleteAccessConfigInstanceRequest.new

# Call the delete_access_config method.
result = client.delete_access_config request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #delete_access_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to delete_access_config via a request object, either of type DeleteAccessConfigInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::DeleteAccessConfigInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_access_config(access_config: nil, instance: nil, network_interface: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to delete_access_config via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • access_config (::String) (defaults to: nil)

      The name of the access config to delete.

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • network_interface (::String) (defaults to: nil)

      The name of the network interface.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1234

def delete_access_config request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::DeleteAccessConfigInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_access_config..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_access_config.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_access_config.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.delete_access_config request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_network_interface(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #delete_network_interface(instance: nil, network_interface_name: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Deletes one dynamic network interface from an active instance. InstancesDeleteNetworkInterfaceRequest indicates:

  • instance from which to delete, using project+zone+resource_id fields;
  • dynamic network interface to be deleted, using network_interface_name field;

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::DeleteNetworkInterfaceInstanceRequest.new

# Call the delete_network_interface method.
result = client.delete_network_interface request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #delete_network_interface(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to delete_network_interface via a request object, either of type DeleteNetworkInterfaceInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::DeleteNetworkInterfaceInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_network_interface(instance: nil, network_interface_name: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to delete_network_interface via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      The instance name for this request stored as resource_id. Name should conform to RFC1035 or be an unsigned long integer.

    • network_interface_name (::String) (defaults to: nil)

      The name of the dynamic network interface to be deleted from the instance.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1347

def delete_network_interface request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::DeleteNetworkInterfaceInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_network_interface..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_network_interface.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_network_interface.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.delete_network_interface request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#detach_disk(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #detach_disk(device_name: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Detaches a disk from an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::DetachDiskInstanceRequest.new

# Call the detach_disk method.
result = client.detach_disk request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #detach_disk(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to detach_disk via a request object, either of type DetachDiskInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::DetachDiskInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #detach_disk(device_name: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to detach_disk via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • device_name (::String) (defaults to: nil)

      The device name of the disk to detach. Make a get() request on the instance to view currently attached disks and device names.

    • instance (::String) (defaults to: nil)

      Instance name for this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1456

def detach_disk request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::DetachDiskInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.detach_disk..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.detach_disk.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.detach_disk.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.detach_disk request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Instance #get(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::Instance

Returns the specified Instance resource.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetInstanceRequest.new

# Call the get method.
result = client.get request

# The returned object is of type Google::Cloud::Compute::V1::Instance.
p result

Overloads:

  • #get(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Instance

    Pass arguments to get via a request object, either of type GetInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::Instance

    Pass arguments to get via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance resource to return.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1548

def get request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_effective_firewalls(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::InstancesGetEffectiveFirewallsResponse #get_effective_firewalls(instance: nil, network_interface: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::InstancesGetEffectiveFirewallsResponse

Returns effective firewalls applied to an interface of the instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetEffectiveFirewallsInstanceRequest.new

# Call the get_effective_firewalls method.
result = client.get_effective_firewalls request

# The returned object is of type Google::Cloud::Compute::V1::InstancesGetEffectiveFirewallsResponse.
p result

Overloads:

  • #get_effective_firewalls(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::InstancesGetEffectiveFirewallsResponse

    Pass arguments to get_effective_firewalls via a request object, either of type GetEffectiveFirewallsInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetEffectiveFirewallsInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_effective_firewalls(instance: nil, network_interface: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::InstancesGetEffectiveFirewallsResponse

    Pass arguments to get_effective_firewalls via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • network_interface (::String) (defaults to: nil)

      The name of the network interface to get the effective firewalls.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1632

def get_effective_firewalls request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetEffectiveFirewallsInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_effective_firewalls..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_effective_firewalls.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_effective_firewalls.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get_effective_firewalls request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_guest_attributes(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::GuestAttributes #get_guest_attributes(instance: nil, project: nil, query_path: nil, variable_key: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::GuestAttributes

Returns the specified guest attributes entry.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetGuestAttributesInstanceRequest.new

# Call the get_guest_attributes method.
result = client.get_guest_attributes request

# The returned object is of type Google::Cloud::Compute::V1::GuestAttributes.
p result

Overloads:

  • #get_guest_attributes(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::GuestAttributes

    Pass arguments to get_guest_attributes via a request object, either of type GetGuestAttributesInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetGuestAttributesInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_guest_attributes(instance: nil, project: nil, query_path: nil, variable_key: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::GuestAttributes

    Pass arguments to get_guest_attributes via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • query_path (::String) (defaults to: nil)

      Specifies the guest attributes path to be queried.

    • variable_key (::String) (defaults to: nil)

      Specifies the key for the guest attributes entry.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1718

def get_guest_attributes request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetGuestAttributesInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_guest_attributes..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_guest_attributes.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_guest_attributes.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get_guest_attributes request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_iam_policy(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Policy #get_iam_policy(options_requested_policy_version: nil, project: nil, resource: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::Policy

Gets the access control policy for a resource. May be empty if no such policy or resource exists.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetIamPolicyInstanceRequest.new

# Call the get_iam_policy method.
result = client.get_iam_policy request

# The returned object is of type Google::Cloud::Compute::V1::Policy.
p result

Overloads:

  • #get_iam_policy(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Policy

    Pass arguments to get_iam_policy via a request object, either of type GetIamPolicyInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetIamPolicyInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_iam_policy(options_requested_policy_version: nil, project: nil, resource: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::Policy

    Pass arguments to get_iam_policy via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • options_requested_policy_version (::Integer) (defaults to: nil)

      Requested IAM Policy version.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • resource (::String) (defaults to: nil)

      Name or id of the resource for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1803

def get_iam_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetIamPolicyInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_iam_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_iam_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_iam_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get_iam_policy request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_screenshot(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Screenshot #get_screenshot(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::Screenshot

Returns the screenshot from the specified instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetScreenshotInstanceRequest.new

# Call the get_screenshot method.
result = client.get_screenshot request

# The returned object is of type Google::Cloud::Compute::V1::Screenshot.
p result

Overloads:

  • #get_screenshot(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Screenshot

    Pass arguments to get_screenshot via a request object, either of type GetScreenshotInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetScreenshotInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_screenshot(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::Screenshot

    Pass arguments to get_screenshot via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1885

def get_screenshot request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetScreenshotInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_screenshot..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_screenshot.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_screenshot.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get_screenshot request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_serial_port_output(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::SerialPortOutput #get_serial_port_output(instance: nil, port: nil, project: nil, start: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::SerialPortOutput

Returns the last 1 MB of serial port output from the specified instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetSerialPortOutputInstanceRequest.new

# Call the get_serial_port_output method.
result = client.get_serial_port_output request

# The returned object is of type Google::Cloud::Compute::V1::SerialPortOutput.
p result

Overloads:

  • #get_serial_port_output(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::SerialPortOutput

    Pass arguments to get_serial_port_output via a request object, either of type GetSerialPortOutputInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetSerialPortOutputInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_serial_port_output(instance: nil, port: nil, project: nil, start: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::SerialPortOutput

    Pass arguments to get_serial_port_output via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance for this request.

    • port (::Integer) (defaults to: nil)

      Specifies which COM or serial port to retrieve data from.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • start (::Integer) (defaults to: nil)

      Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to 0.

      If the output for that byte position is available, this field matches the start parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the start property value.

      You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 1987

def get_serial_port_output request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetSerialPortOutputInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_serial_port_output..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_serial_port_output.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_serial_port_output.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get_serial_port_output request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_shielded_instance_identity(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::ShieldedInstanceIdentity #get_shielded_instance_identity(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::ShieldedInstanceIdentity

Returns the Shielded Instance Identity of an instance

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::GetShieldedInstanceIdentityInstanceRequest.new

# Call the get_shielded_instance_identity method.
result = client.get_shielded_instance_identity request

# The returned object is of type Google::Cloud::Compute::V1::ShieldedInstanceIdentity.
p result

Overloads:

  • #get_shielded_instance_identity(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::ShieldedInstanceIdentity

    Pass arguments to get_shielded_instance_identity via a request object, either of type GetShieldedInstanceIdentityInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetShieldedInstanceIdentityInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_shielded_instance_identity(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::ShieldedInstanceIdentity

    Pass arguments to get_shielded_instance_identity via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name or id of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2069

def get_shielded_instance_identity request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetShieldedInstanceIdentityInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_shielded_instance_identity..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_shielded_instance_identity.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_shielded_instance_identity.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.get_shielded_instance_identity request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#insert(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #insert(instance_resource: nil, project: nil, request_id: nil, source_instance_template: nil, source_machine_image: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Creates an instance resource in the specified project using the data included in the request.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::InsertInstanceRequest.new

# Call the insert method.
result = client.insert request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #insert(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to insert via a request object, either of type Google::Cloud::Compute::V1::InsertInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::InsertInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #insert(instance_resource: nil, project: nil, request_id: nil, source_instance_template: nil, source_machine_image: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to insert via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance_resource (::Google::Cloud::Compute::V1::Instance, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • source_instance_template (::String) (defaults to: nil)

      Specifies instance template to create the instance.

      This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template:

        - https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate
        - projects/project/global/instanceTemplates/instanceTemplate
        - global/instanceTemplates/instanceTemplate
      
    • source_machine_image (::String) (defaults to: nil)

      Specifies the machine image to use to create the instance.

      This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to a machine image:

        - https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage
        - projects/project/global/global/machineImages/machineImage
        - global/machineImages/machineImage
      
    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2186

def insert request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::InsertInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.insert..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.insert.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.insert.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.insert request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Instance> #list(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil, zone: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Instance>

Retrieves the list of instances contained within the specified zone.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::ListInstancesRequest.new

# Call the list method.
result = client.list request

# The returned object is of type Google::Cloud::Compute::V1::InstanceList.
p result

Overloads:

  • #list(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Instance>

    Pass arguments to list via a request object, either of type ListInstancesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::ListInstancesRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil, zone: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Instance>

    Pass arguments to list via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • filter (::String) (defaults to: nil)

      A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request.

      If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either =, !=, >, <, <=, >= or :.

      For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.

      The :* comparison can be used to test whether a key has been defined. For example, to find all objects with owner label use:

      labels.owner:*
      

      You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based onresource labels.

      To filter on multiple expressions, provide each separate expression within parentheses. For example:

      (scheduling.automaticRestart = true)
      (cpuPlatform = "Intel Skylake")
      

      By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example:

      (cpuPlatform = "Intel Skylake") OR
      (cpuPlatform = "Intel Broadwell") AND
      (scheduling.automaticRestart = true)
      

      If you want to use a regular expression, use the eq (equal) or ne (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples:

      fieldname eq unquoted literal fieldname eq 'single quoted literal' fieldname eq "double quoted literal" (fieldname1 eq literal) (fieldname2 ne "literal")

      The literal value is interpreted as a regular expression using GoogleRE2 library syntax. The literal value must match the entire field.

      For example, to filter for instances that do not end with name "instance", you would use name ne .*instance.

      You cannot combine constraints on multiple fields using regular expressions.

    • max_results (::Integer) (defaults to: nil)

      The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)

    • order_by (::String) (defaults to: nil)

      Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.

      You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.

      Currently, only sorting by name or creationTimestamp desc is supported.

    • page_token (::String) (defaults to: nil)

      Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • return_partial_success (::Boolean) (defaults to: nil)

      Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.

      For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2365

def list request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ListInstancesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.list request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @instances_stub, :list, "items", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_referrers(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Reference> #list_referrers(filter: nil, instance: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil, zone: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Reference>

Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, readViewing referrers to VM instances.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::ListReferrersInstancesRequest.new

# Call the list_referrers method.
result = client.list_referrers request

# The returned object is of type Google::Cloud::Compute::V1::InstanceListReferrers.
p result

Overloads:

  • #list_referrers(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Reference>

    Pass arguments to list_referrers via a request object, either of type ListReferrersInstancesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::ListReferrersInstancesRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_referrers(filter: nil, instance: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil, zone: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Reference>

    Pass arguments to list_referrers via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • filter (::String) (defaults to: nil)

      A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request.

      If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either =, !=, >, <, <=, >= or :.

      For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.

      The :* comparison can be used to test whether a key has been defined. For example, to find all objects with owner label use:

      labels.owner:*
      

      You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based onresource labels.

      To filter on multiple expressions, provide each separate expression within parentheses. For example:

      (scheduling.automaticRestart = true)
      (cpuPlatform = "Intel Skylake")
      

      By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example:

      (cpuPlatform = "Intel Skylake") OR
      (cpuPlatform = "Intel Broadwell") AND
      (scheduling.automaticRestart = true)
      

      If you want to use a regular expression, use the eq (equal) or ne (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples:

      fieldname eq unquoted literal fieldname eq 'single quoted literal' fieldname eq "double quoted literal" (fieldname1 eq literal) (fieldname2 ne "literal")

      The literal value is interpreted as a regular expression using GoogleRE2 library syntax. The literal value must match the entire field.

      For example, to filter for instances that do not end with name "instance", you would use name ne .*instance.

      You cannot combine constraints on multiple fields using regular expressions.

    • instance (::String) (defaults to: nil)

      Name of the target instance scoping this request, or '-' if the request should span over all instances in the container.

    • max_results (::Integer) (defaults to: nil)

      The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)

    • order_by (::String) (defaults to: nil)

      Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.

      You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.

      Currently, only sorting by name or creationTimestamp desc is supported.

    • page_token (::String) (defaults to: nil)

      Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • return_partial_success (::Boolean) (defaults to: nil)

      Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.

      For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2542

def list_referrers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ListReferrersInstancesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_referrers..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_referrers.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_referrers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.list_referrers request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @instances_stub, :list_referrers, "items", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#loggerLogger

The logger used for request/response debug logging.

Returns:

  • (Logger)


318
319
320
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 318

def logger
  @instances_stub.logger
end

#perform_maintenance(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #perform_maintenance(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Perform a manual maintenance on the instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::PerformMaintenanceInstanceRequest.new

# Call the perform_maintenance method.
result = client.perform_maintenance request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #perform_maintenance(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to perform_maintenance via a request object, either of type PerformMaintenanceInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::PerformMaintenanceInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #perform_maintenance(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to perform_maintenance via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2640

def perform_maintenance request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::PerformMaintenanceInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.perform_maintenance..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.perform_maintenance.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.perform_maintenance.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.perform_maintenance request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#remove_resource_policies(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #remove_resource_policies(instance: nil, instances_remove_resource_policies_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Removes resource policies from an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::RemoveResourcePoliciesInstanceRequest.new

# Call the remove_resource_policies method.
result = client.remove_resource_policies request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #remove_resource_policies(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to remove_resource_policies via a request object, either of type RemoveResourcePoliciesInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::RemoveResourcePoliciesInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #remove_resource_policies(instance: nil, instances_remove_resource_policies_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to remove_resource_policies via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • instances_remove_resource_policies_request_resource (::Google::Cloud::Compute::V1::InstancesRemoveResourcePoliciesRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2748

def remove_resource_policies request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::RemoveResourcePoliciesInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.remove_resource_policies..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.remove_resource_policies.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.remove_resource_policies.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.remove_resource_policies request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#report_host_as_faulty(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #report_host_as_faulty(instance: nil, instances_report_host_as_faulty_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Mark the host as faulty and try to restart the instance on a new host.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::ReportHostAsFaultyInstanceRequest.new

# Call the report_host_as_faulty method.
result = client.report_host_as_faulty request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #report_host_as_faulty(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to report_host_as_faulty via a request object, either of type ReportHostAsFaultyInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::ReportHostAsFaultyInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #report_host_as_faulty(instance: nil, instances_report_host_as_faulty_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to report_host_as_faulty via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • instances_report_host_as_faulty_request_resource (::Google::Cloud::Compute::V1::InstancesReportHostAsFaultyRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2856

def report_host_as_faulty request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ReportHostAsFaultyInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.report_host_as_faulty..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.report_host_as_faulty.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.report_host_as_faulty.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.report_host_as_faulty request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#reset(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #reset(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Performs a reset on the instance. This is a hard reset. The VM does not do a graceful shutdown. For more information, seeResetting an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::ResetInstanceRequest.new

# Call the reset method.
result = client.reset request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #reset(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to reset via a request object, either of type ResetInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::ResetInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #reset(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to reset via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 2964

def reset request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ResetInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.reset..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.reset.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.reset.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.reset request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#resume(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #resume(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Resumes an instance that was suspended using theinstances().suspend method.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::ResumeInstanceRequest.new

# Call the resume method.
result = client.resume request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #resume(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to resume via a request object, either of type ResumeInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::ResumeInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #resume(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to resume via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance resource to resume.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3071

def resume request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ResumeInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.resume..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.resume.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.resume.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.resume request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#send_diagnostic_interrupt(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceResponse #send_diagnostic_interrupt(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceResponse

Sends diagnostic interrupt to the instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceRequest.new

# Call the send_diagnostic_interrupt method.
result = client.send_diagnostic_interrupt request

# The returned object is of type Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceResponse.
p result

Overloads:

  • #send_diagnostic_interrupt(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceResponse

    Pass arguments to send_diagnostic_interrupt via a request object, either of type SendDiagnosticInterruptInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #send_diagnostic_interrupt(instance: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceResponse

    Pass arguments to send_diagnostic_interrupt via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3163

def send_diagnostic_interrupt request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SendDiagnosticInterruptInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.send_diagnostic_interrupt..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.send_diagnostic_interrupt.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.send_diagnostic_interrupt.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.send_diagnostic_interrupt request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_deletion_protection(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_deletion_protection(deletion_protection: nil, project: nil, request_id: nil, resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets deletion protection on the instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetDeletionProtectionInstanceRequest.new

# Call the set_deletion_protection method.
result = client.set_deletion_protection request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_deletion_protection(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_deletion_protection via a request object, either of type SetDeletionProtectionInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetDeletionProtectionInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_deletion_protection(deletion_protection: nil, project: nil, request_id: nil, resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_deletion_protection via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • deletion_protection (::Boolean) (defaults to: nil)

      Whether the resource should be protected against deletion.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • resource (::String) (defaults to: nil)

      Name or id of the resource for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3261

def set_deletion_protection request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetDeletionProtectionInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_deletion_protection..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_deletion_protection.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_deletion_protection.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_deletion_protection request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_disk_auto_delete(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_disk_auto_delete(auto_delete: nil, device_name: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets the auto-delete flag for a disk attached to an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetDiskAutoDeleteInstanceRequest.new

# Call the set_disk_auto_delete method.
result = client.set_disk_auto_delete request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_disk_auto_delete(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_disk_auto_delete via a request object, either of type SetDiskAutoDeleteInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetDiskAutoDeleteInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_disk_auto_delete(auto_delete: nil, device_name: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_disk_auto_delete via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • auto_delete (::Boolean) (defaults to: nil)

      Whether to auto-delete the disk when the instance is deleted.

    • device_name (::String) (defaults to: nil)

      The device name of the disk to modify. Make a get() request on the instance to view currently attached disks and device names.

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3372

def set_disk_auto_delete request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetDiskAutoDeleteInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_disk_auto_delete..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_disk_auto_delete.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_disk_auto_delete.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_disk_auto_delete request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_iam_policy(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Policy #set_iam_policy(project: nil, resource: nil, zone: nil, zone_set_policy_request_resource: nil) ⇒ ::Google::Cloud::Compute::V1::Policy

Sets the access control policy on the specified resource. Replaces any existing policy.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetIamPolicyInstanceRequest.new

# Call the set_iam_policy method.
result = client.set_iam_policy request

# The returned object is of type Google::Cloud::Compute::V1::Policy.
p result

Overloads:

  • #set_iam_policy(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Policy

    Pass arguments to set_iam_policy via a request object, either of type SetIamPolicyInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetIamPolicyInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_iam_policy(project: nil, resource: nil, zone: nil, zone_set_policy_request_resource: nil) ⇒ ::Google::Cloud::Compute::V1::Policy

    Pass arguments to set_iam_policy via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • resource (::String) (defaults to: nil)

      Name or id of the resource for this request.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

    • zone_set_policy_request_resource (::Google::Cloud::Compute::V1::ZoneSetPolicyRequest, ::Hash) (defaults to: nil)

      The body resource for this request

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3467

def set_iam_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetIamPolicyInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_iam_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_iam_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_iam_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_iam_policy request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_labels(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_labels(instance: nil, instances_set_labels_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets labels on an instance. To learn more about labels, read theLabeling Resources documentation.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetLabelsInstanceRequest.new

# Call the set_labels method.
result = client.set_labels request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_labels(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_labels via a request object, either of type SetLabelsInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetLabelsInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_labels(instance: nil, instances_set_labels_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_labels via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • instances_set_labels_request_resource (::Google::Cloud::Compute::V1::InstancesSetLabelsRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3566

def set_labels request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetLabelsInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_labels..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_labels.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_labels.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_labels request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_machine_resources(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_machine_resources(instance: nil, instances_set_machine_resources_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetMachineResourcesInstanceRequest.new

# Call the set_machine_resources method.
result = client.set_machine_resources request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_machine_resources(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_machine_resources via a request object, either of type SetMachineResourcesInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetMachineResourcesInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_machine_resources(instance: nil, instances_set_machine_resources_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_machine_resources via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • instances_set_machine_resources_request_resource (::Google::Cloud::Compute::V1::InstancesSetMachineResourcesRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3675

def set_machine_resources request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetMachineResourcesInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_machine_resources..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_machine_resources.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_machine_resources.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_machine_resources request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_machine_type(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_machine_type(instance: nil, instances_set_machine_type_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Changes the machine type for a stopped instance to the machine type specified in the request.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetMachineTypeInstanceRequest.new

# Call the set_machine_type method.
result = client.set_machine_type request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_machine_type(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_machine_type via a request object, either of type SetMachineTypeInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetMachineTypeInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_machine_type(instance: nil, instances_set_machine_type_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_machine_type via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • instances_set_machine_type_request_resource (::Google::Cloud::Compute::V1::InstancesSetMachineTypeRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3784

def set_machine_type request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetMachineTypeInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_machine_type..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_machine_type.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_machine_type.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_machine_type request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_metadata(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_metadata(instance: nil, metadata_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets metadata for the specified instance to the data included in the request.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetMetadataInstanceRequest.new

# Call the set_metadata method.
result = client. request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_metadata(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_metadata via a request object, either of type SetMetadataInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetMetadataInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_metadata(instance: nil, metadata_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_metadata via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • metadata_resource (::Google::Cloud::Compute::V1::Metadata, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 3893

def  request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetMetadataInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs...to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs..timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs..retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub. request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_min_cpu_platform(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_min_cpu_platform(instance: nil, instances_set_min_cpu_platform_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Changes the minimum CPU platform that this instance should use. This method can only be called on a stopped instance. For more information, readSpecifying a Minimum CPU Platform.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetMinCpuPlatformInstanceRequest.new

# Call the set_min_cpu_platform method.
result = client.set_min_cpu_platform request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_min_cpu_platform(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_min_cpu_platform via a request object, either of type SetMinCpuPlatformInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetMinCpuPlatformInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_min_cpu_platform(instance: nil, instances_set_min_cpu_platform_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_min_cpu_platform via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • instances_set_min_cpu_platform_request_resource (::Google::Cloud::Compute::V1::InstancesSetMinCpuPlatformRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4004

def set_min_cpu_platform request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetMinCpuPlatformInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_min_cpu_platform..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_min_cpu_platform.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_min_cpu_platform.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_min_cpu_platform request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_name(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_name(instance: nil, instances_set_name_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets name of an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetNameInstanceRequest.new

# Call the set_name method.
result = client.set_name request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_name(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_name via a request object, either of type SetNameInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetNameInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_name(instance: nil, instances_set_name_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_name via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • instances_set_name_request_resource (::Google::Cloud::Compute::V1::InstancesSetNameRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4112

def set_name request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetNameInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_name..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_name.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_name.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_name request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_scheduling(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_scheduling(instance: nil, project: nil, request_id: nil, scheduling_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets an instance's scheduling options. You can only call this method on astopped instance, that is, a VM instance that is in a TERMINATED state. SeeInstance Life Cycle for more information on the possible instance states. For more information about setting scheduling options for a VM, seeSet VM host maintenance policy.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetSchedulingInstanceRequest.new

# Call the set_scheduling method.
result = client.set_scheduling request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_scheduling(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_scheduling via a request object, either of type SetSchedulingInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetSchedulingInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_scheduling(instance: nil, project: nil, request_id: nil, scheduling_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_scheduling via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Instance name for this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • scheduling_resource (::Google::Cloud::Compute::V1::Scheduling, ::Hash) (defaults to: nil)

      The body resource for this request

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4224

def set_scheduling request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetSchedulingInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_scheduling..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_scheduling.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_scheduling.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_scheduling request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_security_policy(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_security_policy(instance: nil, instances_set_security_policy_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets the Google Cloud Armor security policy for the specified instance. For more information, seeGoogle Cloud Armor Overview

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetSecurityPolicyInstanceRequest.new

# Call the set_security_policy method.
result = client.set_security_policy request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_security_policy(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_security_policy via a request object, either of type SetSecurityPolicyInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetSecurityPolicyInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_security_policy(instance: nil, instances_set_security_policy_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_security_policy via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035.

    • instances_set_security_policy_request_resource (::Google::Cloud::Compute::V1::InstancesSetSecurityPolicyRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      Name of the zone scoping this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4335

def set_security_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetSecurityPolicyInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_security_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_security_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_security_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_security_policy request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_service_account(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_service_account(instance: nil, instances_set_service_account_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets the service account on the instance. For more information, readChanging the service account and access scopes for an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetServiceAccountInstanceRequest.new

# Call the set_service_account method.
result = client. request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_service_account(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_service_account via a request object, either of type SetServiceAccountInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetServiceAccountInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_service_account(instance: nil, instances_set_service_account_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_service_account via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance resource to start.

    • instances_set_service_account_request_resource (::Google::Cloud::Compute::V1::InstancesSetServiceAccountRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4445

def  request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetServiceAccountInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs...to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs..timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs..retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub. request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_shielded_instance_integrity_policy(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_shielded_instance_integrity_policy(instance: nil, project: nil, request_id: nil, shielded_instance_integrity_policy_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetShieldedInstanceIntegrityPolicyInstanceRequest.new

# Call the set_shielded_instance_integrity_policy method.
result = client.set_shielded_instance_integrity_policy request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_shielded_instance_integrity_policy(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_shielded_instance_integrity_policy via a request object, either of type SetShieldedInstanceIntegrityPolicyInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetShieldedInstanceIntegrityPolicyInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_shielded_instance_integrity_policy(instance: nil, project: nil, request_id: nil, shielded_instance_integrity_policy_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_shielded_instance_integrity_policy via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name or id of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • shielded_instance_integrity_policy_resource (::Google::Cloud::Compute::V1::ShieldedInstanceIntegrityPolicy, ::Hash) (defaults to: nil)

      The body resource for this request

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4556

def set_shielded_instance_integrity_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetShieldedInstanceIntegrityPolicyInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_shielded_instance_integrity_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_shielded_instance_integrity_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_shielded_instance_integrity_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_shielded_instance_integrity_policy request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_tags(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #set_tags(instance: nil, project: nil, request_id: nil, tags_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Sets network tags for the specified instance to the data included in the request.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SetTagsInstanceRequest.new

# Call the set_tags method.
result = client.set_tags request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #set_tags(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_tags via a request object, either of type SetTagsInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetTagsInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_tags(instance: nil, project: nil, request_id: nil, tags_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to set_tags via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • tags_resource (::Google::Cloud::Compute::V1::Tags, ::Hash) (defaults to: nil)

      The body resource for this request

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4665

def set_tags request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetTagsInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_tags..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_tags.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_tags.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.set_tags request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#simulate_maintenance_event(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #simulate_maintenance_event(instance: nil, project: nil, request_id: nil, with_extended_notifications: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Simulates a host maintenance event on a VM. For more information, see Simulate a host maintenance event.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SimulateMaintenanceEventInstanceRequest.new

# Call the simulate_maintenance_event method.
result = client.simulate_maintenance_event request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #simulate_maintenance_event(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to simulate_maintenance_event via a request object, either of type SimulateMaintenanceEventInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SimulateMaintenanceEventInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #simulate_maintenance_event(instance: nil, project: nil, request_id: nil, with_extended_notifications: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to simulate_maintenance_event via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • with_extended_notifications (::Boolean) (defaults to: nil)

      Determines whether the customers receive notifications before migration. Only applicable to SF vms.

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4775

def simulate_maintenance_event request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SimulateMaintenanceEventInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.simulate_maintenance_event..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.simulate_maintenance_event.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.simulate_maintenance_event.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.simulate_maintenance_event request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#start(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #start(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Starts an instance that was stopped using theinstances().stop method. For more information, seeRestart an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::StartInstanceRequest.new

# Call the start method.
result = client.start request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #start(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to start via a request object, either of type StartInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::StartInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #start(instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to start via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance resource to start.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4883

def start request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::StartInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.start..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.start.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.start.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.start request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#start_with_encryption_key(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #start_with_encryption_key(instance: nil, instances_start_with_encryption_key_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Starts an instance that was stopped using theinstances().stop method. For more information, seeRestart an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::StartWithEncryptionKeyInstanceRequest.new

# Call the start_with_encryption_key method.
result = client.start_with_encryption_key request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #start_with_encryption_key(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to start_with_encryption_key via a request object, either of type StartWithEncryptionKeyInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::StartWithEncryptionKeyInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #start_with_encryption_key(instance: nil, instances_start_with_encryption_key_request_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to start_with_encryption_key via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name of the instance resource to start.

    • instances_start_with_encryption_key_request_resource (::Google::Cloud::Compute::V1::InstancesStartWithEncryptionKeyRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 4993

def start_with_encryption_key request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::StartWithEncryptionKeyInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.start_with_encryption_key..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.start_with_encryption_key.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.start_with_encryption_key.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.start_with_encryption_key request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#stop(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #stop(discard_local_ssd: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur VM usage charges while they are stopped. However, resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, seeStopping an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::StopInstanceRequest.new

# Call the stop method.
result = client.stop request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #stop(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to stop via a request object, either of type StopInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::StopInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #stop(discard_local_ssd: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to stop via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • discard_local_ssd (::Boolean) (defaults to: nil)

      This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.

    • instance (::String) (defaults to: nil)

      Name of the instance resource to stop.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5108

def stop request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::StopInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.stop..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.stop.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.stop.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.stop request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#suspend(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #suspend(discard_local_ssd: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

This method suspends a running instance, saving its state to persistent storage, and allows you to resume the instance at a later time. Suspended instances have no compute costs (cores or RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged resources the virtual machine was using, such as persistent disks and static IP addresses, will continue to be charged while the instance is suspended. For more information, see Suspending and resuming an instance.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::SuspendInstanceRequest.new

# Call the suspend method.
result = client.suspend request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #suspend(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to suspend via a request object, either of type SuspendInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::SuspendInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #suspend(discard_local_ssd: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to suspend via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • discard_local_ssd (::Boolean) (defaults to: nil)

      This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded.

    • instance (::String) (defaults to: nil)

      Name of the instance resource to suspend.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5225

def suspend request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SuspendInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.suspend..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.suspend.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.suspend.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.suspend request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#test_iam_permissions(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::TestPermissionsResponse #test_iam_permissions(project: nil, resource: nil, test_permissions_request_resource: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::TestPermissionsResponse

Returns permissions that a caller has on the specified resource.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::TestIamPermissionsInstanceRequest.new

# Call the test_iam_permissions method.
result = client.test_iam_permissions request

# The returned object is of type Google::Cloud::Compute::V1::TestPermissionsResponse.
p result

Overloads:

  • #test_iam_permissions(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::TestPermissionsResponse

    Pass arguments to test_iam_permissions via a request object, either of type TestIamPermissionsInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::TestIamPermissionsInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #test_iam_permissions(project: nil, resource: nil, test_permissions_request_resource: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::TestPermissionsResponse

    Pass arguments to test_iam_permissions via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • resource (::String) (defaults to: nil)

      Name or id of the resource for this request.

    • test_permissions_request_resource (::Google::Cloud::Compute::V1::TestPermissionsRequest, ::Hash) (defaults to: nil)

      The body resource for this request

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5319

def test_iam_permissions request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::TestIamPermissionsInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.test_iam_permissions..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.test_iam_permissions.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.test_iam_permissions.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.test_iam_permissions request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#universe_domainString

The effective universe domain

Returns:

  • (String)


237
238
239
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 237

def universe_domain
  @instances_stub.universe_domain
end

#update(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #update(discard_local_ssd: nil, instance: nil, instance_resource: nil, minimal_action: nil, most_disruptive_allowed_action: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::UpdateInstanceRequest.new

# Call the update method.
result = client.update request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #update(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update via a request object, either of type UpdateInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::UpdateInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update(discard_local_ssd: nil, instance: nil, instance_resource: nil, minimal_action: nil, most_disruptive_allowed_action: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • discard_local_ssd (::Boolean) (defaults to: nil)

      Whether to discard local SSDs from the instance during restart default value is false.

    • instance (::String) (defaults to: nil)

      Name of the instance resource to update.

    • instance_resource (::Google::Cloud::Compute::V1::Instance, ::Hash) (defaults to: nil)

      The body resource for this request

    • minimal_action (::String) (defaults to: nil)

      Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require. Check the MinimalAction enum for the list of possible values.

    • most_disruptive_allowed_action (::String) (defaults to: nil)

      Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART. Check the MostDisruptiveAllowedAction enum for the list of possible values.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5436

def update request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.update request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_access_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #update_access_config(access_config_resource: nil, instance: nil, network_interface: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Updates the specified access config from an instance's network interface with the data included in the request. This method supportsPATCH semantics and uses theJSON merge patch format and processing rules.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::UpdateAccessConfigInstanceRequest.new

# Call the update_access_config method.
result = client.update_access_config request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #update_access_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_access_config via a request object, either of type UpdateAccessConfigInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::UpdateAccessConfigInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_access_config(access_config_resource: nil, instance: nil, network_interface: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_access_config via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • access_config_resource (::Google::Cloud::Compute::V1::AccessConfig, ::Hash) (defaults to: nil)

      The body resource for this request

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • network_interface (::String) (defaults to: nil)

      The name of the network interface where the access config is attached.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5549

def update_access_config request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateAccessConfigInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_access_config..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_access_config.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_access_config.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.update_access_config request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_display_device(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #update_display_device(display_device_resource: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Updates the Display config for a VM instance. You can only use this method on a stopped VM instance. This method supportsPATCH semantics and uses theJSON merge patch format and processing rules.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::UpdateDisplayDeviceInstanceRequest.new

# Call the update_display_device method.
result = client.update_display_device request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #update_display_device(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_display_device via a request object, either of type UpdateDisplayDeviceInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::UpdateDisplayDeviceInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_display_device(display_device_resource: nil, instance: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_display_device via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • display_device_resource (::Google::Cloud::Compute::V1::DisplayDevice, ::Hash) (defaults to: nil)

      The body resource for this request

    • instance (::String) (defaults to: nil)

      Name of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5660

def update_display_device request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateDisplayDeviceInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_display_device..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_display_device.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_display_device.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.update_display_device request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_network_interface(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #update_network_interface(instance: nil, network_interface: nil, network_interface_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Updates an instance's network interface. This method can only update an interface's alias IP range and attached network. See Modifying alias IP ranges for an existing instance for instructions on changing alias IP ranges. See Migrating a VM between networks for instructions on migrating an interface. This method follows PATCH semantics.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::UpdateNetworkInterfaceInstanceRequest.new

# Call the update_network_interface method.
result = client.update_network_interface request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #update_network_interface(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_network_interface via a request object, either of type UpdateNetworkInterfaceInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::UpdateNetworkInterfaceInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_network_interface(instance: nil, network_interface: nil, network_interface_resource: nil, project: nil, request_id: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_network_interface via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      The instance name for this request.

    • network_interface (::String) (defaults to: nil)

      The name of the network interface to update.

    • network_interface_resource (::Google::Cloud::Compute::V1::NetworkInterface, ::Hash) (defaults to: nil)

      The body resource for this request

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5775

def update_network_interface request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateNetworkInterfaceInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_network_interface..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_network_interface.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_network_interface.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.update_network_interface request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_shielded_instance_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation #update_shielded_instance_config(instance: nil, project: nil, request_id: nil, shielded_instance_config_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

Updates the Shielded Instance config for an instance. You can only use this method on a stopped instance. This method supportsPATCH semantics and uses theJSON merge patch format and processing rules.

Examples:

Basic example

require "google/cloud/compute/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Compute::V1::Instances::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Compute::V1::UpdateShieldedInstanceConfigInstanceRequest.new

# Call the update_shielded_instance_config method.
result = client.update_shielded_instance_config request

# The returned object is of type Google::Cloud::Compute::V1::Operation.
p result

Overloads:

  • #update_shielded_instance_config(request, options = nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_shielded_instance_config via a request object, either of type UpdateShieldedInstanceConfigInstanceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Compute::V1::UpdateShieldedInstanceConfigInstanceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_shielded_instance_config(instance: nil, project: nil, request_id: nil, shielded_instance_config_resource: nil, zone: nil) ⇒ ::Gapic::GenericLRO::Operation

    Pass arguments to update_shielded_instance_config via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • instance (::String) (defaults to: nil)

      Name or id of the instance scoping this request.

    • project (::String) (defaults to: nil)

      Project ID for this request.

    • request_id (::String) (defaults to: nil)

      An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

      For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

      The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

    • shielded_instance_config_resource (::Google::Cloud::Compute::V1::ShieldedInstanceConfig, ::Hash) (defaults to: nil)

      The body resource for this request

    • zone (::String) (defaults to: nil)

      The name of the zone for this request.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

  • result (::Gapic::GenericLRO::Operation)
  • operation (::Gapic::Rest::TransportOperation)

Returns:

  • (::Gapic::GenericLRO::Operation)

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
# File 'lib/google/cloud/compute/v1/instances/rest/client.rb', line 5886

def update_shielded_instance_config request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateShieldedInstanceConfigInstanceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_shielded_instance_config..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Compute::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_shielded_instance_config.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_shielded_instance_config.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @instances_stub.update_shielded_instance_config request, options do |result, response|
    result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
      operation: result,
      client: zone_operations,
      request_values: {
        "project" => request.project,
        "zone" => request.zone
      },
      options: options
    )
    yield result, response if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end