所有Ansible playbook属性

alx*_*ndr 3 ansible ansible-playbook

我刚刚开始使用Ansible,在阅读完教程(Ansible团队命名为"docs")后,我希望看到可以在playbooks中使用的所有属性的完整列表.有人能够提供这样的清单吗?我能够使用谷歌的唯一一个就是这个老例子,但它缺少类似的东西gather_facts.

也许有经验的人可以在这里粘贴一个'骨架',其中包含所有属性的正确结构.

提前致谢.

Kon*_*rov 6

你总是可以查看代码:

# =================================================================================
# 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)

# =================================================================================
Run Code Online (Sandbox Code Playgroud)

另请注意,Play类继承Base,TaggableBecome.
因此所有这些类的属性也可用于播放.

更新:

这是我在另一个问题中建议的Python oneliner :

python -c 'import ansible.playbook.play as P; print P.Play()._valid_attrs.keys();'
Run Code Online (Sandbox Code Playgroud)