Saltstack module etcd 详解

etcd.set

New in version 2014.7.0

Set a key in etcd by direct path. Optionally, create a directory
or set a TTL on the key.  Returns None on failure.

CLI Example:

    salt myminion etcd.set /path/to/key value
    salt myminion etcd.set /path/to/key value profile=my_etcd_config
    salt myminion etcd.set /path/to/key value host=127.0.0.1 port=2379
    salt myminion etcd.set /path/to/dir '' directory=True
    salt myminion etcd.set /path/to/key value ttl=5

etcd.rm

New in version 2014.7.0

Delete a key from etcd.  Returns True if the key was deleted, False if it was
not and None if there was a failure.

CLI Example:


    salt myminion etcd.rm /path/to/key
    salt myminion etcd.rm /path/to/key profile=my_etcd_config
    salt myminion etcd.rm /path/to/key host=127.0.0.1 port=2379
    salt myminion etcd.rm /path/to/dir recurse=True profile=my_etcd_config

etcd.update

New in version 2016.3.0

Sets a dictionary of values in one call.  Useful for large updates
in syndic environments.  The dictionary can contain a mix of formats
such as:

    {
      '/some/example/key': 'bar',
      '/another/example/key': 'baz'
    }

Or it may be a straight dictionary, which will be flattened to look
like the above format:

    {
        'some': {
            'example': {
                'key': 'bar'
            }
        },
        'another': {
            'example': {
                'key': 'baz'
            }
        }
    }

You can even mix the two formats and it will be flattened to the first
format.  Leading and trailing '/' will be removed.

Empty directories can be created by setting the value of the key to an
empty dictionary.

The 'path' parameter will optionally set the root of the path to use.

CLI Example:

    salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}"
    salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" profile=my_etcd_config
    salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" host=127.0.0.1 port=2379
    salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" path='/some/root'

etcd.tree

New in version 2014.7.0

Recurse through etcd and return all values.  Returns None on failure.

CLI Example:


    salt myminion etcd.tree
    salt myminion etcd.tree profile=my_etcd_config
    salt myminion etcd.tree host=127.0.0.1 port=2379
    salt myminion etcd.tree /path/to/keys profile=my_etcd_config

etcd.watch

New in version 2016.3.0

Makes a best effort to watch for a key or tree change in etcd.
Returns a dict containing the new key value ( or None if the key was
deleted ), the modifiedIndex of the key, whether the key changed or
not, the path to the key that changed and whether it is a directory or not.

If something catastrophic happens, returns {}

CLI Example:

    salt myminion etcd.watch /path/to/key
    salt myminion etcd.watch /path/to/key timeout=10
    salt myminion etcd.watch /patch/to/key profile=my_etcd_config index=10
    salt myminion etcd.watch /patch/to/key host=127.0.0.1 port=2379

etcd.ls

New in version 2014.7.0

Return all keys and dirs inside a specific path. Returns an empty dict on
failure.

CLI Example:


    salt myminion etcd.ls /path/to/dir/
    salt myminion etcd.ls /path/to/dir/ profile=my_etcd_config
    salt myminion etcd.ls /path/to/dir/ host=127.0.0.1 port=2379

etcd.get

New in version 2014.7.0

Get a value from etcd, by direct path.  Returns None on failure.

CLI Examples:

    salt myminion etcd.get /path/to/key
    salt myminion etcd.get /path/to/key profile=my_etcd_config
    salt myminion etcd.get /path/to/key recurse=True profile=my_etcd_config
    salt myminion etcd.get /path/to/key host=127.0.0.1 port=2379
原文地址:https://www.cnblogs.com/randomlee/p/Saltstack_module_etcd.html