Class: Bosh::Clouds::ExternalCpi

Inherits:
Object
  • Object
show all
Defined in:
lib/cloud/external_cpi.rb

Defined Under Namespace

Classes: InvalidResponse, NonExecutable, UnknownError

Constant Summary collapse

KNOWN_RPC_ERRORS =
%w(
  Bosh::Clouds::CpiError
  Bosh::Clouds::NotSupported
  Bosh::Clouds::NotImplemented

  Bosh::Clouds::CloudError
  Bosh::Clouds::VMNotFound

  Bosh::Clouds::NoDiskSpace
  Bosh::Clouds::DiskNotAttached
  Bosh::Clouds::DiskNotFound
  Bosh::Clouds::VMCreationFailed
).freeze
RESPONSE_SCHEMA =
Membrane::SchemaParser.parse do
  {
    'result' => any,
    'error' => enum(nil,
      { 'type' => String,
        'message' => String,
        'ok_to_retry' => bool
      }
    ),
    'log' => String
  }
end

Instance Method Summary collapse

Constructor Details

#initialize(cpi_path, director_uuid) ⇒ ExternalCpi

Returns a new instance of ExternalCpi.



42
43
44
45
46
# File 'lib/cloud/external_cpi.rb', line 42

def initialize(cpi_path, director_uuid)
  @cpi_path = cpi_path
  @director_uuid = director_uuid
  @logger = Config.logger
end

Instance Method Details

#attach_disk(*arguments) ⇒ Object



60
# File 'lib/cloud/external_cpi.rb', line 60

def attach_disk(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#configure_networks(*arguments) ⇒ Object



56
# File 'lib/cloud/external_cpi.rb', line 56

def configure_networks(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#create_disk(*arguments) ⇒ Object



57
# File 'lib/cloud/external_cpi.rb', line 57

def create_disk(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#create_stemcell(*arguments) ⇒ Object



49
# File 'lib/cloud/external_cpi.rb', line 49

def create_stemcell(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#create_vm(*arguments) ⇒ Object



51
# File 'lib/cloud/external_cpi.rb', line 51

def create_vm(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#current_vm_id(*arguments) ⇒ Object



48
# File 'lib/cloud/external_cpi.rb', line 48

def current_vm_id(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#delete_disk(*arguments) ⇒ Object



59
# File 'lib/cloud/external_cpi.rb', line 59

def delete_disk(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#delete_snapshot(*arguments) ⇒ Object



63
# File 'lib/cloud/external_cpi.rb', line 63

def delete_snapshot(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#delete_stemcell(*arguments) ⇒ Object



50
# File 'lib/cloud/external_cpi.rb', line 50

def delete_stemcell(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#delete_vm(*arguments) ⇒ Object



52
# File 'lib/cloud/external_cpi.rb', line 52

def delete_vm(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#detach_disk(*arguments) ⇒ Object



61
# File 'lib/cloud/external_cpi.rb', line 61

def detach_disk(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#get_disks(*arguments) ⇒ Object



64
# File 'lib/cloud/external_cpi.rb', line 64

def get_disks(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#has_disk?(*arguments) ⇒ Boolean

Returns:

  • (Boolean)


58
# File 'lib/cloud/external_cpi.rb', line 58

def has_disk?(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#has_vm?(*arguments) ⇒ Boolean

Returns:

  • (Boolean)


53
# File 'lib/cloud/external_cpi.rb', line 53

def has_vm?(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#ping(*arguments) ⇒ Object



65
# File 'lib/cloud/external_cpi.rb', line 65

def ping(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#reboot_vm(*arguments) ⇒ Object



54
# File 'lib/cloud/external_cpi.rb', line 54

def reboot_vm(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#set_vm_metadata(*arguments) ⇒ Object



55
# File 'lib/cloud/external_cpi.rb', line 55

def (*arguments); invoke_cpi_method(__method__.to_s, *arguments); end

#snapshot_disk(*arguments) ⇒ Object



62
# File 'lib/cloud/external_cpi.rb', line 62

def snapshot_disk(*arguments); invoke_cpi_method(__method__.to_s, *arguments); end