Class: VSphereCloud::LeaseObtainer
- Inherits:
-
Object
- Object
- VSphereCloud::LeaseObtainer
- Includes:
- VimSdk
- Defined in:
- lib/cloud/vsphere/lease_obtainer.rb
Constant Summary
Constants included from VimSdk
VimSdk::BASE_VERSION, VimSdk::DYNAMIC_TYPES, VimSdk::SOAP_BODY_END, VimSdk::SOAP_BODY_START, VimSdk::SOAP_BODY_TAG, VimSdk::SOAP_END, VimSdk::SOAP_ENVELOPE_END, VimSdk::SOAP_ENVELOPE_START, VimSdk::SOAP_ENVELOPE_TAG, VimSdk::SOAP_FAULT_TAG, VimSdk::SOAP_HEADER_END, VimSdk::SOAP_HEADER_START, VimSdk::SOAP_HEADER_TAG, VimSdk::SOAP_NAMESPACE_MAP, VimSdk::SOAP_START, VimSdk::VERSION1, VimSdk::XMLNS_SOAPENC, VimSdk::XMLNS_SOAPENV, VimSdk::XMLNS_VMODL_BASE, VimSdk::XMLNS_XSD, VimSdk::XMLNS_XSI, VimSdk::XML_ENCODING, VimSdk::XML_HEADER
Instance Method Summary collapse
-
#initialize(cloud_searcher, logger) ⇒ LeaseObtainer
constructor
A new instance of LeaseObtainer.
- #obtain(resource_pool, import_spec, template_folder) ⇒ Object
Constructor Details
#initialize(cloud_searcher, logger) ⇒ LeaseObtainer
Returns a new instance of LeaseObtainer.
7 8 9 10 |
# File 'lib/cloud/vsphere/lease_obtainer.rb', line 7 def initialize(cloud_searcher, logger) @cloud_searcher = cloud_searcher @logger = logger end |
Instance Method Details
#obtain(resource_pool, import_spec, template_folder) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cloud/vsphere/lease_obtainer.rb', line 12 def obtain(resource_pool, import_spec, template_folder) @logger.info('Importing VApp') nfc_lease = resource_pool.mob.import_vapp(import_spec, template_folder.mob, nil) @logger.info('Waiting for NFC lease to become ready') state = wait_for_nfc_lease(nfc_lease) if state == Vim::HttpNfcLease::State::ERROR raise_nfc_lease_error(nfc_lease) end if state != Vim::HttpNfcLease::State::READY raise "Could not acquire HTTP NFC lease (state is: '#{state}')" end nfc_lease end |