This adds the possiblity to define several clusters in a Bigtable instance,
which enables replication in Bigtable.
Some of the configurations options are moved inside a `map` that defines the
properties of each cluster.
These changes alter the interface of the module, so any previous code using this
module will have to adapt to the new options interface.
Column families have now a new property, to specify the garbage collection
policy. A new option also allows to set a default policy if none is specified.
This changes the previous syntax for column families, that was helpful since the
policy is column-family specific, the new syntax makes it easier to specify a
policy per column family.
This commit fixes#1064 by allowing to add more than one column family. Split
keys are also now optional, and there is no possibility to set defaults for all
tables (since keys and column families are related to the data and schema for
each table, it is difficult that several tables share the same values).
Also, declaring a table with no split keys nor column families requires
initializing the table to an empty map, instead of using null.
- Ensure all variables and outputs are sorted
- Ensure all variables and outputs have a description
- Add data-solutions/data-platform-foundations to linter
Fix all modules to follow these new conventions.