Module: Google::Cloud::NetworkConnectivity

Defined in:
lib/google/cloud/network_connectivity.rb,
lib/google/cloud/network_connectivity/version.rb

Constant Summary collapse

VERSION =
"2.3.0"

Class Method Summary collapse

Class Method Details

.configure {|::Google::Cloud.configure.network_connectivity| ... } ⇒ ::Google::Cloud::Config

Configure the google-cloud-network_connectivity library.

The following configuration parameters are supported:

  • credentials (type: String, Hash, Google::Auth::Credentials) - The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object.
  • lib_name (type: String) - The library name as recorded in instrumentation and logging.
  • lib_version (type: String) - The library version as recorded in instrumentation and logging.
  • interceptors (type: Array<GRPC::ClientInterceptor>) - An array of interceptors that are run before calls are executed.
  • timeout (type: Numeric) - Default timeout in seconds.
  • metadata (type: Hash{Symbol=>String}) - Additional headers to be sent with the call.
  • retry_policy (type: Hash) - The retry policy. The value is a hash with the following keys:
    • :initial_delay (type: Numeric) - The initial delay in seconds.
    • :max_delay (type: Numeric) - The max delay in seconds.
    • :multiplier (type: Numeric) - The incremental backoff multiplier.
    • :retry_codes (type: Array<String>) - The error codes that should trigger a retry.

Yields:

Returns:

  • (::Google::Cloud::Config)

    The default configuration used by this library



385
386
387
388
389
# File 'lib/google/cloud/network_connectivity.rb', line 385

def self.configure
  yield ::Google::Cloud.configure.network_connectivity if block_given?

  ::Google::Cloud.configure.network_connectivity
end

.cross_network_automation_service(version: :v1, &block) ⇒ ::Object

Create a new client object for CrossNetworkAutomationService.

By default, this returns an instance of Google::Cloud::NetworkConnectivity::V1::CrossNetworkAutomationService::Client for a gRPC client for version V1 of the API. However, you can specify a different API version by passing it in the version parameter. If the CrossNetworkAutomationService service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

Raises an exception if the currently installed versioned client gem for the given API version does not support the CrossNetworkAutomationService service. You can determine whether the method will succeed by calling cross_network_automation_service_available?.

About CrossNetworkAutomationService

The service for CrossNetworkAutomation resources.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (::Object)

    A client object for the specified version.



72
73
74
75
76
77
78
79
80
81
# File 'lib/google/cloud/network_connectivity.rb', line 72

def self.cross_network_automation_service version: :v1, &block
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"

  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  service_module = Google::Cloud::NetworkConnectivity.const_get(package_name).const_get(:CrossNetworkAutomationService)
  service_module.const_get(:Client).new(&block)
end

.cross_network_automation_service_available?(version: :v1) ⇒ boolean

Determines whether the CrossNetworkAutomationService service is supported by the current client. If true, you can retrieve a client object by calling cross_network_automation_service. If false, that method will raise an exception. This could happen if the given API version does not exist or does not support the CrossNetworkAutomationService service, or if the versioned client gem needs an update to support the CrossNetworkAutomationService service.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (boolean)

    Whether the service is available.



94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/google/cloud/network_connectivity.rb', line 94

def self.cross_network_automation_service_available? version: :v1
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"
  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  return false unless package_name
  service_module = Google::Cloud::NetworkConnectivity.const_get package_name
  return false unless service_module.const_defined? :CrossNetworkAutomationService
  service_module = service_module.const_get :CrossNetworkAutomationService
  service_module.const_defined? :Client
rescue ::LoadError
  false
end

.data_transfer_service(version: :v1, &block) ⇒ ::Object

Create a new client object for DataTransferService.

By default, this returns an instance of Google::Cloud::NetworkConnectivity::V1::DataTransferService::Client for a gRPC client for version V1 of the API. However, you can specify a different API version by passing it in the version parameter. If the DataTransferService service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

Raises an exception if the currently installed versioned client gem for the given API version does not support the DataTransferService service. You can determine whether the method will succeed by calling data_transfer_service_available?.

About DataTransferService

DataTransferService is the service for the Data Transfer API.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (::Object)

    A client object for the specified version.



133
134
135
136
137
138
139
140
141
142
# File 'lib/google/cloud/network_connectivity.rb', line 133

def self.data_transfer_service version: :v1, &block
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"

  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  service_module = Google::Cloud::NetworkConnectivity.const_get(package_name).const_get(:DataTransferService)
  service_module.const_get(:Client).new(&block)
end

.data_transfer_service_available?(version: :v1) ⇒ boolean

Determines whether the DataTransferService service is supported by the current client. If true, you can retrieve a client object by calling data_transfer_service. If false, that method will raise an exception. This could happen if the given API version does not exist or does not support the DataTransferService service, or if the versioned client gem needs an update to support the DataTransferService service.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (boolean)

    Whether the service is available.



155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/google/cloud/network_connectivity.rb', line 155

def self.data_transfer_service_available? version: :v1
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"
  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  return false unless package_name
  service_module = Google::Cloud::NetworkConnectivity.const_get package_name
  return false unless service_module.const_defined? :DataTransferService
  service_module = service_module.const_get :DataTransferService
  service_module.const_defined? :Client
rescue ::LoadError
  false
end

.hub_service(version: :v1, &block) ⇒ ::Object

Create a new client object for HubService.

By default, this returns an instance of Google::Cloud::NetworkConnectivity::V1::HubService::Client for a gRPC client for version V1 of the API. However, you can specify a different API version by passing it in the version parameter. If the HubService service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

