diff --git a/bindata.go b/bindata.go index b9950af..a914ebd 100644 --- a/bindata.go +++ b/bindata.go @@ -114,7 +114,7 @@ func bindataTemplatesAwsrolestfDeploysh() (*asset, error) { size: 374, md5checksum: "", mode: os.FileMode(420), - modTime: time.Unix(1584392515, 0), + modTime: time.Unix(1583930362, 0), } a := &asset{bytes: bytes, info: info} @@ -157,7 +157,7 @@ func bindataTemplatesAwsrolestfMaintf() (*asset, error) { size: 735, md5checksum: "", mode: os.FileMode(420), - modTime: time.Unix(1582736085, 0), + modTime: time.Unix(1583087747, 0), } a := &asset{bytes: bytes, info: info} @@ -193,7 +193,7 @@ func bindataTemplatesAwss3buckettfDeploysh() (*asset, error) { size: 211, md5checksum: "", mode: os.FileMode(420), - modTime: time.Unix(1586169007, 0), + modTime: time.Unix(1586425258, 0), } a := &asset{bytes: bytes, info: info} @@ -236,7 +236,7 @@ func bindataTemplatesAwss3buckettfMaintf() (*asset, error) { size: 660, md5checksum: "", mode: os.FileMode(420), - modTime: time.Unix(1586195327, 0), + modTime: time.Unix(1586425258, 0), } a := &asset{bytes: bytes, info: info} @@ -273,7 +273,7 @@ func bindataTemplatesRdstfDeploysh() (*asset, error) { size: 449, md5checksum: "", mode: os.FileMode(420), - modTime: time.Unix(1586084879, 0), + modTime: time.Unix(1586425258, 0), } a := &asset{bytes: bytes, info: info} @@ -282,26 +282,27 @@ func bindataTemplatesRdstfDeploysh() (*asset, error) { } var _bindataTemplatesRdstfMaintf = []byte( - "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x94\x41\x6f\xd3\x4e\x10\xc5\xef\xfe\x14\xa3\xdc\xed\xfc\xff\xe2\x80" + - "\x54\x29\x12\x85\x16\x54\x24\x50\x05\x85\x03\x17\x6b\xbc\x1e\x3b\x2b\xaf\x77\xdd\x9d\xd9\xa6\x6d\x9a\xef\x8e\xd6" + - "\x9b\x94\x44\x49\x9a\x22\x7c\x4a\xc6\xef\xfd\xf6\xcd\x73\x1c\x21\xef\xb1\x71\xbe\x87\x65\x06\x50\xa1\xea\xc8\xd6" + - "\x30\xe1\x37\x93\x71\x00\x50\x05\xd5\x91\xc0\xee\x35\x83\x89\xc5\x3b\x9d\x57\x68\xbb\xfc\x19\x91\x2b\xd7\xf7\x68" + - "\xeb\x9c\x05\x85\x26\xa3\xdd\x53\xab\x9d\xdd\xb7\xe3\x90\xb3\x0b\x32\xcf\xff\x4f\xba\x8e\x1e\x60\xef\x9a\xc1\xc4" + - "\xd7\x9c\x04\x0b\xe7\x3b\x1e\x50\x51\xd9\xd1\x43\x39\x78\x6a\xf4\xfd\x5a\x90\xce\xe3\xe9\x72\x09\xc5\xe5\xbd\x78" + - "\xfc\x46\xec\x82\x57\xc4\xc5\x05\x0a\x56\xc8\x54\x5c\x59\x16\xb4\x8a\xbe\x62\x4f\xb0\x5a\x25\xe6\xe0\x5d\xa3\x0d" + - "\xed\x1d\xaa\xfa\x3a\x09\x50\x99\x83\xa9\x52\x29\xb9\x5b\x58\xf2\x79\x13\x8c\xc9\x95\xb3\xe2\x9d\x89\xb6\x55\xb6" + - "\xca\xb2\xde\xd5\xc1\x50\xca\x3f\x36\x99\x12\x6d\x31\x5a\x2d\x67\x67\xcc\xf3\xb3\xe9\xb4\xd5\xf2\xae\xd5\x32\x0f" + - "\x55\xa1\xfa\xba\x18\xab\x15\x52\xf3\x42\xdb\xe9\xf8\x45\xdb\xc6\xe3\xd4\xd7\x5c\xb4\x5a\xe2\x19\x64\xef\xb4\x77" + - "\xb6\x27\x2b\x23\xed\xc0\xea\x97\x5b\x92\x27\xb8\x0d\x4e\xe2\xe2\x19\x80\x5e\x57\x51\xda\xd8\xc5\x41\xef\xe1\xda" + - "\x76\x28\x03\x32\x2f\x9c\xaf\x37\xfb\xbc\x44\xb9\xde\x68\x77\x08\xac\x1f\x69\xbb\xd5\x97\x08\xdf\xf5\x23\x5d\xd9" + - "\x4f\x55\x72\x06\x26\xff\x5a\xe7\x8f\xa8\xdd\x3a\x37\x03\xa8\xd7\xf7\xf8\x15\xf6\x8b\x2a\xae\xce\xf0\x04\x7d\x60" + - "\xb9\x71\x9f\xd9\xd9\x14\x62\x43\x29\x05\x5b\x8e\x94\x2c\xc5\xb9\x21\xec\xd7\xd0\xf8\xb1\xd8\xaf\x6e\x0c\x21\x27" + - "\x64\x19\xc0\x72\x99\x83\x6e\x8e\x67\x3b\x5f\xf0\xe6\xf9\x7c\x30\xc8\x9c\xe8\xb8\xe0\xf2\xf9\x11\xab\x71\xfe\xf2" + - "\x8a\x7b\x98\x9d\xb0\x31\x44\xfc\x4b\x78\x5d\xa4\xf7\xa8\xba\x30\x5c\x68\xc6\xca\x50\x9d\x08\xd5\x38\x2b\x3d\x09" + - "\x59\xd1\xce\x96\x03\x79\xed\x6a\x98\xc1\x7f\x1b\xbe\x61\x3a\xa5\x7d\x7b\x2c\x8b\x75\x72\x3c\xcf\x97\x60\x44\x9f" + - "\xff\xda\x0d\xd4\xc7\x61\x89\x8f\x30\x03\xf1\x81\xfe\x7a\xc9\x6b\xbe\x35\x1f\xb1\xd7\xe6\x61\xfd\x2a\xf0\xad\x29" + - "\x9b\x34\x38\xf1\x22\xfc\x71\xfe\x43\xc9\x91\x72\x69\x5b\x6d\xe9\x27\x79\xd6\x9b\x1f\xe4\x18\x83\xc6\x79\x79\xb7" + - "\xbe\x71\x3a\xce\x2e\xe8\x68\xaa\x55\xf6\x3b\x00\x00\xff\xff\xf1\x7c\xe4\x55\x2a\x06\x00\x00") + "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x94\x41\x6b\xdb\x4e\x10\xc5\xef\xfa\x14\x83\xef\x92\xff\x7f\x7a\x28" + + "\x04\x0c\x4d\x1b\xb7\xa4\xd0\x12\xda\xb4\x87\x5e\xc4\x68\x35\x92\x17\xad\x76\x95\x9d\x51\x9c\xc4\xf1\x77\x2f\xab" + + "\x95\x13\x1b\x3b\x76\x42\x75\xb2\x47\xf3\xde\xfc\xe6\xb1\x2b\x21\xef\xb1\x72\xbe\x85\x55\x02\x50\xa0\x6a\xc8\x96" + + "\x30\xe1\x77\x93\xa1\x00\x50\xf4\xaa\x21\x81\xdd\x67\x06\x13\x8b\xb7\x3a\x2d\xd0\x36\xe9\x93\x45\xaa\x5c\xdb\xa2" + + "\x2d\x53\x16\x14\x9a\x0c\x72\x4f\xb5\x76\x76\x5f\x8e\x5d\xca\xae\x97\x45\xfa\x7f\xec\x6b\xe8\x1e\xf6\x9e\x19\x4c" + + "\x7c\xc9\xb1\x61\xe9\x7c\xc3\x1d\x2a\xca\x1b\xba\xcf\x3b\x4f\x95\xbe\x1b\x1b\xe2\x3c\x9e\xae\x56\x90\xcd\xef\xc4" + + "\xe3\x0f\x62\xd7\x7b\x45\x9c\x5d\xa0\x60\x81\x4c\xd9\xa5\x65\x41\xab\xe8\x3b\xb6\x04\xeb\x75\xf4\xec\xbc\xab\xb4" + + "\xa1\xbd\xa1\xaa\x2d\x63\x03\x2a\x73\x90\x2a\x86\x92\xba\xa5\x25\x9f\x56\xbd\x31\xa9\x72\x56\xbc\x33\x41\xb6\x4e" + + "\xd6\x49\xd2\xba\xb2\x37\x14\xf9\x87\x24\x23\xd1\x96\x47\xad\xe5\xec\x8c\x79\x71\x36\x9d\xd6\x5a\x3e\xd4\x5a\x16" + + "\x7d\x91\xa9\xb6\xcc\x86\x68\x85\xd4\x22\xd3\x76\x3a\xfc\xd1\xb6\xf2\x38\xf5\x25\x67\xb5\x96\x30\x83\xec\xad\xf6" + + "\xce\xb6\x64\x65\x70\x3b\xb0\xfa\x7c\xab\xe5\x11\x6e\x7a\x27\x61\xf1\x04\x40\x8f\x51\xe4\x36\x64\x71\x50\x7b\x38" + + "\xb6\x1d\x97\x0e\x99\x97\xce\x97\x9b\x7d\x8e\xb9\x5c\x6d\x7a\x77\x1c\x58\x3f\xd0\x76\xaa\xc7\x1c\x7e\xea\x07\xba" + + "\xb4\x5f\x8a\xa8\xec\x99\xfc\x6b\x95\xbf\x42\xef\xd6\xdc\x04\xa0\x1c\xdf\xf1\x2b\xe4\x17\x45\x58\x9d\xe1\x11\xda" + + "\x9e\xe5\xda\x7d\x65\x67\x23\xc4\xc6\x25\x17\xac\x39\xb8\x24\x11\xe7\x9a\xb0\x1d\x4d\xc3\xcf\x6c\x3f\xba\x01\x42" + + "\x4e\xb4\x25\x00\xab\x55\x0a\xba\x3a\xc6\x36\xbf\x13\xb2\xac\x9d\xe5\x91\xa9\xc8\xe9\xb9\x74\x6a\xb3\x2d\xf5\xfe" + + "\x7a\x61\x78\xf8\x14\xbc\x0e\xe5\x7c\xc9\x9b\xa3\xf2\xc9\x20\x8f\x38\xb8\xe4\xfc\xe9\xb4\xa9\xa1\x7e\x9c\x69\xcf" + + "\x66\x27\xb7\xb7\x21\x7d\x44\xd5\xf4\xdd\x85\x66\x2c\x0c\x95\xd1\xa1\x18\x6a\xb9\x27\x21\x2b\xda\xd9\xbc\x23\xaf" + + "\x5d\x09\x33\xf8\x6f\xe3\x6f\x98\x4e\xf5\xbe\x7f\x89\xc5\x3a\x79\x99\xe7\x5b\x6f\x44\x9f\xff\xd9\x05\x6a\x43\x31" + + "\xc7\x07\x98\x81\xf8\x9e\xde\xbc\xe4\x15\xdf\x98\xcf\xd8\x6a\x73\x3f\xde\x4a\xbe\x31\x79\x15\x0b\x27\xee\xe4\xb3" + + "\xf2\x1f\x42\x0e\x2e\x73\x5b\x6b\x4b\xbf\xc9\x87\xa3\xb4\x85\x41\x43\x3d\xbf\x1d\x5f\x9c\xc6\xd9\x35\x7a\x91\x6a" + + "\x9d\xfc\x0d\x00\x00\xff\xff\x34\xcc\x13\xc2\xb5\x06\x00\x00") func bindataTemplatesRdstfMaintfBytes() ([]byte, error) { return bindataRead( @@ -320,10 +321,10 @@ func bindataTemplatesRdstfMaintf() (*asset, error) { info := bindataFileInfo{ name: "templates/rds-tf/main.tf", - size: 1578, + size: 1717, md5checksum: "", mode: os.FileMode(420), - modTime: time.Unix(1586084879, 0), + modTime: time.Unix(1586790829, 0), } a := &asset{bytes: bytes, info: info} diff --git a/sample_infra_manifest.json b/sample_infra_manifest.json index a212b23..8803366 100644 --- a/sample_infra_manifest.json +++ b/sample_infra_manifest.json @@ -1,12 +1,13 @@ { "extraResources": { - "environment": "spike", + "environment": "dev", "database": { "instanceName": "foo-service", "user": "foo_service_user", "password": "foo_service_password", "sizeInGb": 7, - "dbNames": ["foo_service"] + "dbNames": ["foo_service"], + "dbExtensions": ["pgcrypto"] }, "aws_access": { "policies": [ diff --git a/templates/rds-tf/main.tf b/templates/rds-tf/main.tf index 683c5ee..b05300e 100644 --- a/templates/rds-tf/main.tf +++ b/templates/rds-tf/main.tf @@ -24,6 +24,10 @@ module "rds" { team = {{ .Team.Name | quote }} + {{- if .ExtraResources.Database.DbExtensions }} + db_extensions = {{ .ExtraResources.Database.DbExtensions | mustToJson }} + {{- end }} + {{- if .ExtraResources.Database.AwsInstanceClass }} aws_instance_class = {{ .ExtraResources.Database.AwsInstanceClass | quote }} {{- end }} diff --git a/types.go b/types.go index 76867f2..eaf54b7 100644 --- a/types.go +++ b/types.go @@ -34,6 +34,7 @@ type Database struct { InstanceName string `json:"instanceName"` BackupDisabled bool `json:"backupDisabled"` MultiAZDisabled bool `json:"multiAZDisabled"` + DbExtensions []string `json:"dbExtensions"` } type Team struct {