AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1061083
Accepted
JohnLBevan
JohnLBevan
Asked: 2021-04-22 04:09:43 +0800 CST2021-04-22 04:09:43 +0800 CST 2021-04-22 04:09:43 +0800 CST

Azure 策略定义即代码:避免重复的参数定义

  • 772

我正在寻找使用基础架构即代码创建许多 Azure 策略。

MS 文档建议的结构如下:

.
|
|- policies/  ________________________ # Root folder for policy resources
|  |- policy1/  ______________________ # Subfolder for a policy
|     |- policy.json _________________ # Policy definition
|     |- policy.parameters.json ______ # Policy definition of parameters
|     |- policy.rules.json ___________ # Policy rule
|     |- assign.<name1>.json _________ # Assignment 1 for this policy definition
|     |- assign.<name2>.json _________ # Assignment 2 for this policy definition
|  |- policy2/  ______________________ # Subfolder for a policy
|     |- policy.json _________________ # Policy definition
|     |- policy.parameters.json ______ # Policy definition of parameters
|     |- policy.rules.json ___________ # Policy rule
|     |- assign.<name1>.json _________ # Assignment 1 for this policy definition
|     |- assign.<name2>.json _________ # Assignment 2 for this policy definition
|

这是有道理的,但我见过的所有策略定义示例都包括参数定义;policy.parameters.json所以如果只是复制信息,我看不到拥有单独文件的价值。

问题

有没有办法避免这种重复?例如,通过让policy.json文件引用policy.parameters.json文件而不是复制其内容,或者通过这种复制是否增加了一些价值?

(规则文件也会出现同样的情况;我假设该部分的答案是相同的......)

这种重复的例子

从 Azure 社区策略存储库:

策略文件包括以下几行:

"parameters": {
  "tagName": {
    "type": "String",
    "defaultValue": "DateCreated",
    "metadata": {
      "displayName": "Tag Name",
      "description": "Name of the tag, such as 'Date'"
    }
  }
}

参数文件完全复制了在上面的参数部分找到的内容(几乎;在这种情况下,描述略有不同,但这感觉像是一个错误而不是一个理由):

{
  "tagName": {
    "type": "String",
    "defaultValue": "DateCreated",
    "metadata": {
      "displayName": "Tag Name",
      "description": "Name of the tag, such as 'DateCreated'"
    }
  }
}
azure json azure-policies
  • 1 1 个回答
  • 110 Views

1 个回答

  • Voted
  1. Best Answer
    JohnLBevan
    2021-04-24T05:45:15+08:002021-04-24T05:45:15+08:00

    MS Docs 团队的回答:

    该结构部分是为了帮助一些将这些组件作为独立文件的 SDK 功能。例如,在 Azure CLI 中,用于创建策略分配的命令 az policy assignment create 使用 params(或 p)参数,该参数需要 JSON 字符串或仅参数节点的路径。虽然您可以在管道中添加额外的步骤来对包含此信息的“核心”文件进行分片,但团队认为将每个文件用作源的一部分是一种更简洁的路径。

    • 0

相关问题

  • 防火墙更改后失去对 VM azure 的 RDP 访问权限

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve