salt.modules.config

返回配置信息

salt.modules.config.backup_mode(backup='')

返回备份模式

CLI 范例:

salt '*' config.backup_mode
salt.modules.config.dot_vals(value)

Pass in a configuration value that should be preceded by the module name and a dot, this will return a list of all read key/value pairs

CLI 范例:

salt '*' config.dot_vals host
salt.modules.config.gather_bootstrap_script(bootstrap=None)

Download the salt-bootstrap script, and return its location

bootstrap
URL of alternate bootstrap script

CLI 范例:

salt '*' config.gather_bootstrap_script
salt.modules.config.get(key, default='', delimiter=':', merge=None)

Attempt to retrieve the named value from the minion config file, pillar, grains or the master config. If the named value is not available, return the value specified by default. If not specified, the default is an empty string.

Values can also be retrieved from nested dictionaries. Assume the below data structure:

{'pkg': {'apache': 'httpd'}}

To retrieve the value associated with the apache key, in the sub-dictionary corresponding to the pkg key, the following command can be used:

salt myminion config.get pkg:apache

The : (colon) is used to represent a nested dictionary level.

在 2015.5.0 版更改: The delimiter argument was added, to allow delimiters other than : to be used.

This function traverses these data stores in this order, returning the first match found:

  • Minion config file
  • Minion's grains
  • Minion's pillar data
  • Master config file

This means that if there is a value that is going to be the same for the majority of minions, it can be configured in the Master config file, and then overridden using the grains, pillar, or Minion config file.

Arguments

delimiter

2015.5.0 新版功能.

Override the delimiter used to separate nested levels of a data structure.

merge

2015.5.0 新版功能.

If passed, this parameter will change the behavior of the function so that, instead of traversing each data store above in order and returning the first match, the data stores are first merged together and then searched. The pillar data is merged into the master config data, then the grains are merged, followed by the Minion config data. The resulting data structure is then searched for a match. This allows for configurations to be more flexible.

注解

The merging described above does not mean that grain data will end up in the Minion's pillar data, or pillar data will end up in the master config data, etc. The data is just combined for the purposes of searching an amalgam of the different data stores.

The supported merge strategies are as follows:

  • recurse - If a key exists in both dictionaries, and the new value is not a dictionary, it is replaced. Otherwise, the sub-dictionaries are merged together into a single dictionary, recursively on down, following the same criteria. For example:

    >>> dict1 = {'foo': {'bar': 1, 'qux': True},
                 'hosts': ['a', 'b', 'c'],
                 'only_x': None}
    >>> dict2 = {'foo': {'baz': 2, 'qux': False},
                 'hosts': ['d', 'e', 'f'],
                 'only_y': None}
    >>> merged
    {'foo': {'bar': 1, 'baz': 2, 'qux': False},
     'hosts': ['d', 'e', 'f'],
     'only_dict1': None,
     'only_dict2': None}
    
  • overwrite - If a key exists in the top level of both dictionaries, the new value completely overwrites the old. For example:

    >>> dict1 = {'foo': {'bar': 1, 'qux': True},
                 'hosts': ['a', 'b', 'c'],
                 'only_x': None}
    >>> dict2 = {'foo': {'baz': 2, 'qux': False},
                 'hosts': ['d', 'e', 'f'],
                 'only_y': None}
    >>> merged
    {'foo': {'baz': 2, 'qux': False},
     'hosts': ['d', 'e', 'f'],
     'only_dict1': None,
     'only_dict2': None}
    

CLI 范例:

salt '*' config.get pkg:apache
salt '*' config.get lxc.container_profile:centos merge=recurse
salt.modules.config.manage_mode(mode)

Return a mode value, normalized to a string

CLI 范例:

salt '*' config.manage_mode
salt.modules.config.merge(value, default='', omit_opts=False, omit_master=False, omit_pillar=False)

Retrieves an option based on key, merging all matches.

Same as option() except that it merges all matches, rather than taking the first match.

CLI 范例:

salt '*' config.merge schedule
salt.modules.config.option(value, default='', omit_opts=False, omit_master=False, omit_pillar=False)

Pass in a generic option and receive the value that will be assigned

CLI 范例:

salt '*' config.option redis.host
salt.modules.config.valid_fileproto(uri)

Returns a boolean value based on whether or not the URI passed has a valid remote file protocol designation

CLI 范例:

salt '*' config.valid_fileproto salt://path/to/file