3

我有一个带有自定义资源的 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.

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

有没有办法在更新期间强制删除和重新创建我的自定义资源?

4

1 回答 1

2

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

于 2019-12-11T02:08:51.667 回答