我有以下cloudformation模板:
Parameters:
SizeCondition1:
Type: String
Default: SizeCondition1
Description: >-
Enter the name of the size condition. Note names cannot be modified after
creation and must be alphanumeric without spaces.
SizeURI1:
Type: String
Default: '8192'
Description: Enter the size limit of the URI.
SizeQuery1:
Type: String
Default: '8192'
Description: Enter the size limit of the query string.
Resources:
WAFSizeCondition1:
Type: 'AWS::WAF::SizeConstraintSet'
Properties:
Name: !Ref SizeCondition1
SizeConstraints:
- FieldToMatch:
Type: QUERY_STRING
ComparisonOperator: GT
Size: !Ref SizeQuery1
TextTransformation: NONE
- FieldToMatch:
Type: URI
ComparisonOperator: GT
Size: !Ref SizeURI1
TextTransformation: NONE
WafRule:
Type: 'Custom::CustomResource'
Properties:
ServiceToken: !Join
- ''
- - 'arn:aws:lambda:'
- !Ref 'AWS::Region'
- ':'
- !Ref 'AWS::AccountId'
- ':function:WafLambdaTest'
Name: WAFRateTest1
RateLimit: '2000'
MetricName: WAFRateTest1
Predicates:
- DataId: !Ref WAFSizeCondition1
Negated: false
Type: SizeConstraint
当我发起DELETE
事件时,我会看到以下内容:
问题:
WAFSizeCondition1
?如何在模板中声明依赖项以使WAFSizeCondition1
先删除?WAFSizeCondition1
无法删除?它引用了哪些资源?如何正确处理资源删除? 答案 0 :(得分:1)
DependsOn
属性指定某种形式的依赖关系。 e.g:WAFSizeCondition1:
输入:'AWS :: WAF :: SizeConstraintSet'
DependsOn:WafRule
永久删除WebACL。如果WebACL仍然存在,则无法删除 包含任何规则。
要删除WebACL,请执行以下步骤:
更新WebACL以删除规则(如果有)。有关更多信息,请参阅 the waf.delete_web_acl docs。
使用GetChangeToken获取您的更改令牌 提供DeleteWebACL请求的ChangeToken参数。提交 一个DeleteWebACL请求。