cloudfriend
cloudfriend copied to clipboard
Helper functions for assembling CloudFormation templates in JavaScript
> Rules can be used to perform parameter validations based on the values of other parameters. https://aws.amazon.com/blogs/mt/how-to-perform-cross-parameter-validation-using-aws-cloudformation-rules-and-assertions/ it seems that Rules aren't supported currently https://github.com/mapbox/accounts-airflow/blob/96be3b4f73d25c03fb7c77b24e311d0d1350b060/node_modules/@mapbox/cloudfriend/lib/merge.js#L30-L37 [documentation on rules](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html) cc @mapbox/platform
A side-effect of https://github.com/mapbox/cloudfriend/pull/31 is that `validate-template cloudformation/*.js` doesn't work anymore. Some ways of mitigating: 1. `validate-template cloudformation/template1.js && validate-template cloudformation/template2.js` 2. Allow `validate-template cloudformation/` and loop over the template...
**Summary** We need a feature `PreCondition` or `TemplateCondition` that allows for specifying a condition on a resource being included in template building. **Use Case**: We currently use `Condition: NotInChina` for...
Because of the `toString()` [here](https://github.com/mapbox/cloudfriend/blob/75fa1750e9330aecdd86edeb625fc3a83a4eb266/lib/intrinsic.js#L206), if you pass a object (e.g. a `"Ref"`) to `cf.split()`, it gets turned into `[object Object]`. ```js > cf.split(',', cf.ref('SomeParameter')) { 'Fn::Split': [ ',', '[object...
Right now, template validation will accept a template with IAM policies that are completely invalid. It could be interesting to try mixing in calls to `iam.simulateCustomPolicy()` with template validation. The...
By passing content via `TemplateBody` we can hit this restriction. When deploying a template, we would upload this to S3 and pass it via `TemplateUrl`. Cloudfriend's validation function ought to...
`@aws-sdk/client-lambda` is the newer version compared to `aws-sdk`
## Manual Configuration ### Optimizer Configuration The [Table Optimizer API](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CompactionConfiguration) has a number of configuration options that are not exposed in [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-glue-tableoptimizer.html). #### CompactionConfiguration Setting CompactionConfiguration can only be done...