创建角色并应用集合或权限(作为字符串列表)时,更新 nexus 有效。
但是验证(或重新应用相同的 terraform 配置)会导致每次更新 nexus,因为权限列表的顺序不同。
terraform 的输出示例:
# module.project.nexus_role.nx-project will be updated in-place
~ resource "nexus_role" "nx-project" {
description = "Project role"
id = "nx-project"
name = "nx-project"
~ privileges = [
"nx-repository-admin-maven2-common-public-snapshots-*",
"nx-repository-admin-maven2-common-snapshots-*",
+ "nx-repository-admin-maven2-project-snapshots-*",
"nx-repository-admin-maven2-project-public-snapshots-*",
- "nx-repository-admin-maven2-project-releases-*",
+ "nx-repository-admin-maven2-common-public-releases-*",
"nx-repository-admin-maven2-common-releases-*",
- "nx-repository-admin-maven2-project-snapshots-*",
+ "nx-repository-admin-maven2-project-releases-*",
"nx-repository-admin-maven2-project-public-releases-*",
- "nx-repository-admin-maven2-common-public-releases-*",
]
roleid = "nx-project"
roles = []
}
权限将就地更新,但更改无关紧要。 只是一个命令。
但是当想要验证配置是否是最新的(例如,有人没有手动更改配置)时,这每次都会失败。
可能的解决方案是在从 nexus 服务器获取后对该列表进行排序,并对其进行排序以进行验证/应用。
类似的问题可能与其他与列表相关的配置有关,但我没有检查。
嗨@marek-budyn,
我会将排序添加到列表中。 这应该解决它。
谢谢! 这应该有帮助
不幸的是,最新版本也是如此。 仍在重新应用相同的权限列表。
似乎这个错误没有修复,可能应该重新打开。
不适合我。
它会污染 terraform plan 命令的输出,并且更难以看到真正的变化。