Puppet Function: simplib::passgen::simpkv::remove
- Defined in:
- lib/puppet/functions/simplib/passgen/simpkv/remove.rb
- Function type:
- Ruby 4.x API
Overview
Removes a generated password, history and stored attributes
-
Password info is stored in a key/value store and removed using simpkv.
-
simpkv key is the identifier.
-
-
Terminates catalog compilation if any simpkv operation fails.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/puppet/functions/simplib/passgen/simpkv/remove.rb', line 7 Puppet::Functions.create_function(:'simplib::passgen::simpkv::remove') do # @param identifier Unique `String` to identify the password usage. # Must conform to the following: # * Identifier must contain only the following characters: # * a-z # * A-Z # * 0-9 # * The following special characters: `._:-/` # * Identifier may not contain '/./' or '/../' sequences. # # @param simpkv_options # simpkv configuration when in simpkv mode. # # * Will be merged with `simpkv::options`. # * All keys are optional. # # @option simpkv_options [String] 'app_id' # Specifies an application name that can be used to identify which backend # configuration to use via fuzzy name matching, in the absence of the # `backend` option. # # * More flexible option than `backend`. # * Useful for grouping together simpkv function calls found in different # catalog resources. # * When specified and the `backend` option is absent, the backend will be # selected preferring a backend in the merged `backends` option whose # name exactly matches the `app_id`, followed by the longest backend # name that matches the beginning of the `app_id`, followed by the # `default` backend. # * When absent and the `backend` option is also absent, this function # will use the `default` backend. # # @option simpkv_options [String] 'backend' # Definitive name of the backend to use. # # * Takes precedence over `app_id`. # * When present, must match a key in the `backends` option of the # merged options Hash or the function will fail. # * When absent in the merged options, this function will select # the backend as described in the `app_id` option. # # @option simpkv_options [Hash] 'backends' # Hash of backend configurations # # * Each backend configuration in the merged options Hash must be # a Hash that has the following keys: # # * `type`: Backend type. # * `id`: Unique name for the instance of the backend. (Same backend # type can be configured differently). # # * Other keys for configuration specific to the backend may also be # present. # # @option simpkv_options [String] 'environment' # Puppet environment to prepend to keys. # # * When set to a non-empty string, it is prepended to the key used in # the backend operation. # * Should only be set to an empty string when the key being accessed is # truly global. # * Defaults to the Puppet environment for the node. # # @option simpkv_options [Boolean] 'softfail' # Whether to ignore simpkv operation failures. # # * When `true`, this function will return a result even when the # operation failed at the backend. # * When `false`, this function will fail when the backend operation # failed. # * Defaults to `false`. # # # @return [Nil] # @raise Exception if a simpkv operation fails or any legacy password file # cannot be removed # dispatch :remove do required_param 'String[1]', :identifier optional_param 'Hash', :simpkv_options end def remove(identifier, ={'app_id' => 'simplib::passgen'}) key_root_dir = call_function('simplib::passgen::simpkv::root_dir') key = "#{key_root_dir}/#{identifier}" if call_function('simpkv::exists', key, ) call_function('simpkv::delete', key, ) end end end |