如何在堆栈更新期间强制完全重新创建自定义资源?

时间:2019-12-10 15:36:37

标签: amazon-cloudformation aws-cloudformation-custom-resource

我有一个带有自定义资源的CF模板(由lambda函数支持)。

我希望在更新堆栈时删除该自定义资源并重新创建它。 我该如何实现?

为使之实用,让我们假设我有一个自定义资源,该资源只会生成一个随机字符串。
大致按此处所述:

https://www.itonaut.com/2018/01/03/generate-passwords-in-aws-cloudformation-template/

所以我有这样的资源:

  RandomSuffix:
    Type: AWS::CloudFormation::CustomResource
    DeletionPolicy: Delete
    Properties:
      Length: 3
      ServiceToken: !ImportValue
        'Fn::Sub': 'cf-utils-RandomStringFunction-Arn'

通常,这可行,我得到一些随机字符串作为RandomSuffix.Value

但是,更新后,该值保持不变。

有什么方法可以在更新过程中强制删除和重新创建我的自定义资源吗?

1 个答案:

答案 0 :(得分:1)

您需要更改其名称。例如RandomSuffix => RandomSuffix20191210