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

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

Overview

REST client for the ImageFamilyViews service.

The ImageFamilyViews API.

Defined Under Namespace

Classes: Configuration

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Create a new ImageFamilyViews REST client object.

Examples:


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

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

Yields:

  • (config)

    Configure the ImageFamilyViews client.

Yield Parameters:



114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/google/cloud/compute/v1/image_family_views/rest/client.rb', line 114

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
  credentials ||= Credentials.default scope: @config.scope
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end

  @image_family_views_stub = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
end

Class Method Details

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

Configure the ImageFamilyViews Client class.

See Configuration for a description of the configuration fields.

Examples:


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

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



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

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

Instance Method Details

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

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



93
94
95
96
# File 'lib/google/cloud/compute/v1/image_family_views/rest/client.rb', line 93

def configure
  yield @config if block_given?
  @config
end

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

Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone.

Overloads:

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

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

    Parameters:

    • request (::Google::Cloud::Compute::V1::GetImageFamilyViewRequest, ::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(family: nil, project: nil, zone: nil) ⇒ ::Google::Cloud::Compute::V1::ImageFamilyView

    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:

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

      Name of the image family to search for.

    • 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, response)

    Access the result along with the Faraday response object

Yield Parameters:

Returns:

Raises:

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

    if the REST call is aborted.



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

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

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

  # 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 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.rpcs.get.timeout,
                         metadata:     

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

  @image_family_views_stub.get request, options do |result, response|
    yield result, response if block_given?
    return result
  end
rescue ::Faraday::Error => e
  gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
  raise ::Google::Cloud::Error.from_error(gapic_error)
end