Class: Pvectl::Commands::SetNode

Inherits:
Object
  • Object
show all
Includes:
SetResourceCommand
Defined in:
lib/pvectl/commands/set_node.rb,
sig/pvectl/commands/set_node.rbs

Overview

Handler for the pvectl set node command.

Includes SetResourceCommand for shared workflow and overrides template methods with node-specific behavior.

Examples:

Basic usage

pvectl set node pve1 description="Production node"

Instance Method Summary collapse

Methods included from SetResourceCommand

#display_diff, #execute, included, #initialize, #load_config, #parse_key_values, #service_options, #usage_error

Instance Method Details

#build_set_service(connection) ⇒ Services::SetNode

Builds the node set service.

Parameters:

Returns:



41
42
43
44
45
46
47
48
49
# File 'lib/pvectl/commands/set_node.rb', line 41

def build_set_service(connection)
  node_repo = Pvectl::Repositories::Node.new(connection)
  time_repo = Pvectl::Repositories::TimeConfig.new(connection)
  Pvectl::Services::SetNode.new(
    node_repository: node_repo,
    time_repository: time_repo,
    options: service_options
  )
end

#execute_params(resource_id, key_values) ⇒ Hash

Builds execution parameters from a node name.

Parameters:

  • resource_id (String)

    node name

  • key_values (Hash)

    parsed key-value pairs

Returns:

  • (Hash)

    parameters for the set service



33
34
35
# File 'lib/pvectl/commands/set_node.rb', line 33

def execute_params(resource_id, key_values)
  { node_name: resource_id, params: key_values }
end

#resource_id_labelString

Returns human label for node IDs.

Returns:

  • (String)

    human label for node IDs



24
25
26
# File 'lib/pvectl/commands/set_node.rb', line 24

def resource_id_label
  "NODE"
end

#resource_labelString

Returns human label for node resources.

Returns:

  • (String)

    human label for node resources



19
20
21
# File 'lib/pvectl/commands/set_node.rb', line 19

def resource_label
  "node"
end