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

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

Overview

REST client for the Projects service.

The Projects API.

Defined Under Namespace

Classes: Configuration

Class Method Summary collapse

Instance Method Summary collapse

Methods included from GrpcTranscoding

#transcode_disable_xpn_host, #transcode_disable_xpn_resource, #transcode_enable_xpn_host, #transcode_enable_xpn_resource, #transcode_get, #transcode_get_xpn_host, #transcode_get_xpn_resources, #transcode_list_xpn_hosts, #transcode_move_disk, #transcode_move_instance, #transcode_set_common_instance_metadata, #transcode_set_default_network_tier, #transcode_set_usage_export_bucket

Constructor Details

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

Create a new Projects REST client object.

Examples

To create a new Projects REST client with the default configuration:

client = ::Google::Cloud::Compute::V1::Projects::Rest::Client.new

To create a new Projects REST client with a custom configuration:

client = ::Google::Cloud::Compute::V1::Projects::Rest::Client.new do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Projects client.

Yield Parameters:



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 115

def initialize
  # These require statements are intentionally placed here to initialize
  # the REST modules only when it's required.
  require "gapic/rest"

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

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

  # Create credentials
  credentials = @config.credentials
  credentials ||= Credentials.default scope: @config.scope
  if credentials.is_a?(String) || credentials.is_a?(Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end

  @client_stub = ::Gapic::Rest::ClientStub.new endpoint: @config.endpoint, credentials: credentials
end

Class Method Details

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

Configure the Projects Client class.

See Configuration for a description of the configuration fields.

Example

To modify the configuration for all Projects clients:

::Google::Cloud::Compute::V1::Projects::Rest::Client.configure do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 58

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
  end
  yield @configure if block_given?
  @configure
end

Instance Method Details

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

Configure the Projects 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:



90
91
92
93
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 90

def configure
  yield @config if block_given?
  @config
end

#disable_xpn_host(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #disable_xpn_host(project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Disable this project as a shared VPC host project.

Overloads:

  • #disable_xpn_host(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::DisableXpnHostProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #disable_xpn_host(project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to disable_xpn_host 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.

    • 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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



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
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 173

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, _body, query_string_params = transcode_disable_xpn_host request
  response = @client_stub.make_post_request(
    uri:     uri,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#disable_xpn_resource(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #disable_xpn_resource(project: nil, projects_disable_xpn_resource_request_resource: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Disable a service resource (also known as service project) associated with this host project.

Overloads:

  • #disable_xpn_resource(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::DisableXpnResourceProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #disable_xpn_resource(project: nil, projects_disable_xpn_resource_request_resource: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to disable_xpn_resource 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.

    • projects_disable_xpn_resource_request_resource (::Google::Cloud::Compute::V1::ProjectsDisableXpnResourceRequest, ::Hash) (defaults to: nil)

      The body resource 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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 245

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_disable_xpn_resource request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#enable_xpn_host(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #enable_xpn_host(project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Enable this project as a shared VPC host project.

Overloads:

  • #enable_xpn_host(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::EnableXpnHostProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #enable_xpn_host(project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to enable_xpn_host 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.

    • 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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 316

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, _body, query_string_params = transcode_enable_xpn_host request
  response = @client_stub.make_post_request(
    uri:     uri,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#enable_xpn_resource(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #enable_xpn_resource(project: nil, projects_enable_xpn_resource_request_resource: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.

Overloads:

  • #enable_xpn_resource(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::EnableXpnResourceProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #enable_xpn_resource(project: nil, projects_enable_xpn_resource_request_resource: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to enable_xpn_resource 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.

    • projects_enable_xpn_resource_request_resource (::Google::Cloud::Compute::V1::ProjectsEnableXpnResourceRequest, ::Hash) (defaults to: nil)

      The body resource 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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



388
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
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 388

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_enable_xpn_resource request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

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

Returns the specified Project resource.

Overloads:

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

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #get(project: nil) ⇒ ::Google::Cloud::Compute::V1::Project

    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:

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

      Project ID for this request.

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 453

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, _body, _query_string_params = transcode_get request
  response = @client_stub.make_get_request(
    uri:     uri,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Project.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#get_xpn_host(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Project #get_xpn_host(project: nil) ⇒ ::Google::Cloud::Compute::V1::Project

Gets the shared VPC host project that this project links to. May be empty if no link exists.

Overloads:

  • #get_xpn_host(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Project

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetXpnHostProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #get_xpn_host(project: nil) ⇒ ::Google::Cloud::Compute::V1::Project

    Pass arguments to get_xpn_host 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.

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



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
542
543
544
545
546
547
548
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 516

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, _body, _query_string_params = transcode_get_xpn_host request
  response = @client_stub.make_get_request(
    uri:     uri,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Project.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#get_xpn_resources(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::ProjectsGetXpnResources #get_xpn_resources(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil) ⇒ ::Google::Cloud::Compute::V1::ProjectsGetXpnResources

Gets service resources (a.k.a service project) associated with this host project.

Overloads:

  • #get_xpn_resources(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::ProjectsGetXpnResources

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetXpnResourcesProjectsRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #get_xpn_resources(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, return_partial_success: nil) ⇒ ::Google::Cloud::Compute::V1::ProjectsGetXpnResources

    Pass arguments to get_xpn_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:

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

      A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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.

      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 on resource 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)

    • 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 and the logic is the same as today.

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



599
600
601
602
603
604
605
606
607
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
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 599

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, _body, query_string_params = transcode_get_xpn_resources request
  response = @client_stub.make_get_request(
    uri:     uri,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::ProjectsGetXpnResources.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#list_xpn_hosts(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::XpnHostList #list_xpn_hosts(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, projects_list_xpn_hosts_request_resource: nil, return_partial_success: nil) ⇒ ::Google::Cloud::Compute::V1::XpnHostList

Lists all shared VPC host projects visible to the user in an organization.

Overloads:

  • #list_xpn_hosts(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::XpnHostList

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::ListXpnHostsProjectsRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #list_xpn_hosts(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, projects_list_xpn_hosts_request_resource: nil, return_partial_success: nil) ⇒ ::Google::Cloud::Compute::V1::XpnHostList

    Pass arguments to list_xpn_hosts 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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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.

      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 on resource 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)

    • 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.

    • projects_list_xpn_hosts_request_resource (::Google::Cloud::Compute::V1::ProjectsListXpnHostsRequest, ::Hash) (defaults to: nil)

      The body resource 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 and the logic is the same as today.

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 685

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_list_xpn_hosts request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::XpnHostList.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#move_disk(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #move_disk(disk_move_request_resource: nil, project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Moves a persistent disk from one zone to another.

Overloads:

  • #move_disk(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::MoveDiskProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #move_disk(disk_move_request_resource: nil, project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to move_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:

    • disk_move_request_resource (::Google::Cloud::Compute::V1::DiskMoveRequest, ::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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 758

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_move_disk request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#move_instance(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #move_instance(instance_move_request_resource: nil, project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Moves an instance and its attached persistent disks from one zone to another.

Overloads:

  • #move_instance(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::MoveInstanceProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #move_instance(instance_move_request_resource: nil, project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to move_instance 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_move_request_resource (::Google::Cloud::Compute::V1::InstanceMoveRequest, ::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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 831

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_move_instance request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#set_common_instance_metadata(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #set_common_instance_metadata(metadata_resource: nil, project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Sets metadata common to all instances within the specified project using the data included in the request.

Overloads:

  • #set_common_instance_metadata(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetCommonInstanceMetadataProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #set_common_instance_metadata(metadata_resource: nil, project: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to set_common_instance_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:

    • 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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



904
905
906
907
908
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
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 904

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params =  request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#set_default_network_tier(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #set_default_network_tier(project: nil, projects_set_default_network_tier_request_resource: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.

Overloads:

  • #set_default_network_tier(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetDefaultNetworkTierProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #set_default_network_tier(project: nil, projects_set_default_network_tier_request_resource: nil, request_id: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to set_default_network_tier 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.

    • projects_set_default_network_tier_request_resource (::Google::Cloud::Compute::V1::ProjectsSetDefaultNetworkTierRequest, ::Hash) (defaults to: nil)

      The body resource 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).

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 977

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_set_default_network_tier request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end

#set_usage_export_bucket(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation #set_usage_export_bucket(project: nil, request_id: nil, usage_export_location_resource: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.

Overloads:

  • #set_usage_export_bucket(request, options = nil) ⇒ ::Google::Cloud::Compute::V1::Operation

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::SetUsageExportBucketProjectRequest, ::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. Note: currently retry functionality is not implemented. While it is possible to set it using ::Gapic::CallOptions, it will not be applied

  • #set_usage_export_bucket(project: nil, request_id: nil, usage_export_location_resource: nil) ⇒ ::Google::Cloud::Compute::V1::Operation

    Pass arguments to set_usage_export_bucket 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.

    • 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).

    • usage_export_location_resource (::Google::Cloud::Compute::V1::UsageExportLocation, ::Hash) (defaults to: nil)

      The body resource for this request

Yields:

  • (result, env)

    Access the result along with the Faraday environment object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
# File 'lib/google/cloud/compute/v1/projects/rest/client.rb', line 1050

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

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

  # 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
   = {}

  # Set x-goog-api-client header
  [:"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]

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

  uri, body, query_string_params = transcode_set_usage_export_bucket request
  response = @client_stub.make_post_request(
    uri:     uri,
    body:    body,
    params:  query_string_params,
    options: options
  )
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true

  yield result, response if block_given?
  result
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end