managed管理一個模板文件,載入到各個節點並運行相應配置
salt.states.file.managed(name, source=None, source_hash='', user=None, group=None, mode=None, template=None, makedirs=False, dir_mode=None, context=None, replace=True, defaults=None, env=None, backup='', show_diff=True, create=True, contents=None, contents_pillar=None, contents_grains=None, contents_newline=True, follow_symlinks=True, check_cmd=None, **kwargs)
name
節點需要管理的文件
source
要載入到節點的源文件、源文件可以在master本地,也可以從http、https或ftp下載(要求有哈希驗證),源文件路徑可以有多個,以第一個為主,如果第一個不存在則嘗試第二個
file_override_example: file.managed: - source: - salt://file_that_does_not_exist - salt://file_that_exists
source_hash
哈希類型支持如下幾種:
Type Length ====== ====== sha512 128 sha384 96 sha256 64 sha224 56 sha1 40 md5 32
通過哈希文件驗證
例:
tomdroid-src-0.7.3.tar.gz: file.managed: - name: /tmp/tomdroid-src-0.7.3.tar.gz - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz - source_hash: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.hash
通過哈希值驗證
例:
tomdroid-src-0.7.3.tar.gz: file.managed: - name: /tmp/tomdroid-src-0.7.3.tar.gz - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz - source_hash: md5=79eef25f9b0b2c642c62b7f737d4f53f
user
子節點上文件屬主
group
子節點上文件屬組
mode
文件屬性,如:644, 0775, 4664
template
文件模板類型,支持jinja, mako, wempy
makedirs
默認為False,如需要管理的文件父目錄不存在則文件管理失敗,設置為True,則會創建父目錄。
dir_mode
設置創建的目錄權限
replace
默認為True,若設置為False將不替換文件內容,但是會強制更改文件權限。
context
覆蓋文件上下文參數
defaults
默認上下文參數
backup
備份功能,有改動才做備份,backup: minion 會備份到minion下的/var/cache/salt/minion/backup_files目錄下
show_diff
設置成False,則不顯示更改的不同點,默認為True
create
默認為True,如果設置成False,在文件存在的情況下則只更改文件
contents
默認為空,添加字符串到文件中