Ansible,如何在主机清单中定义列表?

2023-12-11

我有一个剧本,我想在我的主机文件中定义一个字符串列表。

这是我的主机文件:

[dashboard]
1.2.3.4 dashboard_domain=test site_domain=['one','two','foo', 'bar'] 

这是我尝试使用以下方法编写的剧本列出文档:

---
- hosts: dashboard
  gather_facts: False
  remote_user: ubuntu
  become: yes

  tasks:

    - name: ping
      ping:

    - debug: 
        msg: "Domain: {{dashboard_domain}}"

    - debug: 
        msg: "Site: {{ item }}"
      with_items: "{{site_domain}}"

然而运行这个剧本ansible-playbook -i hosts ping.yml导致此错误:

任务:[调试] ************************************************* ******************
fatal: [1.2.3.4] => with_items 需要一个列表或集合

这似乎是将定义的列表从主机文件传输到剧本的问题,因为直接在剧本中定义列表是有效的:

---
- hosts: dashboard
  gather_facts: False
  remote_user: ubuntu
  become: yes
  vars:
    site_domain: ['one','two','foo', 'bar'] 
  tasks:

    #### APPLY HTTP-AUTH ####
    - name: ping
      ping:

    - debug: 
        msg: "Domain: {{dashboard_domain}}"

    - debug: 
        msg: "Site: {{ item }}"
      with_items: "{{site_domain}}"

只需引用变量值:

[dashboard]
1.2.3.4 dashboard_domain=test site_domain="['one','two','foo', 'bar']"

