创建自定义CloudFormation资源实现时,以后可以使用创建的资源将更多依赖子项“添加”到自身。
例如:
ResourceA:
Type: Custom::Parent
ResourceB:
Type: Custom::Child
Properties:
Parent: !Ref ResourceA
将DependsOn
添加到ResourceB
是否足以确保在ResourceA
收到Delete
请求之前将其删除?像这样 -
ResourceB:
DependsOn: ResourceA
Type: Custom::Child
Properties:
Parent: !Ref ResourceA
在ResourceA
完成删除过程之前,是否会出现Delete
收到ResourceB
请求并失败的情况?
答案 0 :(得分:1)
在这种情况下,您甚至不需要SqlDataSource.ID = "SqlDataSource";
。由于您在B的属性中引用了A,因此cloudformation知道B对A具有依赖性,并且仅在创建A时才开始创建B.
对于删除,会发生相反的情况:首先删除B,然后删除A.
只有当其他资源不依赖于它时,Cloudformation才会删除资源。