在 Puppet 中迭代哈希键/值

2024-02-03

我正在尝试使用 Puppet 来更新 ASP.NET web.config 中的任意应用程序设置列表(用于部署目的),但我陷入了困境,主要是因为我是一个真正的 puppet 专家。

我有这个 yaml 文件(hiera)

---
appSettings:
  setting1: "hello"
  setting2: "world!"
  setting3: "lalala"

的数量setting[x]可以任意跨越(一个应用程序设置),我想循环遍历哈希键/值来更新相应的appSetting/add在 web.config 中(使用exec使用powershell)问题是我已经搜索了如何迭代keys and values.

我碰到create_resources当然,这会使用一组预先确定的键来迭代哈希的哈希。同样,清单中的键名称是未知的(因此迭代键/值对)。

任何指导表示赞赏。

编辑:看起来有一个keys()我可以在哈希上使用函数并对其进行迭代,然后使用 hiera_hash('appSettings') 来获取哈希并迭代值。


好的,我刚刚确认了您可以在清单中执行的操作:

define updateAppSetting {
    # get the hashes again because outside vars aren't visible here
    $appSettings = hiera_hash('appSettings')

    # $name is the key $appsettingValue is the value
    $appsettingValue = $appSettings[$name]

    # update the web.config here!
}

$appSettings = hiera_hash('appSettings')    

# the keys() function returns the array of hash keys
$appSettingKeys = keys($appSettings)

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

在 Puppet 中迭代哈希键/值 的相关文章

  • puppet—批量部署mysql5.7+httpd[包含启动]

    httpd install pp class httpd install package httpd name gt httpd ensure gt installed httpd service pp class httpd servic
  • 对 epp 模板使用 puppet hash

    我在 erb 模板中有下一个代码 proxy cache path keys zone levels max size inactive 如何将其移植为 epp 模板 我发现这方面的信息很少 请帮忙 您可以按照以下方法执行此操作 显示
  • 未定义的局部变量或方法 - 使用烧杯测试 Puppet 模块

    我对这一切都很陌生 我正在尝试使用烧杯测试木偶模块 我不断得到这个 NoMethodError undefined method describe for Beaker TestCase 0x007fd6f95e6460 Users use
  • 处理带有空格的名称

    我的 Puppet 代理是 Windows Server 2012 我正在尝试向 AD 用户授予数据库权限 如果我尝试将权限分配给名称中不包含任何空格的 AD 用户 则该脚本可以正常工作 早些时候 不带空格的用户名也不起作用 但是当我添加额
  • 如何使用puppet为不同用户设置自定义bash环境?

    我刚刚开始使用 puppet 和 vagrant 为我们的团队设置开发环境 该团队由 8 名以上的开发人员组成 每个人都有其特定的 bash 配置等 我已经将所有软件安装在系统来快速部署新的开发虚拟机 但我不确定以自动化的方式为每个特定用户
  • Puppet:不同节点上资源之间的关系

    我知道我们可以指定资源之间的关系 这决定了部署顺序 但是是否可以在 Puppet 中的不同节点上的资源之间创建关系呢 例如 我在节点 A 中有 apache Web 服务器 在节点 B 中有 mysql 服务器 我想在启动 apache W
  • 如何在木偶上使用参数化正则表达式(例如/${user}/)进行测试?

    我需要获取用户的主目录 我决定通过解析 getent passwd 字符串来获取它 这是一个自定义事实构建为 内容的串联 etc passwd 并借助正则表达式提取相关信息 当我测试 getent带有固定字符串 adam 提取工程 if g
  • 如何按角色拆分 hiera 配置?

    我正在使用 hiera 来分配类 例如webserver or dbserver到我的节点 这webserver类只包含 apache 并在其上设置一些配置 例如端口 显然我不想为每个节点复制这个配置 所以我把它放在 common yaml
  • 如何在 Puppet 2.7 中将数组转换为逗号分隔的字符串

    我正在使用 Puppet 2 7 我需要将数组转换为逗号分隔列表 hosts fqdn host1 host2 host3 我需要将其转换为所需的结果 host1 host2 host3 我猜 Puppet 3 2 提供了 lambda 表
  • 在 Puppet 中迭代哈希键/值

    我正在尝试使用 Puppet 来更新 ASP NET web config 中的任意应用程序设置列表 用于部署目的 但我陷入了困境 主要是因为我是一个真正的 puppet 专家 我有这个 yaml 文件 hiera appSettings
  • 木偶在循环中添加数组元素

    我想要这样的东西 ssl domains dev mydomain com admin api web each site tom jeff harry each developer ssl domains lt lt site devel
  • 使用 Vagrant 管理开发和生产环境?

    人们如何使用 vagrant 最好来自同一个 vagrantfile 处理开发 生产环境的简单自动化 使用 puppet 我试图解决的用例 如果没有创建的话 我很乐意用 vagrant 来启动生产机器 如果在我的开发环境的 puppet 文
  • 如何使用Vagrant box打包文件?

    所以我使用以下命令创建了一个 Vagrant 框 vagrant package base box name here vagrantfile Vagrantfile include manifests manifests 是一个包含 pu
  • 木偶如何判断变量是否已设置

    在木偶类中 我应该如何测试变量是否已设置 现在我只是检查变量是否未定义 if http port undef run command run command http port http port 有没有更好的方法来检查变量是否已声明 如果
  • 使用多个参数多次调用傀儡定义的资源

    我有一个简单的木偶定义的资源 如下所示 define mything number device otherthing file place number ensure gt directory mount place number dev
  • 在 Hiera 中进行基本数学运算

    我试图根据自定义事实和基本模数在 hiera 中设置 crontab 的工作日 但我什至不知道这是否可能 我想做这样的事情 cron job command do something user myuser hour instance mi
  • Puppet - 在迭代哈希时,如果 hiera 中不存在,则在清单中设置默认值

    我正在迭代 hiera 哈希中的许多条目 并希望通过在清单中设置默认值 例如ensure groups managehome等 并且如果 hiera 中存在重复的键 值对 则覆盖默认值 到目前为止 我尝试过的所有方法都无法获得默认值 我知道
  • 使用 Vagrant,为什么 puppet 配置比自定义打包盒更好?

    我正在创建一个虚拟机来模仿我们的生产 Web 服务器 以便我可以与新开发人员共享它 让他们尽快上手 我已经阅读过 Vagrant 文档 但是我不明白使用通用基础盒并使用 Puppet 配置所有内容与打包已安装和配置所有内容的自定义盒相比有何
  • Vagrant+Puppet puppet.module_path 不起作用

    所以我的 Vagrant 文件设置如下 VAGRANTFILE API VERSION 2 Vagrant configure VAGRANTFILE API VERSION do config config vm box hashicor
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个

