-
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
Framework: Tokens can be converted to strings #518
Commits on Aug 7, 2018
-
Framework: Tokens can be converted to strings
Tokens (such as resource attributes) can now be implicitly converted into strings. Parameters and attributes can now be combined into larger strings using the native string facilities of the host language. The process will be reversed by the resolve() function during synthesis, which will split the string up again into string literals and CloudFormation intrinsics. The same transformation is applied during JSON.stringify(), so that Tokens in a complex JSON structure are preserved. Fixes #24 and #168.
Rico Huijbers committedAug 7, 2018 Configuration menu - View commit details
-
Copy full SHA for 3796389 - Browse repository at this point
Copy the full SHA 3796389View commit details
Commits on Aug 8, 2018
-
Remove incorrectly staged custom-resources directory
Rico Huijbers committedAug 8, 2018 Configuration menu - View commit details
-
Copy full SHA for 9469a71 - Browse repository at this point
Copy the full SHA 9469a71View commit details -
Rico Huijbers committed
Aug 8, 2018 Configuration menu - View commit details
-
Copy full SHA for e47741b - Browse repository at this point
Copy the full SHA e47741bView commit details -
Merge branch 'master' into huijbers/token-stringification
Rico Huijbers committedAug 8, 2018 Configuration menu - View commit details
-
Copy full SHA for f6d01a8 - Browse repository at this point
Copy the full SHA f6d01a8View commit details -
Remove HintedToken, change markers, add quoting
Rico Huijbers committedAug 8, 2018 Configuration menu - View commit details
-
Copy full SHA for 6e79bb8 - Browse repository at this point
Copy the full SHA 6e79bb8View commit details
Commits on Aug 9, 2018
-
Rico Huijbers committed
Aug 9, 2018 Configuration menu - View commit details
-
Copy full SHA for a72d14d - Browse repository at this point
Copy the full SHA a72d14dView commit details -
Rico Huijbers committed
Aug 9, 2018 Configuration menu - View commit details
-
Copy full SHA for 42becf3 - Browse repository at this point
Copy the full SHA 42becf3View commit details -
After a giant slough, reintroducing tokenAwareJsonify()
MAJOR CHANGES - Reintroducing tokenAwareJsonify; it needs to be there because otherwise we cannot have enough knowledge to do escaping properly; see documentation in the code. - Introducing markAsIntrinsic() which sets a hidden property on an object which is used as a hint to the rest of the engine that (a) the value doesn't need to be resolved anymore and (b) we can use it as a type hint to reject non-intrinsic complex types during stringification. A wrapper class would have been nicer but this entails fewer code changes (deepEqual everywhere...). A convenience class has been introduced in the CloudFormation section to make impact minimal. - Implement inversion-of-control on the FnConcat thing, execution engines (name?) can now register themselves to handle string combining. Still not perfect because if there are not intrinsics we can't really guess the engine (so we "default" to CFN anyway) but we have the initial trappings of CFN decoupling. ALSO - Add a run config and a helper script to debug a unit test from VSCode (breakpoints \o/) I expect this to generate a healthy amount of debate. Also I would appreciate suggestions on naming of the various pieces, I'm afraid I haven't been 100% consistent just yet. - What do we call CloudFormation/Terraform/...? - What do we call stringified Tokens?
Rico Huijbers committedAug 9, 2018 Configuration menu - View commit details
-
Copy full SHA for 1b60e45 - Browse repository at this point
Copy the full SHA 1b60e45View commit details -
Make CloudWatch use tokenAwareJsonify again
Rico Huijbers committedAug 9, 2018 Configuration menu - View commit details
-
Copy full SHA for d1fc358 - Browse repository at this point
Copy the full SHA d1fc358View commit details
Commits on Aug 13, 2018
-
Changed tokenAwareJsonify() -> TokenJSON.stringify() to mimic JSON.stringify() API name. Implementation does not depend on override of toJSON() anymore, because there's no way to do that correctly. Instead, the function has a custom implementation. Split new code over more files to separate them out.
Rico Huijbers committedAug 13, 2018 Configuration menu - View commit details
-
Copy full SHA for 58602a9 - Browse repository at this point
Copy the full SHA 58602a9View commit details -
SecretParameter no longer duckily implements Token, won't work in non…
…-TypeScript languages anyway
Rico Huijbers committedAug 13, 2018 Configuration menu - View commit details
-
Copy full SHA for 74f4fe7 - Browse repository at this point
Copy the full SHA 74f4fe7View commit details -
Merge remote-tracking branch 'origin/master' into huijbers/token-stri…
…ngification
Rico Huijbers committedAug 13, 2018 Configuration menu - View commit details
-
Copy full SHA for b15684d - Browse repository at this point
Copy the full SHA b15684dView commit details -
fix(aws-logs): resolving of policy
Fix an issue where the wrong resolution method was used to resolve policy documents.
Rico Huijbers committedAug 13, 2018 Configuration menu - View commit details
-
Copy full SHA for 5753e31 - Browse repository at this point
Copy the full SHA 5753e31View commit details -
Combine string literals while resolving fragments, so we never have n…
…on-intrinsics
Rico Huijbers committedAug 13, 2018 Configuration menu - View commit details
-
Copy full SHA for 4206b85 - Browse repository at this point
Copy the full SHA 4206b85View commit details
Commits on Aug 14, 2018
-
Make intrinsics carry a direct object reference to the engine, simply…
… cross-account-destination policy usage
Rico Huijbers committedAug 14, 2018 4Configuration menu - View commit details
-
Copy full SHA for 85cfa81 - Browse repository at this point
Copy the full SHA 85cfa81View commit details -
Move JSONification to CloudFormation library, remove any reference to…
… engines
Rico Huijbers committedAug 14, 2018 Configuration menu - View commit details
-
Copy full SHA for a3ec610 - Browse repository at this point
Copy the full SHA a3ec610View commit details
Commits on Aug 15, 2018
-
Explain better in comments, fix cross-account-destination
Rico Huijbers committedAug 15, 2018 Configuration menu - View commit details
-
Copy full SHA for 7361815 - Browse repository at this point
Copy the full SHA 7361815View commit details -
Remove joiner(), make Tokens concat() themselves
To avoid an undue number of {Fn::Join}s in the output, add an optimization into FnConcat() to inline nested FnConcats.
Rico Huijbers committedAug 15, 2018 Configuration menu - View commit details
-
Copy full SHA for a7b41e2 - Browse repository at this point
Copy the full SHA a7b41e2View commit details -
Merge remote-tracking branch 'origin/master' into huijbers/token-stri…
…ngification
Rico Huijbers committedAug 15, 2018 Configuration menu - View commit details
-
Copy full SHA for 6aa9b77 - Browse repository at this point
Copy the full SHA 6aa9b77View commit details -
Remove laziness of many existing Token use cases
Rico Huijbers committedAug 15, 2018 Configuration menu - View commit details
-
Copy full SHA for c5b3b68 - Browse repository at this point
Copy the full SHA c5b3b68View commit details