Validation Output
```
Success! The configuration is valid.
```
Terraform Plan πsuccess
Show Plan
```
terraform
module.iam.module.service_accounts.google_service_account.gsa-cloudsql: Refreshing state... [id=projects/basedosdados-dev/serviceAccounts/gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com]
module.gke.google_container_cluster.primary: Refreshing state... [id=projects/basedosdados-dev/locations/us-central1-c/clusters/basedosdados-dev-gke]
module.iam.module.bindings.google_service_account_iam_binding.cloudsql: Refreshing state... [id=projects/basedosdados-dev/serviceAccounts/gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com/roles/iam.workloadIdentityUser]
module.iam.module.bindings.google_project_iam_member.cloudsql: Refreshing state... [id=basedosdados-dev/roles/cloudsql.client/serviceAccount:gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com]
module.gke.google_container_node_pool.prod_autoscale_node_pool: Refreshing state... [id=projects/basedosdados-dev/locations/us-central1-c/clusters/basedosdados-dev-gke/nodePools/basedosdados-dev-pool-dynamic]
module.gke.google_container_node_pool.prod_static_node_pool: Refreshing state... [id=projects/basedosdados-dev/locations/us-central1-c/clusters/basedosdados-dev-gke/nodePools/basedosdados-dev-pool-static]
Note: Objects have changed outside of Terraform
Terraform detected the following changes made outside of Terraform since the
last "terraform apply":
# module.iam.module.bindings.google_project_iam_member.cloudsql has changed
~ resource "google_project_iam_member" "cloudsql" {
~ etag = "BwXlNs++Ass=" -> "BwXlu9gHndc="
id = "basedosdados-dev/roles/cloudsql.client/serviceAccount:gsa-cloudsql@basedosdados-dev.iam.gserviceaccount.com"
# (3 unchanged attributes hidden)
}
Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# module.cloudsql.google_sql_database.ckan_production will be created
+ resource "google_sql_database" "ckan_production" {
+ charset = (known after apply)
+ collation = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "ckan_production"
+ project = (known after apply)
+ self_link = (known after apply)
}
# module.cloudsql.google_sql_database.ckan_staging will be created
+ resource "google_sql_database" "ckan_staging" {
+ charset = (known after apply)
+ collation = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "ckan_staging"
+ project = (known after apply)
+ self_link = (known after apply)
}
# module.cloudsql.google_sql_database.id_server will be created
+ resource "google_sql_database" "id_server" {
+ charset = (known after apply)
+ collation = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "id_basedosdados"
+ project = (known after apply)
+ self_link = (known after apply)
}
# module.cloudsql.google_sql_database.metabase will be created
+ resource "google_sql_database" "metabase" {
+ charset = (known after apply)
+ collation = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "metabase"
+ project = (known after apply)
+ self_link = (known after apply)
}
# module.cloudsql.google_sql_database_instance.main will be created
+ resource "google_sql_database_instance" "main" {
+ connection_name = (known after apply)
+ database_version = "POSTGRES_13"
+ deletion_protection = false
+ first_ip_address = (known after apply)
+ id = (known after apply)
+ ip_address = (known after apply)
+ master_instance_name = (known after apply)
+ name = (known after apply)
+ private_ip_address = (known after apply)
+ project = (known after apply)
+ public_ip_address = (known after apply)
+ region = "us-central1"
+ self_link = (known after apply)
+ server_ca_cert = (known after apply)
+ service_account_email_address = (known after apply)
+ replica_configuration {
+ ca_certificate = (known after apply)
+ client_certificate = (known after apply)
+ client_key = (known after apply)
+ connect_retry_interval = (known after apply)
+ dump_file_path = (known after apply)
+ failover_target = (known after apply)
+ master_heartbeat_period = (known after apply)
+ password = (sensitive value)
+ ssl_cipher = (known after apply)
+ username = (known after apply)
+ verify_server_certificate = (known after apply)
}
+ settings {
+ activation_policy = (known after apply)
+ authorized_gae_applications = (known after apply)
+ availability_type = (known after apply)
+ crash_safe_replication = (known after apply)
+ disk_autoresize = true
+ disk_autoresize_limit = 200
+ disk_size = 30
+ disk_type = (known after apply)
+ pricing_plan = "PER_USE"
+ replication_type = (known after apply)
+ tier = "db-f1-micro"
+ user_labels = (known after apply)
+ version = (known after apply)
+ backup_configuration {
+ enabled = true
+ start_time = "00:00"
+ transaction_log_retention_days = (known after apply)
+ backup_retention_settings {
+ retained_backups = (known after apply)
+ retention_unit = (known after apply)
}
}
+ database_flags {
+ name = "max_connections"
+ value = "500"
}
+ ip_configuration {
+ ipv4_enabled = (known after apply)
+ private_network = (known after apply)
+ require_ssl = (known after apply)
+ authorized_networks {
+ expiration_time = (known after apply)
+ name = (known after apply)
+ value = (known after apply)
}
}
+ location_preference {
+ zone = "us-central1-c"
}
}
}
# module.cloudsql.google_sql_user.ckan_production will be created
+ resource "google_sql_user" "ckan_production" {
+ host = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "ckan_production"
+ password = (sensitive value)
+ project = (known after apply)
}
# module.cloudsql.google_sql_user.ckan_staging will be created
+ resource "google_sql_user" "ckan_staging" {
+ host = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "ckan_staging"
+ password = (sensitive value)
+ project = (known after apply)
}
# module.cloudsql.google_sql_user.id_server will be created
+ resource "google_sql_user" "id_server" {
+ host = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "id_basedosdados"
+ password = (sensitive value)
+ project = (known after apply)
}
# module.cloudsql.google_sql_user.metabase will be created
+ resource "google_sql_user" "metabase" {
+ host = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "metabase"
+ password = (sensitive value)
+ project = (known after apply)
}
# module.cloudsql.google_sql_user.prefect will be created
+ resource "google_sql_user" "prefect" {
+ host = (known after apply)
+ id = (known after apply)
+ instance = (known after apply)
+ name = "prefect"
+ password = (sensitive value)
+ project = (known after apply)
}
# module.cloudsql.random_id.db_name_suffix will be created
+ resource "random_id" "db_name_suffix" {
+ b64_std = (known after apply)
+ b64_url = (known after apply)
+ byte_length = 4
+ dec = (known after apply)
+ hex = (known after apply)
+ id = (known after apply)
}
Plan: 11 to add, 0 to change, 0 to destroy.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
```
π° Infracost estimate: monthly cost will increase by $20.07 (+7%) π
Infracost output
``` Project: basedosdados/iac/terraform + module.cloudsql.google_sql_database_instance.main +$20.07 + SQL instance (db-f1-micro, zonal) +$7.67 + Storage (SSD, zonal) +$5.10 + Backups Monthly cost depends on usage +$0.08 per GB + IP address (if unused) +$7.30 Monthly cost change for basedosdados/iac/terraform Amount: +$20.07 ($275 β $295) Percent: +7% ββββββββββββββββββββββββββββββββββ Key: ~ changed, + added, - removed 4 cloud resources were detected: β 4 were estimated, all of which include usage-based costs, see https://infracost.io/usage-file ```This comment will be updated when the cost estimate changes.
Is this comment useful? Yes, No, Other