Skip to content

feat: add side-by-side documentdb v8 resources#909

Open
ryanhyma wants to merge 1 commit intomainfrom
feature/docdb-migration
Open

feat: add side-by-side documentdb v8 resources#909
ryanhyma wants to merge 1 commit intomainfrom
feature/docdb-migration

Conversation

@ryanhyma
Copy link
Copy Markdown
Collaborator

Start migration to docdb 8, need to do side by side as per guidelines.

@github-actions
Copy link
Copy Markdown

Staging: database

✅   Terraform Init: success
✅   Terraform Validate: success
✅   Terraform Format: success
✅   Terraform Plan: success
✅   Conftest: success

Plan: 4 to add, 1 to change, 0 to destroy
Show summary
CHANGE NAME
update aws_security_group.ai-answers-docdb-sg
add aws_docdb_cluster.ai-answers-docdb-v8-cluster
aws_docdb_cluster_instance.ai-answers-docdb-v8-instance[0]
aws_docdb_cluster_parameter_group.ai-answers-docdb-v8-cluster-parameter-group
aws_ssm_parameter.docdb_uri_v8
Show plan
Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # aws_docdb_cluster.ai-answers-docdb-v8-cluster will be created
  + resource "aws_docdb_cluster" "ai-answers-docdb-v8-cluster" {
      + apply_immediately               = true
      + arn                             = (known after apply)
      + availability_zones              = (known after apply)
      + backup_retention_period         = 1
      + cluster_identifier              = "ai-answers-docdb-v8-cluster"
      + cluster_identifier_prefix       = (known after apply)
      + cluster_members                 = (known after apply)
      + cluster_resource_id             = (known after apply)
      + db_cluster_parameter_group_name = "ai-answers-docdb-v8-cluster-parameter-group"
      + db_subnet_group_name            = "ai-answers-example-docdb-subnet-group"
      + endpoint                        = (known after apply)
      + engine                          = "docdb"
      + engine_version                  = "8.0.0"
      + hosted_zone_id                  = (known after apply)
      + id                              = (known after apply)
      + kms_key_id                      = (known after apply)
      + master_password                 = (sensitive value)
      + master_username                 = (sensitive value)
      + port                            = 27017
      + preferred_backup_window         = (known after apply)
      + preferred_maintenance_window    = (known after apply)
      + reader_endpoint                 = (known after apply)
      + skip_final_snapshot             = true
      + storage_encrypted               = true
      + tags                            = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }
      + tags_all                        = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }
      + vpc_security_group_ids          = [
          + "sg-04966047bf236b850",
        ]
    }

  # aws_docdb_cluster_instance.ai-answers-docdb-v8-instance[0] will be created
  + resource "aws_docdb_cluster_instance" "ai-answers-docdb-v8-instance" {
      + apply_immediately               = true
      + arn                             = (known after apply)
      + auto_minor_version_upgrade      = true
      + availability_zone               = (known after apply)
      + ca_cert_identifier              = (known after apply)
      + cluster_identifier              = (known after apply)
      + db_subnet_group_name            = (known after apply)
      + dbi_resource_id                 = (known after apply)
      + endpoint                        = (known after apply)
      + engine                          = "docdb"
      + engine_version                  = (known after apply)
      + id                              = (known after apply)
      + identifier                      = "ai-answers-docdb-v8-instance"
      + identifier_prefix               = (known after apply)
      + instance_class                  = "db.t3.medium"
      + kms_key_id                      = (known after apply)
      + performance_insights_kms_key_id = (known after apply)
      + port                            = (known after apply)
      + preferred_backup_window         = (known after apply)
      + preferred_maintenance_window    = (known after apply)
      + promotion_tier                  = 0
      + publicly_accessible             = (known after apply)
      + storage_encrypted               = (known after apply)
      + tags                            = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }
      + tags_all                        = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }
      + writer                          = (known after apply)
    }

  # aws_docdb_cluster_parameter_group.ai-answers-docdb-v8-cluster-parameter-group will be created
  + resource "aws_docdb_cluster_parameter_group" "ai-answers-docdb-v8-cluster-parameter-group" {
      + arn         = (known after apply)
      + description = "Parameter group for ai-answers staging DocumentDB v8"
      + family      = "docdb8.0"
      + id          = (known after apply)
      + name        = "ai-answers-docdb-v8-cluster-parameter-group"
      + name_prefix = (known after apply)
      + tags        = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }
      + tags_all    = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }

      + parameter {
          + apply_method = "pending-reboot"
          + name         = "tls"
          + value        = "enabled"
        }
    }

  # aws_security_group.ai-answers-docdb-sg will be updated in-place
  ~ resource "aws_security_group" "ai-answers-docdb-sg" {
        id                     = "sg-04966047bf236b850"
      ~ ingress                = [
          - {
              - cidr_blocks      = [
                  - "10.0.0.0/16",
                ]
              - from_port        = 27017
              - ipv6_cidr_blocks = []
              - prefix_list_ids  = []
              - protocol         = "tcp"
              - security_groups  = []
              - self             = false
              - to_port          = 27017
                # (1 unchanged attribute hidden)
            },
          - {
              - cidr_blocks      = []
              - description      = "Allow DocumentDB cluster to receive requests from ECS"
              - from_port        = 27017
              - ipv6_cidr_blocks = []
              - prefix_list_ids  = []
              - protocol         = "tcp"
              - security_groups  = [
                  - "sg-085c606383f33733e",
                ]
              - self             = false
              - to_port          = 27017
            },
          - {
              - cidr_blocks      = []
              - description      = "Security group rule for AI Answers DocumentDB ingress"
              - from_port        = 27017
              - ipv6_cidr_blocks = []
              - prefix_list_ids  = []
              - protocol         = "tcp"
              - security_groups  = [
                  - "sg-02aa37b786b2751de",
                ]
              - self             = false
              - to_port          = 27017
            },
          + {
              + cidr_blocks      = [
                  + "10.0.0.0/16",
                ]
              + from_port        = 27017
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 27017
            },
        ]
        name                   = "ai-answers-example-docdb-sg"
        tags                   = {
            "CostCentre" = "ai-answers-staging"
            "Terraform"  = "true"
        }
        # (8 unchanged attributes hidden)
    }

  # aws_ssm_parameter.docdb_uri_v8 will be created
  + resource "aws_ssm_parameter" "docdb_uri_v8" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "docdb_uri_v8"
      + tags_all       = {
          + "CostCentre" = "ai-answers-staging"
          + "Terraform"  = "true"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

Plan: 4 to add, 1 to change, 0 to destroy.

Changes to Outputs:
  + aws_docdb_v8_cluster_arn    = (known after apply)
  + aws_docdb_v8_cluster_id     = (known after apply)
  + docdb_uri_v8_arn            = (known after apply)

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: plan.tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "plan.tfplan"
Show Conftest results
WARN - plan.json - main - Missing Common Tags: ["aws_ssm_parameter.docdb_uri"]
WARN - plan.json - main - Missing Common Tags: ["aws_ssm_parameter.docdb_uri_v8"]

21 tests, 19 passed, 2 warnings, 0 failures, 0 exceptions

@github-actions
Copy link
Copy Markdown

🧪 AI Answers Review Environment

https://mrb7gbedaoige66kyltd6smfba0rwrvs.lambda-url.ca-central-1.on.aws/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant