Module: Pvectl::Commands::ContainerLifecycleCommand

Includes:
ResourceLifecycleCommand
Included in:
RestartContainer, ShutdownContainer, StartContainer, StopContainer
Defined in:
lib/pvectl/commands/container_lifecycle_command.rb,
sig/pvectl/commands/container_lifecycle_command.rbs

Overview

Container-specific lifecycle command hooks.

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

Examples:

Usage

class StartContainer
  include ContainerLifecycleCommand
  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.



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

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

Instance Method Details

#build_presenterPresenters::ContainerOperationResult

Builds container operation result presenter.



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

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

#build_repository(connection) ⇒ Repositories::Container

Builds container repository.



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

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

#build_selector(strings) ⇒ Selectors::Container

Builds container selector from strings.



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

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

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

Builds container lifecycle service.



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

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

#resource_id_labelString



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

def resource_id_label
  "CTID"
end

#resource_labelString



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

def resource_label
  "container"
end

#supported_resourcesArray<String>



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

def supported_resources
  %w[container ct]
end