Module: Pvectl::Commands::VmLifecycleCommand

Includes:
ResourceLifecycleCommand
Included in:
Reset, Restart, Resume, Shutdown, Start, Stop, Suspend
Defined in:
lib/pvectl/commands/vm_lifecycle_command.rb,
sig/pvectl/commands/vm_lifecycle_command.rbs

Overview

VM-specific lifecycle command hooks.

Provides VM repository, selector, service, and presenter to ResourceLifecycleCommand's template methods.

Examples:

Usage

class Start
  include VmLifecycleCommand
  OPERATION = :start
end

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ResourceLifecycleCommand

#apply_selectors, #confirm_operation, #determine_exit_code, #execute, #initialize, #load_config, #no_resources_found, #operation_name, #output_results, #perform_operation, #resolve_resources, #selector_strings, #service_options, #usage_error

Class Method Details

.included(base) ⇒ void

This method returns an undefined value.

Extends the including class with ClassMethods from ResourceLifecycleCommand.

Parameters:

  • base (Class)

    the class including this module



22
23
24
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 22

def self.included(base)
  base.extend(ResourceLifecycleCommand::ClassMethods)
end

Instance Method Details

#build_presenterPresenters::VmOperationResult

Builds VM operation result presenter.

Returns:



64
65
66
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 64

def build_presenter
  Pvectl::Presenters::VmOperationResult.new
end

#build_repository(connection) ⇒ Repositories::Vm

Builds VM repository.

Parameters:

Returns:



47
48
49
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 47

def build_repository(connection)
  Pvectl::Repositories::Vm.new(connection)
end

#build_selector(strings) ⇒ Selectors::Vm

Builds VM selector from strings.

Parameters:

  • strings (Array<String>)

    selector strings

Returns:



72
73
74
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 72

def build_selector(strings)
  Pvectl::Selectors::Vm.parse_all(strings)
end

#build_service(repo, task_repo, options) ⇒ Services::VmLifecycle

Builds VM lifecycle service.

Parameters:

Returns:



57
58
59
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 57

def build_service(repo, task_repo, options)
  Pvectl::Services::VmLifecycle.new(repo, task_repo, options)
end

#resource_id_labelString

Returns human label for VM IDs.

Returns:

  • (String)

    human label for VM IDs



39
40
41
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 39

def resource_id_label
  "VMID"
end

#resource_labelString

Returns human label for VM resources.

Returns:

  • (String)

    human label for VM resources



34
35
36
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 34

def resource_label
  "VM"
end

#supported_resourcesArray<String>

Returns supported resource types.

Returns:

  • (Array<String>)

    supported resource types



29
30
31
# File 'lib/pvectl/commands/vm_lifecycle_command.rb', line 29

def supported_resources
  %w[vm]
end