Class: OvirtSDK4::ExternalHostProviderService

Inherits:
ExternalProviderService show all
Defined in:
lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb

Instance Method Summary collapse

Methods inherited from Service

#inspect, #to_s

Instance Method Details

#certificates_serviceExternalProviderCertificatesService

A service to view certificates for this external provider.



37452
37453
37454
# File 'lib/ovirtsdk4/services.rb', line 37452

def certificates_service
  @certificates_service ||= ExternalProviderCertificatesService.new(self, 'certificates')
end

#compute_resources_serviceExternalComputeResourcesService

Locates the compute_resources service.



37461
37462
37463
# File 'lib/ovirtsdk4/services.rb', line 37461

def compute_resources_service
  @compute_resources_service ||= ExternalComputeResourcesService.new(self, 'computeresources')
end

#discovered_hosts_serviceExternalDiscoveredHostsService

Locates the discovered_hosts service.



37470
37471
37472
# File 'lib/ovirtsdk4/services.rb', line 37470

def discovered_hosts_service
  @discovered_hosts_service ||= ExternalDiscoveredHostsService.new(self, 'discoveredhosts')
end

#get(opts = {}) ⇒ ExternalHostProvider

Get external host provider information

Host provider, Foreman or Satellite, can be set as an external provider in ovirt. To see details about specific host providers attached to ovirt use this API.

For example, to get the details of host provider 123, send a request like this:

GET /ovirt-engine/api/externalhostproviders/123 HTTP/1.1

The response will be like this:

<external_host_provider href="/ovirt-engine/api/externalhostproviders/123" id="123">
  <name>mysatellite</name>
  <requires_authentication>true</requires_authentication>
  <url>https://mysatellite.example.com</url>
  <username>admin</username>
</external_host_provider>

Options Hash (opts):

  • :follow (String)

    Indicates which inner links should be followed. The objects referenced by these links will be fetched as part of the current request. See here for details.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: nil

    The timeout for this request, in seconds. If no value is explicitly given then the timeout set globally for the connection will be used.

  • :wait (Boolean) — default: true

    If true wait for the response.



37332
37333
37334
# File 'lib/ovirtsdk4/services.rb', line 37332

def get(opts = {})
  internal_get(GET, opts)
end

#host_groups_serviceExternalHostGroupsService

Locates the host_groups service.



37479
37480
37481
# File 'lib/ovirtsdk4/services.rb', line 37479

def host_groups_service
  @host_groups_service ||= ExternalHostGroupsService.new(self, 'hostgroups')
end

#hosts_serviceExternalHostsService

Locates the hosts service.



37488
37489
37490
# File 'lib/ovirtsdk4/services.rb', line 37488

def hosts_service
  @hosts_service ||= ExternalHostsService.new(self, 'hosts')
end

#import_certificates(opts = {}) ⇒ Object

Import the SSL certificates of the external host provider.

Options Hash (opts):

  • :certificates (Array<Certificate>)
  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: nil

    The timeout for this request, in seconds. If no value is explicitly given then the timeout set globally for the connection will be used.

  • :wait (Boolean) — default: true

    If true wait for the response.



37358
37359
37360
# File 'lib/ovirtsdk4/services.rb', line 37358

def import_certificates(opts = {})
  internal_action(:importcertificates, nil, IMPORT_CERTIFICATES, opts)
end

#remove(opts = {}) ⇒ Object

Deletes the object managed by this service.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the remove should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: nil

    The timeout for this request, in seconds. If no value is explicitly given then the timeout set globally for the connection will be used.

  • :wait (Boolean) — default: true

    If true wait for the response.



37383
37384
37385
# File 'lib/ovirtsdk4/services.rb', line 37383

def remove(opts = {})
  internal_remove(REMOVE, opts)
end

#service(path) ⇒ Service

Locates the service corresponding to the given path.

Raises:



37499
37500
37501
37502
37503
37504
37505
37506
37507
37508
37509
37510
37511
37512
37513
37514
37515
37516
37517
37518
37519
37520
37521
37522
37523
37524
37525
37526
37527
37528
37529
37530
37531
37532
37533
37534
# File 'lib/ovirtsdk4/services.rb', line 37499

def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'certificates'
    return certificates_service
  end
  if path.start_with?('certificates/')
    return certificates_service.service(path[13..-1])
  end
  if path == 'computeresources'
    return compute_resources_service
  end
  if path.start_with?('computeresources/')
    return compute_resources_service.service(path[17..-1])
  end
  if path == 'discoveredhosts'
    return discovered_hosts_service
  end
  if path.start_with?('discoveredhosts/')
    return discovered_hosts_service.service(path[16..-1])
  end
  if path == 'hostgroups'
    return host_groups_service
  end
  if path.start_with?('hostgroups/')
    return host_groups_service.service(path[11..-1])
  end
  if path == 'hosts'
    return hosts_service
  end
  if path.start_with?('hosts/')
    return hosts_service.service(path[6..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end

#test_connectivity(opts = {}) ⇒ Object

In order to test connectivity for external provider we need to run following request where 123 is an id of a provider.

POST /ovirt-engine/api/externalhostproviders/123/testconnectivity HTTP/1.1

Options Hash (opts):

  • :async (Boolean)

    Indicates if the test should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: nil

    The timeout for this request, in seconds. If no value is explicitly given then the timeout set globally for the connection will be used.

  • :wait (Boolean) — default: true

    If true wait for the response.



37414
37415
37416
# File 'lib/ovirtsdk4/services.rb', line 37414

def test_connectivity(opts = {})
  internal_action(:testconnectivity, nil, TEST_CONNECTIVITY, opts)
end

#update(provider, opts = {}) ⇒ ExternalHostProvider

Update the specified external host provider in the system.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the update should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: nil

    The timeout for this request, in seconds. If no value is explicitly given then the timeout set globally for the connection will be used.

  • :wait (Boolean) — default: true

    If true wait for the response.



37443
37444
37445
# File 'lib/ovirtsdk4/services.rb', line 37443

def update(provider, opts = {})
  internal_update(provider, ExternalHostProvider, UPDATE, opts)
end