2016-12-19 86 views
2

我剛剛開始使用Ansible,並在閱讀完教程後(Ansible團隊名爲「docs」)我希望看到可用於劇本的所有屬性的完整列表。有人能夠提供這樣的清單嗎?我唯一能夠谷歌的是this old example,但它缺少像gather_facts這樣的東西。

也許有人有經驗的人可以在這裏粘貼一個包含所有屬性的正確結構的'骨架'。

在此先感謝。所有Ansible劇本屬性

回答

3

你總是可以看看the code

# ================================================================================= 
# Connection-Related Attributes 

# TODO: generalize connection 
_accelerate   = FieldAttribute(isa='bool', default=False, always_post_validate=True) 
_accelerate_ipv6  = FieldAttribute(isa='bool', default=False, always_post_validate=True) 
_accelerate_port  = FieldAttribute(isa='int', default=5099, always_post_validate=True) 

# Connection 
_gather_facts  = FieldAttribute(isa='bool', default=None, always_post_validate=True) 
_gather_subset  = FieldAttribute(isa='barelist', default=None, always_post_validate=True) 
_gather_timeout  = FieldAttribute(isa='int', default=None, always_post_validate=True) 
_hosts    = FieldAttribute(isa='list', required=True, listof=string_types, always_post_validate=True) 
_name    = FieldAttribute(isa='string', default='', always_post_validate=True) 

# Variable Attributes 
_vars_files   = FieldAttribute(isa='list', default=[], priority=99) 
_vars_prompt   = FieldAttribute(isa='list', default=[], always_post_validate=True) 
_vault_password  = FieldAttribute(isa='string', always_post_validate=True) 

# Role Attributes 
_roles    = FieldAttribute(isa='list', default=[], priority=90) 

# Block (Task) Lists Attributes 
_handlers   = FieldAttribute(isa='list', default=[]) 
_pre_tasks   = FieldAttribute(isa='list', default=[]) 
_post_tasks   = FieldAttribute(isa='list', default=[]) 
_tasks    = FieldAttribute(isa='list', default=[]) 

# Flag/Setting Attributes 
_any_errors_fatal = FieldAttribute(isa='bool', default=False, always_post_validate=True) 
_force_handlers  = FieldAttribute(isa='bool', always_post_validate=True) 
_max_fail_percentage = FieldAttribute(isa='percent', always_post_validate=True) 
_serial    = FieldAttribute(isa='list', default=[], always_post_validate=True) 
_strategy   = FieldAttribute(isa='string', default=C.DEFAULT_STRATEGY, always_post_validate=True) 

# ================================================================================= 

還要注意的是Play類繼承BaseTaggableBecome
因此,所有這些類的屬性也可用於播放。

更新:

這裏是一個Python oneliner由我another question建議:

python -c 'import ansible.playbook.play as P; print P.Play()._valid_attrs.keys();'