首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角色和集合的不可用命名规则(破折号,下划线)

角色和集合的不可用命名规则(破折号,下划线)
EN

Stack Overflow用户
提问于 2022-08-17 16:24:47
回答 1查看 159关注 0票数 1

对于角色和集合是否有关于使用- (dash)和 _ (underscore)?的命名规则?

  • 我注意到,自2019年前后,格林格只使用下划线表示角色名(snake_case),但他以前的角色的名称包含破折号(kebab-case)。
  • 对于Ansible Galaxy中的一个角色,我遇到了以下注意事项: 注意:此角色已从acme_sh重命名为acme_sh,以完全填充Ansible需求。
  • 然后我查看了Ansible,但只找到了命名空间的命名约定(限制),但没有找到角色或集合名称。Ansible的页面上的示例还在名称:test-role-1中使用了破折号。
  • 我知道所有的Ansible模块都只使用下划线,所以严格地使用snake_case (据我所见)。在kebab-case (例如apt)中,可能有允许通过别名参数的模块,但是很少。
  • 部分中,我在第一个注释中找到了这个提示: 角色名仅限于小写单词字符(即are,0-9)和“_”。

但是,我不清楚这适用于哪些位置或操作,因为Ansible Galaxy中有相当多的角色以虚线作为名称,同样,ansible-galaxy role init my-super-role的工作没有问题,也没有任何提示。

对于使用破折号或下划线,是否有任何不可接受的或无意义的银河要求?

或者是否有官方建议,甚至是技术限制?

总体上有推荐吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-17 19:03:16

你在问一些与此相关的问题,所以我会把它们分开,然后逐一讨论。

Ansible有角色的命名规则吗?

不完全同意。它具有技术限制,包括角色名称必须是有效的文件名,并且可以表示为YAML字符串。

Ansible有集合的命名规则吗?

是。这些问题也是由于技术上的限制而产生的,但它们的定义更为明确,而且更为严格.命名空间、集合名称和所有集合内容(包括角色)必须是有效Python标识符 (只包含A-Za-Z_0-9或Unicode字符的子集,而不是以数字开头)。

Ansible Galaxy有角色命名规则吗?

是。角色名仅限于a-z0-9_。在导入过程中,存储库名称或.中包含的任何-和role_name字符都将被_替换。

Ansible Galaxy有集合的命名规则吗?

是。集合名称和内容仅限于包含a-z0-9_的Python标识符。如果上传的集合工件包含银河不允许的名称,则导入将失败。

为什么Ansible Galaxy包含不符合命名规则的角色?

规则随着时间的推移而改变,强制删除或重命名这些规则之前存在的内容将破坏使用该内容的人的功能。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73391894

复制
相关文章

相似问题

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