salt.states.etcd_mod

Manage etcd Keys

2015.8.0 新版功能.

depends:
  • python-etcd

This state module supports setting and removing keys from etcd.

Salt Master Configuration

To work with an etcd server you must configure an etcd profile in the Salt Master configuration, for example:

my_etd_config:
  etcd.host: 127.0.0.1
  etcd.port: 4001

You can also configure etcd without a profile however it is recommended that you use profiles:

etcd.host: 127.0.0.1
etcd.port: 4001

Available Functions

  • set

    This will set a value to a key in etcd. Changes will be returned if the key has been created or the value of the key has been updated. This means you can watch these states for changes.

    /foo/bar/baz:
      etcd.set:
        - value: foo
        - profile: my_etcd_config
    
  • wait_set

    Performs the same functionality as set but only if a watch requisite is True.

    /some/file.txt:
      file.managed:
        - source: salt://file.txt
    
    /foo/bar/baz:
      etcd.wait_set:
        - value: foo
        - profile: my_etcd_config
        - watch:
          - file: /some/file.txt
    
  • rm

    This will delete a key from etcd. If the key exists then changes will be returned and thus you can watch for changes on the state, if the key does not exist then no changes will occur.

    /foo/bar/baz:
      etcd.rm:
        - profile: my_etcd_config
    
  • wait_rm

    Performs the same functionality as rm but only if a watch requisite is True.

    /some/file.txt:
      file.managed:
        - source: salt://file.txt
    
    /foo/bar/baz:
      etcd.wait_rm:
        - profile: my_etcd_config
        - watch:
          - file: /some/file.txt
    
salt.states.etcd_mod.mod_watch(name, **kwargs)

Execute a etcd function based on a watch call requisite.

salt.states.etcd_mod.rm(name, recurse=False, profile=None)

Deletes a key from etcd. This function is also aliased as rm.

name
The etcd key name to remove, for example /foo/bar/baz.
recurse
Optional, defaults to False. If True performs a recursive delete.
profile
Optional, defaults to None. Sets the etcd profile to use which has been defined in the Salt Master config.
salt.states.etcd_mod.set(name, value, profile=None)

Set a key in etcd and can be called as set.

name
The etcd key name, for example: /foo/bar/baz.
value
The value the key should contain.
profile
Optional, defaults to None. Sets the etcd profile to use which has been defined in the Salt Master config.
salt.states.etcd_mod.wait_rm(name, recurse=False, profile=None)

Deletes a key from etcd only if the watch statement calls it. This function is also aliased as wait_rm.

name
The etcd key name to remove, for example /foo/bar/baz.
recurse
Optional, defaults to False. If True performs a recursive delete, see: https://python-etcd.readthedocs.org/en/latest/#delete-a-key.
profile
Optional, defaults to None. Sets the etcd profile to use which has been defined in the Salt Master config.
salt.states.etcd_mod.wait_set(name, value, profile=None)

Set a key in etcd only if the watch statement calls it. This function is also aliased as wait_set.

name
The etcd key name, for example: /foo/bar/baz.
value
The value the key should contain.
profile
The etcd profile to use that has been configured on the Salt Master, this is optional and defaults to None.