-
Notifications
You must be signed in to change notification settings - Fork 5
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
[DRAFT] Terraform Provider Upgrade (Checking Meta Plan) #4406
base: main
Are you sure you want to change the base?
Conversation
Terraform plan for meta Plan: 8 to add, 0 to change, 0 to destroy.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.environments["dev"].local_file.main-tf will be created
+ resource "local_file" "main-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
# Add resources to this module describing what you want in the corresponding
# space in cloud.gov. You should probably just reference a shared module as in the
# example below to keep consistency across spaces, but you can also vary the
# content for each environment as needed.
module "dev" {
source = "../shared/modules/env"
cf_space_name = "dev"
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../dev/dev.tf-example"
+ id = (known after apply)
}
# module.environments["dev"].local_file.providers-tf will be created
+ resource "local_file" "providers-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
terraform {
required_version = "~> 1.0"
required_providers {
cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry"
version = "~>0.53.1"
}
}
backend "s3" {
# The rest of the backend parameters must be supplied when you initialize:
# terraform init --backend-config=../shared/config/backend.tfvars \
# --backend-config=key=terraform.tfstate.$(basename $(pwd))
#
# For more info, see:
# https://developer.hashicorp.com/terraform/language/settings/backends/configuration#partial-configuration
encrypt = "true"
}
}
provider "cloudfoundry" {
api_url = "https://api.fr.cloud.gov"
user = var.cf_user
password = var.cf_password
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../dev/providers-managed.tf"
+ id = (known after apply)
}
# module.environments["preview"].local_file.main-tf will be created
+ resource "local_file" "main-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
# Add resources to this module describing what you want in the corresponding
# space in cloud.gov. You should probably just reference a shared module as in the
# example below to keep consistency across spaces, but you can also vary the
# content for each environment as needed.
module "preview" {
source = "../shared/modules/env"
cf_space_name = "preview"
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../preview/preview.tf-example"
+ id = (known after apply)
}
# module.environments["preview"].local_file.providers-tf will be created
+ resource "local_file" "providers-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
terraform {
required_version = "~> 1.0"
required_providers {
cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry"
version = "~>0.53.1"
}
}
backend "s3" {
# The rest of the backend parameters must be supplied when you initialize:
# terraform init --backend-config=../shared/config/backend.tfvars \
# --backend-config=key=terraform.tfstate.$(basename $(pwd))
#
# For more info, see:
# https://developer.hashicorp.com/terraform/language/settings/backends/configuration#partial-configuration
encrypt = "true"
}
}
provider "cloudfoundry" {
api_url = "https://api.fr.cloud.gov"
user = var.cf_user
password = var.cf_password
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../preview/providers-managed.tf"
+ id = (known after apply)
}
# module.environments["production"].local_file.main-tf will be created
+ resource "local_file" "main-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
# Add resources to this module describing what you want in the corresponding
# space in cloud.gov. You should probably just reference a shared module as in the
# example below to keep consistency across spaces, but you can also vary the
# content for each environment as needed.
module "production" {
source = "../shared/modules/env"
cf_space_name = "production"
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../production/production.tf-example"
+ id = (known after apply)
}
# module.environments["production"].local_file.providers-tf will be created
+ resource "local_file" "providers-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
terraform {
required_version = "~> 1.0"
required_providers {
cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry"
version = "~>0.53.1"
}
}
backend "s3" {
# The rest of the backend parameters must be supplied when you initialize:
# terraform init --backend-config=../shared/config/backend.tfvars \
# --backend-config=key=terraform.tfstate.$(basename $(pwd))
#
# For more info, see:
# https://developer.hashicorp.com/terraform/language/settings/backends/configuration#partial-configuration
encrypt = "true"
}
}
provider "cloudfoundry" {
api_url = "https://api.fr.cloud.gov"
user = var.cf_user
password = var.cf_password
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../production/providers-managed.tf"
+ id = (known after apply)
}
# module.environments["staging"].local_file.main-tf will be created
+ resource "local_file" "main-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
# Add resources to this module describing what you want in the corresponding
# space in cloud.gov. You should probably just reference a shared module as in the
# example below to keep consistency across spaces, but you can also vary the
# content for each environment as needed.
module "staging" {
source = "../shared/modules/env"
cf_space_name = "staging"
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../staging/staging.tf-example"
+ id = (known after apply)
}
# module.environments["staging"].local_file.providers-tf will be created
+ resource "local_file" "providers-tf" {
+ content = <<-EOT
# The content of this file is managed by Terraform. If you modify it, it may
# be reverted the next time Terraform runs. If you want to make changes, do it
# in ../meta/bootstrap-env/templates.
terraform {
required_version = "~> 1.0"
required_providers {
cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry"
version = "~>0.53.1"
}
}
backend "s3" {
# The rest of the backend parameters must be supplied when you initialize:
# terraform init --backend-config=../shared/config/backend.tfvars \
# --backend-config=key=terraform.tfstate.$(basename $(pwd))
#
# For more info, see:
# https://developer.hashicorp.com/terraform/language/settings/backends/configuration#partial-configuration
encrypt = "true"
}
}
provider "cloudfoundry" {
api_url = "https://api.fr.cloud.gov"
user = var.cf_user
password = var.cf_password
}
EOT
+ content_base64sha256 = (known after apply)
+ content_base64sha512 = (known after apply)
+ content_md5 = (known after apply)
+ content_sha1 = (known after apply)
+ content_sha256 = (known after apply)
+ content_sha512 = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0644"
+ filename = "./../staging/providers-managed.tf"
+ id = (known after apply)
}
Plan: 8 to add, 0 to change, 0 to destroy.
Warning: Argument is deprecated
with module.s3-backups.cloudfoundry_service_instance.bucket,
on /tmp/terraform-data-dir/modules/s3-backups/s3/main.tf line 14, in resource "cloudfoundry_service_instance" "bucket":
14: recursive_delete = var.recursive_delete
Since CF API v3, recursive delete is always done on the cloudcontroller side.
This will be removed in future releases 📝 Plan generated in Pull Request Checks #3862 |
Terraform plan for dev Plan: 1 to add, 0 to change, 1 to destroy.Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
# module.dev.module.cors.null_resource.cors_header must be replaced
-/+ resource "null_resource" "cors_header" {
!~ id = "*******************" -> (known after apply)
!~ triggers = { # forces replacement
!~ "always_run" = "2024-10-22T12:25:56Z" -> (known after apply)
}
}
Plan: 1 to add, 0 to change, 1 to destroy.
Warning: Argument is deprecated
with module.dev-backups-bucket.cloudfoundry_service_instance.bucket,
on /tmp/terraform-data-dir/modules/dev-backups-bucket/s3/main.tf line 14, in resource "cloudfoundry_service_instance" "bucket":
14: recursive_delete = var.recursive_delete
Since CF API v3, recursive delete is always done on the cloudcontroller side.
This will be removed in future releases
(and 6 more similar warnings elsewhere) 📝 Plan generated in Pull Request Checks #3862 |
2f64c6a
to
2a6f673
Compare
Reran this locally, and received the following, using the management deployer account.
@mogul does this look right to you? Is the bootstrap module expected to be rerun in git, and then post merge it will have no more meta changes? These files were auto generated with meta module calling |
|
Upgrades the provider in bootstrap, bootstrap-env, and meta modules, then regenerated the local files using meta module