似乎在 INI 格式的清单文件的情况下,如果变量值以不带引号的开头,Ansible 不会解析该变量值[并将其作为字符串传递。


关于你的例子:我不确定为什么你没有得到expected key=value如果内部确实有空间,则读取库存文件时会出错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible,如何在主机清单中定义列表? 的相关文章

  • 如何将参数传递给 Symfony2 中的验证约束 - 在 yml 中

    我正在尝试向我的应用程序添加一个包范围的参数 以便我可以将其添加到我的验证约束文件 validation yml 中 myApp myBundle Entity Contact properties name NotBlank messag
  • 在 sudo 用户下应用角色

    是否可以在 Ansible 中应用 sudo 等特定角色 具体来说 这些是从 ansible galaxy 获取的角色 因此来源不在我的控制范围内 这个例子 https raymii org s tutorials Ansible Bett
  • 安塞布尔 + 10.11.6

    我在 非常 干净地安装 10 11 6 时遇到了 Ansible 的奇怪问题 我已经安装了brew zsh oh my zsh Lil snitch 和1password 实际上没有安装其他任何东西 我安装了ansible brew ins
  • Ansible:如何为Solaris设置全局路径

    我正在编写 Ansible 剧本来在 Solaris 服务器上设置和安装我们的应用程序 问题是我需要执行的 bash 脚本都假设某个目录位于 PATH 上 即 data bin 如果 Ansible 没有忽略所有这些 这通常不会成为问题 p
  • ansible playbook失败:超时(12秒)等待权限升级提示:“}

    我正在尝试在虚拟机上自动执行一些手动任务 作为其中的一部分 我的虚拟机没有直接的根访问权限 所以我必须使用不同的用户 然后升级到root 当我尝试切换到 root 用户时 密码提示与默认提示不同 我看到的提示如下图 user1 vm 1 t
  • 如何在 JS 文件中使用 Github 机密

    我有一个基本的 git 存储库 其中包含用于构建和部署的 github 操作 主要是 HTML 和 TS 文件 但是我必须在一些需要保密的 API 密钥中使用 所以我想办法为他们使用 GITHUB SECRETS 如何在我的 js 或 TS
  • 我们如何在使用循环时调用 ansible playbook 中的变量

    我有两个文件 其中这些文件包含server names and server IP s 我想更改 替换一些特定的server names and IP addressees根据要求在两个文件中 这与这篇文章 因为它被要求开设一个新职位 ht
  • Ansible - 当至少一项在循环中失败时跳过任务

    我正在使用 sqlplus 运行一些 SQL 脚本 在运行之前 我从该目录获取所有 sql 文件列表并将其存储在sql out如下所示 问题是 如果其中一个 sql 脚本失败 其余 sql 脚本仍然会执行 如果任何一个脚本失败 我想完全跳过
  • BigDecimal 无法强制转换为 BigDecimal

    这应该很简单 但它却爆炸了 有任何想法吗 d BigDecimal new 2 0 YAML load a gt d to yaml TypeError BigDecimal can t be coerced into BigDecimal
  • Python 中的 JSON 到 YAML:如何获得正确的字符串操作?

    我正在使用PyYAML 库 https github com yaml pyyaml将 json 转换为 yaml 但是引号在不应该的情况下从字符串值中删除了 它们只能从钥匙上移除 我已将 default flow style 选项与 ya
  • Rails 3 - “无法解析 Yaml”

    我不知道我做错了什么 我尝试运行 rails c 但它只是给了我一个错误 10 分钟前它还在工作 C Ruby192 lib ruby 1 9 1 psych rb 148 in parse couldn t parse YAML at l
  • 根据值匹配数组

    我使用以下代码来解析 yaml 并应得到输出为runners对象和函数build应更改数据结构并根据以下结构提供输出 type Exec struct NameVal string Executer string 这是我尝试过的 但我不知道
  • 本地主机中的 Ansible SSH 连接错误

    当我针对本地主机启动我的剧本时 出现此错误 TASK setup fatal 127 0 0 1 UNREACHABLE gt changed false msg SSH encountered an unknown error durin
  • 使用when条件来匹配输出寄存器中的字符串(Ansible)

    我无法在输出变量中搜索我用于 when 语句的指定字符串 下面的代码应该检查输出变量中的字符串 distribute list 但是当运行剧本时它会给出错误 fatal 192 168 3 252 FAILED gt failed true
  • 是否可以将环境变量添加到 MongoDB 配置文件中?

    我正在使用 YAML 语法配置 MongoDB 副本集 但是 我想使用 MONGODB HOME 环境变量指向数据库 storage dbPath ENV MONGODB HOME data db 我尝试过使用 等 但没有成功 可以这样做吗
  • 数据结构格式(YAML 或其他)的往返解析保留注释,用于编写配置

    我一直在多个应用程序中使用 YAML 作为配置文件格式 一切都很顺利 除了一件事 当我的程序需要在 YAML 配置文件中写入 修改配置变量时 它会通过加载和转储整个文件来破坏格式和注释 结构 嗯 实际上 YAML 还有另一个问题 大多数用户
  • Terraform 本地执行配置程序中的转义字符

    我想使用链接 Terraform 和 Ansiblelocal exec供给者 然而 由于这需要输入to安西布尔fromTerraform 我被以下复杂的命令困扰 provisioner local exec command sleep 6
  • Ansible 从列表中使用存档模块创建 tar.gz

    我试图在 Ansible 中查找超过一天的文件 然后创建这些文件的 tar gz 我已经尝试过archive模块 尽管它只创建列表中最后一个元素的 tar 有什么方法可以创建包含所有文件的 tar gz 吗 下面是我的脚本 name Che
  • YAML 中空字典的语法

    如何在 YAML 中表示空字典 IE 它在语义上应该等同于空的 json object 简短回答 使用 在 yaml 中有两种表示映射 字典 的方法 流映射 http www yaml org spec 1 2 spec html id27
  • 如何在多行而不是单行输出上打印 Linux 组名称

    我尝试过 getent group 命令 id Gn user 和一些 sed 组合 但我认为我无法实现 因此向其他程序员伸出援手 我希望能够打印此 groups abc123输出 abc123 devops 构建测试设计 预期输出 gro

