删除导出变量并帮助删除循环依赖项

时间:2017-06-05 15:08:19

标签: amazon-web-services aws-cognito amazon-cloudformation

我们有一个Cloudformation堆栈,我们导出一个由堆栈创建的ARN并将其导入同一堆栈。当我们尝试删除堆栈时,它会尝试先删除输出,然后意识到输出正在使用中,并且不会删除堆栈。

我们正在寻找有关如何重新部署堆栈或编辑堆栈的指导,以便我们可以删除依赖项。

我们尝试在配置编辑器中编辑堆栈,但更改未保存,并且在尝试删除堆栈时仍然会收到相同的错误。

"UserPoolArn":{  
     "Description":"The ARN for Cognito User Pool",
     "Value":{  
        "Fn::GetAtt":[  
           "userPool",
           "Arn"
        ]
     },
     "Export":{  
        "Name":"organization:XX:UsersPoolArn"
     }

Import within the same cf stack
        "Environment":{  
           "Variables":{  

              "USER_POOL":{  
                 "Fn::ImportValue":"organization:XX:UsersPoolArn"
              }
           }
        }
     }

我们如何删除有问题的输出键/值?

1 个答案:

答案 0 :(得分:0)

我的第一次尝试是用任何值替换ImportValue行。由于你的目标是删除堆栈,我并不真正关心硬编码值。使用该硬编码更新堆栈,一旦堆栈达到更新完成状态,您应该能够删除堆栈,因为已删除循环依赖关系。

在单个堆栈中,Ref是比ImportValue更好的选择。我很确定无法使用此配置创建堆栈,因为在启动之前验证堆栈时导入的值不会出现所以我猜这是某人在更新堆栈后做的事情创建了。