Implement SpecLinkInfo interface and default implementation that produces a "ChainLink" from a blueprint that has been loaded. This should identify circular dependencies, producing errors and warnings when hard cycles are identified.
There are two types of links for resources.
Hard links - These are links that in which the priority resource type is a hard dependency for the other resource in the relationship. (e.g. Infrastructure-level link from DynamoDB Table to DynamoDB Stream)
Soft links - These are links in which the priority resource type is not a hard dependency for the other resource in the relationship. (e.g. Application-level link from Lambda to DynamoDB)
The implementation of transforming a blueprint into a chain of links needs to take this into account. The hard link and soft link distinction must be well documented!
Implement SpecLinkInfo interface and default implementation that produces a "ChainLink" from a blueprint that has been loaded. This should identify circular dependencies, producing errors and warnings when hard cycles are identified.
There are two types of links for resources.
Hard links - These are links that in which the priority resource type is a hard dependency for the other resource in the relationship. (e.g. Infrastructure-level link from DynamoDB Table to DynamoDB Stream)
Soft links - These are links in which the priority resource type is not a hard dependency for the other resource in the relationship. (e.g. Application-level link from Lambda to DynamoDB)
The implementation of transforming a blueprint into a chain of links needs to take this into account. The hard link and soft link distinction must be well documented!