Class: Chef::Knife::EncryptedAttributeUpdate

Inherits:
Core::EncryptedAttributeBase show all
Includes:
Core::EncryptedAttributeDepends, Core::EncryptedAttributeEditorOptions
Defined in:
lib/chef/knife/encrypted_attribute_update.rb

Overview

knife encrypted attribute update command.

$ knife encrypted attribute update NODE ATTRIBUTE (options)

Instance Method Summary collapse

Methods included from Core::EncryptedAttributeEditorOptions

#edit_data, #edit_data_obj_to_string, #edit_data_run_editor, #edit_data_run_editor_command, #edit_data_string_to_obj, included

Methods included from Core::EncryptedAttributeDepends

included

Methods inherited from Core::EncryptedAttributeBase

#assert_attribute_does_not_exist, #assert_attribute_exists, #assert_attribute_readable, #attribute_path_to_ary, #attribute_path_to_ary_read_escape, #die, #option_assert, #parse_args

Instance Method Details

#assert_valid_argsObject

Raises:

  • (ArgumentError)

    if the attribute path format is wrong.



39
40
41
# File 'lib/chef/knife/encrypted_attribute_update.rb', line 39

def assert_valid_args
  assert_attribute_exists(@node_name, @attr_ary)
end

#runObject

Runs knife command.

Returns:

  • void

Raises:

  • (ArgumentError)

    if the attribute path format or the user list is wrong.

  • (UnacceptableEncryptedAttributeFormat)

    if encrypted attribute format is wrong or does not exist.

  • (UnsupportedEncryptedAttributeFormat)

    if encrypted attribute format is not supported or unknown.

  • (EncryptionFailure)

    if there are encryption errors.

  • (MessageAuthenticationFailure)

    if HMAC calculation error.

  • (InvalidPublicKey)

    if it is not a valid RSA public key.

  • (InvalidKey)

    if the RSA key format is wrong.

  • (InsufficientPrivileges)

    if you lack enough privileges to read the keys from the Chef Server.

  • (ClientNotFound)

    if client does not exist.

  • (Net::HTTPServerException)

    for Chef Server HTTP errors.

  • (RequirementsFailure)

    if the specified encrypted attribute version cannot be used.

  • (SearchFailure)

    if there is a Chef search error.

  • (SearchFatalError)

    if the Chef search response is wrong.

  • (InvalidSearchKeys)

    if search keys structure is wrong.



65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/chef/knife/encrypted_attribute_update.rb', line 65

def run
  parse_args

  # update encrypted attribute
  knife_config = Chef::Config[:knife][:encrypted_attributes]
  enc_attr = Chef::EncryptedAttribute.new(knife_config)
  if enc_attr.update_on_node(@node_name, @attr_ary)
    ui.info('Encrypted attribute updated.')
  else
    ui.info('Encrypted attribute does not need updating.')
  end
end