随机推荐

  • 从本地 .resx 文件获取值 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 如何从 asp net 中的本地 resx 文件获取值 从代码隐藏 Cultur
  • Python:使用“yield from”时出现奇怪的行为

    在下面的代码中 我遇到了RecursionError maximum recursion depth exceeded def unpack given for i in given if hasattr i iter yield from
  • 如何通过箭头键更改突出显示的 tkinter 按钮?

    我正在使用 python 中的 tkinter 库开发键盘应用程序 我做了一个键盘 我想要的是突出显示一个键 然后单击箭头键我想更改该突出显示的键 这是我的键盘代码 from tkinter import import tkinter Ke
  • GCM HTTP 错误 401:未经授权

    我在客户端集成了 GCM 也制作了服务器端组件 一切工作正常 我能够从服务器向所有注册的客户端发送推送通知 我使用谷歌应用程序引擎作为我的服务器 问题出现时 I changed the API Key on server 早些时候 我使用我
  • 使用反射/ TypeDescriptor 设置匿名类型的属性值是否可能?

    我尝试使用 TypeDescriptor 并且该值没有改变 并且通过反射我得到一个错误 表明该属性没有设置器 C 匿名类型是不可变的 并且它们的属性无法更改 If you really如果愿意 您可以使用反射来设置支持字段 但这将是一个坏主
  • 受约束的 TypeVar 和 Union 之间有什么区别?

    如果我想要一个可以是多种可能类型的类型 Union我似乎是这样表示的 U Union int str U可以是一个int or a str 我注意到了TypeVars 允许可选的 var arg 参数 它们似乎也做同样的事情 T TypeV
  • 为什么/何时 cout 缓冲区自动刷新?

    我的理解是从here如果我要输出字符而不刷新缓冲区 endl or cin 在程序结束之前它们不会出现在我的控制台上 所以我尝试做一个无限循环 for std cout lt lt a lt lt std endl 和不刷新缓冲区相同 fo
  • rdf:resource中#的含义是什么

    我不清楚什么时候应该在 URI 之前rdf resource with 特点 它到底是什么意思 是使用相对 URI 的方式 还是必须与rdf ID但不与rdf about 您能否附上错误和正确用法的示例 inside rdf resourc
  • 如何在XAML中引用图像资源?

    我放了一个Image窗口上的控件 我想显示存储在名为 Resources resx 的项目资源文件中的图像 资源文件中图像的名称是 搜索 有人可以告诉我如何去做这件事吗 如果图像位于您的资源文件夹中并且其构建操作设置为资源 您可以在 XAM
  • PHP 正则表达式不包括
     标签                
                

    我正在使用名为的 WordPress 插件Acronyms https wordpress org plugins acronyms 该插件用其描述替换首字母缩略词 它使用 PHPPREG REPLACE功能 问题是它取代了包含在 pre
  • 在 WiX 安装程序中设置服务启动类型

    我正在尝试将预安装服务的启动类型设置为Automatic 使用 WiX 另一项任务是在安装时启动服务 我是通过以下方式实现的
  • Lucene 4.2 字符串字段

    我是 Lucene 的新手 我有两个文档 我希望与称为 关键字 的文档字段完全匹配 该字段可能在文档中出现多次 第一个文档包含关键字 Annotation is Cool 第二个文档包含关键字 注释也很酷 当我搜索 注释很酷 时 如何构建查
  • DataGrid - “双向绑定需要 Path 或 XPath。”

    我想在 DataGrid 上显示我的对象数据库 public class Student public string Imie get set public string Nazwisko get set string Numer get
  • 边框 CSS HTML 中的文本

    我想要一个看起来像这样的 div 这可以用 HTML CSS 实现吗 我还将使用 jQuery 为这个 div 制作动画 当 div 隐藏时 我希望显示标题和顶行 是的 但这不是一个div 它是fieldset fieldset borde
  • Android Studio - 构建错误 - Android 任务已创建

    构建项目时出现如下错误 错误 2 0 Android 任务已创建 调用 android applicationVariants 时会发生这种情况 android libraryVariants 或 android testVariants
  • NSLocalizedString()的第二个参数是什么?

    是什么 comment参数在 NSString NSLocalizedString NSString key NSString comment 如果我这样做 NSLocalizedString Hello World Key Hello W
  • 如何防止 Spyne 包装我的回复?

    这是示例服务 NS my app namespace class MyMethodRS ComplexModel tns NS Version XmlAttribute Unicode class MyService ServiceBase
  • Django Haystack 和 Whoosh 搜索工作正常,但 SearchQuerySet 返回 0 个结果

    编辑 更多信息在帖子底部 原问题 我似乎遇到了与这个 未解决的 问题相同的问题 django haystack Whoosh SearchQuerySet all 始终无 我已经在我的 Django 项目上使用 Whoosh 设置了 Hay
  • 使用ffmpeg丢弃容器中的数据流

    我正在尝试使用 ffmpeg 删除 Mp4 容器内的数据 字幕 流 这是 ffprobe 的屏幕截图 Input 0 mov mp4 m4a 3gp 3g2 mj2 from test m4v Metadata major brand is
  • Ansible,如何在主机清单中定义列表?

    我有一个剧本 我想在我的主机文件中定义一个字符串列表 这是我的主机文件 dashboard 1 2 3 4 dashboard domain test site domain one two foo bar 这是我尝试使用以下方法编写的剧本