Raises an exception if the currently installed versioned client gem for the given API version does not support the HubService service. You can determine whether the method will succeed by calling hub_service_available?.

About HubService

Network Connectivity Center is a hub-and-spoke abstraction for network connectivity management in Google Cloud. It reduces operational complexity through a simple, centralized connectivity management model.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (::Object)

    A client object for the specified version.



196
197
198
199
200
201
202
203
204
205
# File 'lib/google/cloud/network_connectivity.rb', line 196

def self.hub_service version: :v1, &block
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"

  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  service_module = Google::Cloud::NetworkConnectivity.const_get(package_name).const_get(:HubService)
  service_module.const_get(:Client).new(&block)
end

.hub_service_available?(version: :v1) ⇒ boolean

Determines whether the HubService service is supported by the current client. If true, you can retrieve a client object by calling hub_service. If false, that method will raise an exception. This could happen if the given API version does not exist or does not support the HubService service, or if the versioned client gem needs an update to support the HubService service.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (boolean)

    Whether the service is available.



218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/google/cloud/network_connectivity.rb', line 218

def self.hub_service_available? version: :v1
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"
  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  return false unless package_name
  service_module = Google::Cloud::NetworkConnectivity.const_get package_name
  return false unless service_module.const_defined? :HubService
  service_module = service_module.const_get :HubService
  service_module.const_defined? :Client
rescue ::LoadError
  false
end

.internal_range_service(version: :v1, &block) ⇒ ::Object

Create a new client object for InternalRangeService.

By default, this returns an instance of Google::Cloud::NetworkConnectivity::V1::InternalRangeService::Client for a gRPC client for version V1 of the API. However, you can specify a different API version by passing it in the version parameter. If the InternalRangeService service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

Raises an exception if the currently installed versioned client gem for the given API version does not support the InternalRangeService service. You can determine whether the method will succeed by calling internal_range_service_available?.

About InternalRangeService

The CLH-based service for internal range resources used to perform IPAM operations within a VPC network.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (::Object)

    A client object for the specified version.



258
259
260
261
262
263
264
265
266
267
# File 'lib/google/cloud/network_connectivity.rb', line 258

def self.internal_range_service version: :v1, &block
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"

  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  service_module = Google::Cloud::NetworkConnectivity.const_get(package_name).const_get(:InternalRangeService)
  service_module.const_get(:Client).new(&block)
end

.internal_range_service_available?(version: :v1) ⇒ boolean

Determines whether the InternalRangeService service is supported by the current client. If true, you can retrieve a client object by calling internal_range_service. If false, that method will raise an exception. This could happen if the given API version does not exist or does not support the InternalRangeService service, or if the versioned client gem needs an update to support the InternalRangeService service.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (boolean)

    Whether the service is available.



280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'lib/google/cloud/network_connectivity.rb', line 280

def self.internal_range_service_available? version: :v1
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"
  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  return false unless package_name
  service_module = Google::Cloud::NetworkConnectivity.const_get package_name
  return false unless service_module.const_defined? :InternalRangeService
  service_module = service_module.const_get :InternalRangeService
  service_module.const_defined? :Client
rescue ::LoadError
  false
end

.policy_based_routing_service(version: :v1, &block) ⇒ ::Object

Create a new client object for PolicyBasedRoutingService.

By default, this returns an instance of Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client for a gRPC client for version V1 of the API. However, you can specify a different API version by passing it in the version parameter. If the PolicyBasedRoutingService service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

Raises an exception if the currently installed versioned client gem for the given API version does not support the PolicyBasedRoutingService service. You can determine whether the method will succeed by calling policy_based_routing_service_available?.

About PolicyBasedRoutingService

Policy-Based Routing allows GCP customers to specify flexibile routing policies for Layer 4 traffic traversing through the connected service.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (::Object)

    A client object for the specified version.



320
321
322
323
324
325
326
327
328
329
# File 'lib/google/cloud/network_connectivity.rb', line 320

def self.policy_based_routing_service version: :v1, &block
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"

  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  service_module = Google::Cloud::NetworkConnectivity.const_get(package_name).const_get(:PolicyBasedRoutingService)
  service_module.const_get(:Client).new(&block)
end

.policy_based_routing_service_available?(version: :v1) ⇒ boolean

Determines whether the PolicyBasedRoutingService service is supported by the current client. If true, you can retrieve a client object by calling policy_based_routing_service. If false, that method will raise an exception. This could happen if the given API version does not exist or does not support the PolicyBasedRoutingService service, or if the versioned client gem needs an update to support the PolicyBasedRoutingService service.

Parameters:

  • version (::String, ::Symbol) (defaults to: :v1)

    The API version to connect to. Optional. Defaults to :v1.

Returns:

  • (boolean)

    Whether the service is available.



342
343
344
345
346
347
348
349
350
351
352
353
354
355
# File 'lib/google/cloud/network_connectivity.rb', line 342

def self.policy_based_routing_service_available? version: :v1
  require "google/cloud/network_connectivity/#{version.to_s.downcase}"
  package_name = Google::Cloud::NetworkConnectivity
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  return false unless package_name
  service_module = Google::Cloud::NetworkConnectivity.const_get package_name
  return false unless service_module.const_defined? :PolicyBasedRoutingService
  service_module = service_module.const_get :PolicyBasedRoutingService
  service_module.const_defined? :Client
rescue ::LoadError
  false
end