随机推荐

  • iPad 上纵向和横向模式的不同 Xib

    我对使用 2 XIb 来改变 Ipad 方向的一堂课持怀疑态度 这是正确的做法吗 对于纵向模式下的 iPad 我有一种设计 而对于横向模式 我有不同的设计 与纵向模式有点相似 但无法在纵向模式下调整 我可以做编程中的所有事情吗 或者使用 2
  • 如何避免在我的 ViewModel 中查看特定代码

    我的应用程序有一个菜单选项 允许创建新帐户 菜单选项的命令绑定到我的 ViewModel 中的命令 NewAccountCommand 当用户单击创建新帐户的选项时 应用程序会显示一个 新帐户 对话框 用户可以在其中输入姓名 地址等数据 然
  • JAVA问题:索引130超出长度130的范围[重复]

    这个问题在这里已经有答案了 我正在运行以下代码 但不断收到以下错误 线程 main 中的异常 java lang ArrayIndexOutOfBoundsException 索引 130 超出长度 130 的范围 在 Datachange
  • Android 从主机名获取 ipv6 地址

    我正在尝试从 Android 设备上的主机名获取 IPv6 地址 我的设备是 Nexus 7 和 6 0 1 版本 下面是我使用的API InetAddress inets InetAddress getAllByName hostname
  • 为什么 AngularJS 路由在本地不起作用?

    我有实现 AngularJS 路由的 html 文件 如下所示 索引 html div div
  • 生成html后消除分隔primefaces布局单元的元素

    是否可以消除或编辑分隔 primefaces 布局单元元素 顶部 西部 中心等 的元素 这些元素的 id 结尾为 调整大小 我在 primefaces 3 1 1 jar 中找不到哪个类执行此操作 例如 当生成为html后的元素layout
  • 如何在 Rails 控制台中重新加载模型?

    gt rvm list rvm rubies ruby 1 9 2 p290 i686 ruby 1 9 3 p194 i686 gt rails v Rails 3 1 1 相关但未回答 是否有 Rails 控制台命令 Rails 3 来
  • java.lang.NoClassDefFoundError: com.urbanairship.UAirship

    我有一台新 Mac Lion 10 7 3 安装了Eclipse和android sdk 从 SVN 检查我的项目 尝试运行并得到这个丑陋的异常 05 20 12 17 21 175 E AndroidRuntime 32499 FATAL
  • 可以为分布式 Tensorflow 虚拟化 NVIDIA GeForce GTX 1070 显卡吗?

    我在配备 16 GB RAM 1 TB HDD 和专用硬盘的 Intel Core i7 8700 CPU 上运行 Windows 10NVIDIA GeForce GTX 1070 https www geforce com hardwa
  • FileReader之后可以清理内存吗?

    FileReader 似乎消耗了所有内存 因为它被重复用于预加载多个 blob 并且从不释放它 有什么已知的方法可以强制它释放消耗的内存吗 将 FileReader 对象及其结果属性设置为 null 似乎不起作用 UPDATE 这里有一个示
  • 使用 Rollup 和外部依赖项部署 Angular 2 应用程序 Aot

    我已经实现了一个 Angular 2 应用程序 它利用Kendo UI 网格 http www telerik com kendo angular ui 使用 AoT Rollup 部署应用程序时我陷入困境 错误 GridModule 未由
  • 休眠禁用缓存

    我想禁用休眠缓存 session setCacheMode CacheMode IGNORE 不起作用 query setCacheable false 也不起作用 此外 我可以以某种方式配置不为对象 X Y 执行缓存 但为对象 Z 执行缓
  • SQL 脚本到 SSIS 表达式

    我有下面的 T SQL 查询行 我正在尝试将其转换为 Visual Studio SSIS 表达式到派生列任务 So tableA刚刚 Work item Submission no 列 但我需要将它们分成两列 例如SubmissionCo
  • PHP 与 GET 请求的切换

    我正在为我的网站构建一个简单的管理区域 我希望 URL 看起来像这样 http mysite com admin home http mysite com admin settings http mysite com admin users
  • R grep 多列搜索模式

    我有一个数据框 如下所示 Col1 Col2 Col3 A B C D E F G H I 我试图保持与 Col2 中的 B 或 Col3 中的 F 匹配的行 以获得 Col1 Col2 Col3 A B C D E F I tried d
  • 如何使用 vb.net 将数据获取到数据库(类、模块和表单)

    我希望标题足以理解我的问题 我已经安装了运行 ADO NET 所需的东西 我的模块中已经有一个连接字符串 并且我的类中已经有一个数据查询 Imports System Data Imports System Data OleDb Modul
  • 如何使用 Razor MVC 显示文件夹中的图像?

    我正在使用 Razor MVC 我想显示 Content uploads 文件夹中的图像 我想出了以下解决方案 foreach FileInfo fileInfo in new DirectoryInfo Server MapPath Co
  • MSEdge 无法启动:崩溃(chrome 无法访问)

    我是 Selenium python 的初学者 我尝试使用以下代码使用现有配置文件 默认 调用 Edge 浏览器 但一旦执行开始 它就会抛出以下异常 有人可以帮我解决这个问题吗 我错过了什么吗 edge options webdriver
  • 当鼠标位于旋钮图像上时,如何将图像放在 jslider 的旋钮图像上

    当鼠标位于旋钮图像上时 我需要将图像放在 jslider 的旋钮图像上 我做过这样的事情 slider new Slider s new mySliderUI slider slider png slider setUI s slider
  • 在 Puppet 中迭代哈希键/值

    我正在尝试使用 Puppet 来更新 ASP NET web config 中的任意应用程序设置列表 用于部署目的 但我陷入了困境 主要是因为我是一个真正的 puppet 专家 我有这个 yaml 文件 hiera appSettings