-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
physical names should be able to address cyclic cross-stack dependencies #2551
Comments
4 tasks
eladb
pushed a commit
that referenced
this issue
May 18, 2019
Implemented an awslint rule to help identify all "export" methods and remove them. Align all AWS resource constructs (besides `events.EventRule`) to their canonical name. Fixes #2577 Fixes #2578 Fixes #2458 Fixes #2419 Fixes #2579 Fixes #2313 Related #2551 BREAKING CHANGE: All `export` methods from all AWS resources have been removed. CloudFormation Exports are now automatically created when attributes are referenced across stacks within the same app. To export resources manually, you can explicitly define a `CfnOutput`. * `kms.EncryptionKey` renamed to `kms.Key` * `ec2.VpcNetwork` renamed to `ec2.Vpc` * `ec2.VpcSubnet` renamed to `ec2.Subnet` * `cloudtrail.CloudTrail` renamed `to `cloudtrail.Trail` * Deleted a few `XxxAttribute` and `XxxImportProps` interfaces which were no longer in used after their corresponding `export` method was deleted and there was no use for them in imports. * `ecs.ClusterAttributes` now accepts `IVpc` and `ISecurityGroup` instead of attributes. You can use their corresponding `fromXxx` methods to import them as needed. * `servicediscovery.CnameInstance.instanceCname` renamed to `cname`. * `glue.IDatabase.locationUrl` is now only in `glue.Database` (not on the interface) * `ec2.TcpPortFromAttribute` and `UdpPortFromAttribute` removed. Use `TcpPort` and `UdpPort` with `new Token(x).toNumber` instead. * `ec2.VpcNetwork.importFromContext` renamed to `ec2.Vpc.fromLookup` * `iam.IRole.roleId` has been removed from the interface, but `Role.roleId` is still available for owned resources.
This was referenced Aug 22, 2019
This was referenced Dec 12, 2019
This was referenced Jan 20, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When we introduce support for auto-generation of physical names, it should be possible to resolve cyclic dependencies for automatic cross-stack references.
See as an example the
cross-stack permissions - fails with encryption due to cyclic dependecy
test in the kinesis library.I expect the cyclic dependency error to offer the user to assign a physical name to one of the resources, and then the automatic cross-stack imports/exports should not take place, but instead a physical name should be used.
Copy @skinny85
The text was updated successfully, but these errors were encountered: