小编Seb*_*ask的帖子

如何列出 Terraform 资源及其 ID

我想将一些 Terraform 资源从一个存储库移动到另一个存储库。我认为最简单的方法是terraform import在一个存储库中和terraform rm另一个存储库中。

terraform state list可以获取资源列表,但没有它们的 ID。我认为我可以将该输出与terraform state show但它非常慢并且我必须从 HCL 解析出 ID。不幸的是没有 JSON 输出。

我可以terraform show -json获取 JSON 格式的整个状态,但可能会有很多模块嵌套,因此解析也不是微不足道的。

还有其他选择吗?

编辑1:

terraform show -json对于我正在处理的相对较小的存储库,我有 2000 行(太多了,无法确定格式),开头为:

{
    "format_version": "0.1",
    "terraform_version": "0.14.9",
    "values": {
        "root_module": {
            "child_modules": [
                {
                    "address": "module.cloudtrail",
                    "child_modules": [
                        {
                            "address": "module.cloudtrail.module.cloudtrail_bucket",
                            "resources": [
                                {

Run Code Online (Sandbox Code Playgroud)

我认为至少还有一层嵌套child_modules。我认为资源可以在各个层面上。可以从中获得列表,但我认为这不是微不足道的。

terraform

6
推荐指数
1
解决办法
4214
查看次数

如何始终忽略 ZSH 补全中的模式?

在空目录中包含以下内容:

$ zsh -d -f -i

% autoload -Uz compinit && compinit
% zstyle ':completion:*:*:cd:*:*' ignored-patterns foo
% mkdir foo
% mkdir bar
% mkdir zsh
Run Code Online (Sandbox Code Playgroud)
  • 当我打字时,我得到一个只有和 的cd <TAB>菜单。这很棒。barzsh
  • 当我删除zsh并执行时cd <TAB>bar已完成且不显示菜单。也很棒。
  • 但是当我也删除bar并且我这样做时cd <TAB>foo就完成了。我不希望这种事发生。
  • 再次开始,但从父目录开始并cd <TAB>完成父目录,然后cd <TAB>我看到foo或完成所有三种情况。

有没有一种方法可以foo完全忽略,这样我就永远看不到它,也永远不会在同一目录和任何其他目录中完成它?

编辑:

我发现使用zstyle ':completion:*:*:cd:*:*' ignored-patterns '**/foo'从父目录查看被忽略的模式的问题消失了,但是当没有其他选择时,被忽略的模式仍然完成。所以这样:

$ zsh -d -f -i

% autoload -Uz compinit && compinit
% …
Run Code Online (Sandbox Code Playgroud)

zsh

5
推荐指数
1
解决办法
1178
查看次数

如何在 Google 中为 AWS 客户端 VPN 和自助服务门户配置 SAML 应用程序

我想通过 Google 设置具有 SAML 身份验证的 AWS 客户端 VPN。

我通过以下方式获得了实际的 VPN 连接:AWS VPN using federated Login with Google IdP - app_not_configured_for_user

我还想启用具有 SAML 身份验证的自助服务门户,如下所述: https: //docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#federated-authentication Google 仅支持一个 ACS URL,所以我应该创建第二个应用程序。虽然上面的链接并不是非常具体,但我认为urn:amazon:webservices:clientvpn也应该用于此目的。但是,当我尝试创建第二个应用程序时,我收到一条错误消息,指出实体 ID 应该是唯一的,并且无法继续,因为它已被第一个应用程序使用。

所以问题是:如何配置 Google,以便我可以通过 SAML 使用客户端 VPN自助服务门户?

vpn saml amazon-web-services google-workspace

5
推荐指数
0
解决办法
1575
查看次数