首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ansible-playbook:保存"-u“值的变量?

ansible-playbook:保存"-u“值的变量?
EN

Stack Overflow用户
提问于 2018-02-15 13:05:24
回答 1查看 261关注 0票数 0

是否有一个Ansible变量来保存"-u“cli参数的值?

例如:

代码语言:javascript
复制
ansible-playbook some-things.yml -u some-user
                                    ^^^^^^^^^

ansible_user似乎记录了执行剧本的用户的名称;我不需要这个。我需要cli上显式指定的用户名。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 15:29:36

不,没有这样的变量。

如果你想从playbook内部获取CLI参数,你必须编写一些插件。你可以从这个展示fetching --tagsanswer中获得一些灵感。

ansible_user获得本地用户名的原因是(我猜)您在本地主机的上下文中运行任务,其中连接是local,因此用户名是本地的。而-u switch代表的是远程用户。您可以欺骗Ansible,使其认为您希望远程执行任务,并从ansible_user魔法变量中获取远程用户名。如下所示:

代码语言:javascript
复制
---
- hosts: localhost
  gather_facts: no
  tasks:
    - set_fact:
        rem_usr: "{{ ansible_user }}"
      delegate_to: some_fake_host_name
    - debug:
        msg: "local={{ ansible_user }}, remote={{ rem_usr }}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48800258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档