-
Notifications
You must be signed in to change notification settings - Fork 7
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
chore: GCForms release v3.27.0 #895
base: main
Are you sure you want to change the base?
Conversation
9f46a29
to
1717671
Compare
1717671
to
c88cb78
Compare
Production: load_balancer✅ Terraform Init: Plan: 2 to add, 5 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
~ update in-place
Terraform will perform the following actions:
# aws_wafv2_regex_pattern_set.valid_api_uri_paths will be created
+ resource "aws_wafv2_regex_pattern_set" "valid_api_uri_paths" {
+ arn = (known after apply)
+ description = "Regex to match the api valid urls"
+ id = (known after apply)
+ lock_token = (known after apply)
+ name = "valid_api_uri"
+ scope = "REGIONAL"
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ regular_expression {
+ regex_string = "^(?:\\/v1)?\\/forms\\/(?:(\\w{25}))\\/(?:(template|(?:(submission\\/(?:(new|(?:(\\d{2}-\\d{2}-\\w{4})\\/?(?:(confirm\\/\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12}|problem)?))))))))(?:\\/)?$"
}
}
# aws_wafv2_regex_pattern_set.valid_app_uri_paths will be updated in-place
~ resource "aws_wafv2_regex_pattern_set" "valid_app_uri_paths" {
~ description = "Regex to match the app and api valid urls" -> "Regex to match the app valid urls"
id = "f3927a12-2101-47c6-9a47-7353ac95ba92"
name = "valid_app_uri_paths"
tags = {}
# (4 unchanged attributes hidden)
- regular_expression {
- regex_string = "^\\/(?:en|fr)?\\/?(?:(admin|id|api|auth|signup|profile|forms|unsupported-browser|terms-of-use|contact|support|404)(?:\\/[\\w-]+)?)(?:\\/.*)?$" -> null
}
- regular_expression {
- regex_string = "^\\/(?:en|fr)?\\/?(?:(form-builder|sla|unlock-publishing|terms-and-conditions|javascript-disabled)(?:\\/[\\w-]+)?)(?:\\/.*)?$" -> null
}
- regular_expression {
- regex_string = "^\\/(?:v1)?\\/?(?:(docs|status))(?:\\/)?$" -> null
}
+ regular_expression {
+ regex_string = "^\\/(?:en|fr)?\\/?(?:(admin|api|form-builder|forms|id|auth|profile|support|contact|unlock-publishing)(?:\\/[\\w-]+)?)(?:\\/.*)?$"
}
+ regular_expression {
+ regex_string = "^\\/(?:en|fr)?\\/?(?:(sla|terms-and-conditions|terms-of-use|unsupported-browser|javascript-disabled|404)(?:\\/[\\w-]+)?)(?:\\/.*)?$"
}
# (3 unchanged blocks hidden)
}
# aws_wafv2_web_acl.forms_acl will be updated in-place
~ resource "aws_wafv2_web_acl" "forms_acl" {
id = "88f61111-f91e-442b-9a19-c57c4f43ef7a"
name = "GCForms"
tags = {}
# (9 unchanged attributes hidden)
- rule {
- name = "AllowOnlyAppUrls" -> null
- priority = 60 -> null
- action {
- block {
}
}
- statement {
- not_statement {
- statement {
- regex_pattern_set_reference_statement {
- arn = "arn:aws:wafv2:ca-central-1:957818836222:regional/regexpatternset/valid_app_uri_paths/f3927a12-2101-47c6-9a47-7353ac95ba92" -> null
- field_to_match {
- uri_path {}
}
- text_transformation {
- priority = 1 -> null
- type = "COMPRESS_WHITE_SPACE" -> null
}
- text_transformation {
- priority = 2 -> null
- type = "LOWERCASE" -> null
}
}
}
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AllowOnlyAppUrls" -> null
- sampled_requests_enabled = false -> null
}
}
- rule {
- name = "AWSManagedRulesAmazonIpReputationList" -> null
- priority = 1 -> null
- override_action {
- none {}
}
- statement {
- managed_rule_group_statement {
- name = "AWSManagedRulesAmazonIpReputationList" -> null
- vendor_name = "AWS" -> null
# (1 unchanged attribute hidden)
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AWSManagedRulesAmazonIpReputationList" -> null
- sampled_requests_enabled = true -> null
}
}
- rule {
- name = "AWSManagedRulesKnownBadInputsRuleSet" -> null
- priority = 40 -> null
- override_action {
- none {}
}
- statement {
- managed_rule_group_statement {
- name = "AWSManagedRulesKnownBadInputsRuleSet" -> null
- vendor_name = "AWS" -> null
# (1 unchanged attribute hidden)
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AWSManagedRulesKnownBadInputsRuleSet" -> null
- sampled_requests_enabled = true -> null
}
}
- rule {
- name = "AWSManagedRulesLinuxRuleSet" -> null
- priority = 50 -> null
- override_action {
- none {}
}
- statement {
- managed_rule_group_statement {
- name = "AWSManagedRulesLinuxRuleSet" -> null
- vendor_name = "AWS" -> null
# (1 unchanged attribute hidden)
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AWSManagedRulesLinuxRuleSet" -> null
- sampled_requests_enabled = true -> null
}
}
+ rule {
+ name = "AllowOnlyApiUrls"
+ priority = 65
+ action {
+ block {
}
}
+ statement {
+ and_statement {
+ statement {
+ byte_match_statement {
+ positional_constraint = "EXACTLY"
+ search_string = "api.forms-formulaires.alpha.canada.ca"
+ field_to_match {
+ single_header {
+ name = "host"
}
}
+ text_transformation {
+ priority = 1
+ type = "LOWERCASE"
}
}
}
+ statement {
+ not_statement {
+ statement {
+ regex_pattern_set_reference_statement {
+ arn = (known after apply)
+ field_to_match {
+ uri_path {}
}
+ text_transformation {
+ priority = 1
+ type = "COMPRESS_WHITE_SPACE"
}
+ text_transformation {
+ priority = 2
+ type = "LOWERCASE"
}
}
}
}
}
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AllowOnlyApiUrls"
+ sampled_requests_enabled = false
}
}
+ rule {
+ name = "AllowOnlyAppUrls"
+ priority = 60
+ action {
+ block {
}
}
+ statement {
+ and_statement {
+ statement {
+ byte_match_statement {
+ positional_constraint = "EXACTLY"
+ search_string = "forms-formulaires.alpha.canada.ca"
+ field_to_match {
+ single_header {
+ name = "host"
}
}
+ text_transformation {
+ priority = 1
+ type = "LOWERCASE"
}
}
}
+ statement {
+ not_statement {
+ statement {
+ regex_pattern_set_reference_statement {
+ arn = "arn:aws:wafv2:ca-central-1:957818836222:regional/regexpatternset/valid_app_uri_paths/f3927a12-2101-47c6-9a47-7353ac95ba92"
+ field_to_match {
+ uri_path {}
}
+ text_transformation {
+ priority = 1
+ type = "COMPRESS_WHITE_SPACE"
}
+ text_transformation {
+ priority = 2
+ type = "LOWERCASE"
}
}
}
}
}
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AllowOnlyAppUrls"
+ sampled_requests_enabled = false
}
}
+ rule {
+ name = "AWSManagedRulesAmazonIpReputationList"
+ priority = 1
+ override_action {
+ none {}
}
+ statement {
+ managed_rule_group_statement {
+ name = "AWSManagedRulesAmazonIpReputationList"
+ vendor_name = "AWS"
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AWSManagedRulesAmazonIpReputationList"
+ sampled_requests_enabled = true
}
}
+ rule {
+ name = "AWSManagedRulesKnownBadInputsRuleSet"
+ priority = 40
+ override_action {
+ none {}
}
+ statement {
+ managed_rule_group_statement {
+ name = "AWSManagedRulesKnownBadInputsRuleSet"
+ vendor_name = "AWS"
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AWSManagedRulesKnownBadInputsRuleSet"
+ sampled_requests_enabled = true
}
}
+ rule {
+ name = "AWSManagedRulesLinuxRuleSet"
+ priority = 50
+ override_action {
+ none {}
}
+ statement {
+ managed_rule_group_statement {
+ name = "AWSManagedRulesLinuxRuleSet"
+ vendor_name = "AWS"
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AWSManagedRulesLinuxRuleSet"
+ sampled_requests_enabled = true
}
}
# (7 unchanged blocks hidden)
}
# module.waf_ip_blocklist.aws_cloudwatch_event_rule.ipv4_blocklist will be updated in-place
~ resource "aws_cloudwatch_event_rule" "ipv4_blocklist" {
id = "ipv4_blocklist_forms_app"
name = "ipv4_blocklist_forms_app"
~ schedule_expression = "rate(2 hours)" -> "rate(15 minutes)"
tags = {
"CostCentre" = "forms"
"Terraform" = "true"
}
# (9 unchanged attributes hidden)
}
# module.waf_ip_blocklist.aws_cloudwatch_log_metric_filter.ip_added_to_block_list will be created
+ resource "aws_cloudwatch_log_metric_filter" "ip_added_to_block_list" {
+ id = (known after apply)
+ log_group_name = "/aws/lambda/ipv4_blocklist_forms_app"
+ name = "IpAddedToBlockList"
+ pattern = "\"[Metric] - New IP added to WAF IP Set\""
+ metric_transformation {
+ default_value = "0"
+ name = "IpAddedToBlockList"
+ namespace = "CDS_Platform"
+ unit = "None"
+ value = "1"
}
}
# module.waf_ip_blocklist.aws_iam_policy.ipv4_blocklist will be updated in-place
~ resource "aws_iam_policy" "ipv4_blocklist" {
id = "arn:aws:iam::957818836222:policy/ipv4_blocklist_forms_app"
name = "ipv4_blocklist_forms_app"
~ policy = jsonencode(
~ {
~ Statement = [
{
Action = [
"athena:StartQueryExecution",
"athena:GetQueryResults",
"athena:GetQueryExecution",
]
Effect = "Allow"
Resource = "arn:aws:athena:ca-central-1:957818836222:workgroup/primary"
Sid = "AthenaQueryAccess"
},
~ {
~ Resource = [
~ "arn:aws:athena:ca-central-1:957818836222:catalog/AwsDataCatalog/database/access_logs/table/waf_logs" -> "arn:aws:athena:ca-central-1:957818836222:catalog/AwsDataCatalog/database/access_logs/table/*",
"arn:aws:athena:ca-central-1:957818836222:catalog/AwsDataCatalog/database/access_logs",
]
# (3 unchanged attributes hidden)
},
~ {
~ Resource = [
~ "arn:aws:glue:ca-central-1:957818836222:table/access_logs/waf_logs" -> "arn:aws:glue:ca-central-1:957818836222:table/access_logs/*",
"arn:aws:glue:ca-central-1:957818836222:database/access_logs",
# (1 unchanged element hidden)
]
# (3 unchanged attributes hidden)
},
{
Action = [
"logs:PutLogEvents",
"logs:CreateLogStream",
]
Effect = "Allow"
Resource = "arn:aws:logs:ca-central-1:957818836222:log-group:/aws/lambda/ipv4_blocklist_forms_app:*"
Sid = "CloudWatchWriteAccess"
},
# (3 unchanged elements hidden)
]
# (1 unchanged attribute hidden)
}
)
tags = {
"CostCentre" = "forms"
"Terraform" = "true"
}
# (7 unchanged attributes hidden)
}
# module.waf_ip_blocklist.aws_lambda_function.ipv4_blocklist will be updated in-place
~ resource "aws_lambda_function" "ipv4_blocklist" {
id = "ipv4_blocklist_forms_app"
~ last_modified = "2024-09-26T17:01:41.564+0000" -> (known after apply)
~ source_code_hash = "fCJk+rUL/Gi+YyFakKfRGodgqUC5Mq5QYcxBi1huoa0=" -> "x+q+cCA6WdzkkfRRAAH785MD20xSWJM6+iYOPe/0x+U="
tags = {
"CostCentre" = "forms"
"Terraform" = "true"
}
# (27 unchanged attributes hidden)
~ environment {
~ variables = {
+ "ATHENA_LB_TABLE" = "lb_logs"
- "ATHENA_TABLE" = "waf_logs" -> null
+ "ATHENA_WAF_TABLE" = "waf_logs"
~ "BLOCK_THRESHOLD" = "20" -> "50"
+ "QUERY_LB" = "true"
+ "QUERY_WAF" = "false"
# (7 unchanged elements hidden)
}
}
# (3 unchanged blocks hidden)
}
Plan: 2 to add, 5 to change, 0 to destroy.
Changes to Outputs:
+ waf_ipv4_new_blocked_ip_metric_filter_name = "IpAddedToBlockList"
+ waf_ipv4_new_blocked_ip_metric_filter_namespace = "CDS_Platform"
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_acm_certificate.form_viewer"]
WARN - plan.json - main - Missing Common Tags: ["aws_acm_certificate.form_viewer_maintenance_mode"]
WARN - plan.json - main - Missing Common Tags: ["aws_acm_certificate.forms_api"]
WARN - plan.json - main - Missing Common Tags: ["aws_alb_listener_rule.forms_api"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudfront_distribution.maintenance_mode"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_role.firehose_waf_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_kinesis_firehose_delivery_stream.firehose_waf_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb.form_viewer"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_listener.form_viewer_http"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_listener.form_viewer_https"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_target_group.form_viewer_1"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_target_group.form_viewer_2"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_target_group.forms_api"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_bucket.maintenance_mode"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_css_files[\"style.css\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_html_files[\"index-fr.html\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_html_files[\"index.html\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_ico_files[\"favicon.ico\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_svg_files[\"site-unavailable.svg\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_shield_protection.alb"]
WARN - plan.json - main - Missing Common Tags: ["aws_shield_protection.route53_hosted_zone[0]"]
WARN - plan.json - main - Missing... |
Production: app✅ Terraform Init: Plan: 1 to add, 0 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# aws_ecs_task_definition.form_viewer will be created
+ resource "aws_ecs_task_definition" "form_viewer" {
+ arn = (known after apply)
+ arn_without_revision = (known after apply)
+ container_definitions = jsonencode(
[
+ {
+ environment = [
+ {
+ name = "AUDIT_LOG_QUEUE_URL"
+ value = "https://sqs.ca-central-1.amazonaws.com/957818836222/audit_log_queue"
},
+ {
+ name = "COGNITO_CLIENT_ID"
+ value = "5rkjd3us3ocssieiitdbtjitiv"
},
+ {
+ name = "COGNITO_ENDPOINT_URL"
+ value = "cognito-idp.ca-central-1.amazonaws.com/ca-central-1_eSTGTCw33"
},
+ {
+ name = "EMAIL_ADDRESS_CONTACT_US"
+ value = "[email protected]"
},
+ {
+ name = "EMAIL_ADDRESS_SUPPORT"
+ value = "[email protected]"
},
+ {
+ name = "HOST_URL"
+ value = "https://forms-formulaires.alpha.canada.ca"
},
+ {
+ name = "METRIC_PROVIDER"
+ value = "stdout"
},
+ {
+ name = "NEXTAUTH_URL"
+ value = "https://forms-formulaires.alpha.canada.ca"
},
+ {
+ name = "RECAPTCHA_V3_SITE_KEY"
+ value = "6LfuLrQnAAAAAK9Df3gem4XLMRVY2Laq6t2fhZhZ"
},
+ {
+ name = "REDIS_URL"
+ value = "gcforms-redis-rep-group.iyrckm.ng.0001.cac1.cache.amazonaws.com"
},
+ {
+ name = "RELIABILITY_FILE_STORAGE"
+ value = "forms-production-reliability-file-storage"
},
+ {
+ name = "REPROCESS_SUBMISSION_QUEUE_URL"
+ value = "https://sqs.ca-central-1.amazonaws.com/957818836222/reprocess_submission_queue.fifo"
},
+ {
+ name = "TEMPLATE_ID"
+ value = "92096ac6-1cc5-40ae-9052-fffdb8439a90"
},
+ {
+ name = "TEMPORARY_TOKEN_TEMPLATE_ID"
+ value = "61cec9c4-64ca-4e4d-b4d2-a0e931c44422"
},
+ {
+ name = "TRACER_PROVIDER"
+ value = "stdout"
},
+ {
+ name = "VAULT_FILE_STORAGE"
+ value = "forms-production-vault-file-storage"
},
+ {
+ name = "ZITADEL_PROVIDER"
+ value = "https://auth.forms-formulaires.alpha.canada.ca"
},
]
+ essential = true
+ image = "957818836222.dkr.ecr.ca-central-1.amazonaws.com/form_viewer_production"
+ linuxParameters = {
+ capabilities = {
+ add = []
+ drop = [
+ "ALL",
]
}
}
+ logConfiguration = {
+ logDriver = "awslogs"
+ options = {
+ awslogs-group = "Forms"
+ awslogs-region = "ca-central-1"
+ awslogs-stream-prefix = "ecs-form-viewer"
}
}
+ mountPoints = []
+ name = "form_viewer"
+ portMappings = [
+ {
+ containerPort = 3000
+ hostPort = 3000
+ protocol = "tcp"
},
]
+ secrets = [
+ {
+ name = "DATABASE_URL"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:server-database-url-jVtWGE"
},
+ {
+ name = "FRESHDESK_API_KEY"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:freshdesk_api_key-2Q118n"
},
+ {
+ name = "GC_NOTIFY_CALLBACK_BEARER_TOKEN"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:notify_callback_bearer_token-sWF9yQ"
},
+ {
+ name = "NOTIFY_API_KEY"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:notify_api_key-sLtddr"
},
+ {
+ name = "RECAPTCHA_V3_SECRET_KEY"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:recaptcha_secret-LxfCjN"
},
+ {
+ name = "SENTRY_API_KEY"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:sentry_api_key-zulAvy"
},
+ {
+ name = "TOKEN_SECRET"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:token_secret-jw4Dou"
},
+ {
+ name = "ZITADEL_ADMINISTRATION_KEY"
+ valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:zitadel_administration_key-7rE09g"
},
]
+ systemControls = []
+ volumesFrom = []
},
]
)
+ cpu = "2048"
+ execution_role_arn = "arn:aws:iam::957818836222:role/form-viewer"
+ family = "form-viewer"
+ id = (known after apply)
+ memory = "4096"
+ network_mode = "awsvpc"
+ requires_compatibilities = [
+ "FARGATE",
]
+ revision = (known after apply)
+ skip_destroy = false
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ task_role_arn = "arn:aws:iam::957818836222:role/form-viewer"
+ track_latest = false
}
Plan: 1 to add, 0 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_appautoscaling_target.forms[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.forms"]
WARN - plan.json - main - Missing Common Tags: ["aws_codedeploy_app.app"]
WARN - plan.json - main - Missing Common Tags: ["aws_codedeploy_deployment_group.app"]
WARN - plan.json - main - Missing Common Tags: ["aws_ecs_cluster.forms"]
WARN - plan.json - main - Missing Common Tags: ["aws_ecs_service.form_viewer"]
WARN - plan.json - main - Missing Common Tags: ["aws_ecs_task_definition.form_viewer"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.cognito"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.forms_dynamodb"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.forms_kms"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.forms_s3"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.forms_secrets_manager"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.forms_sqs"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_role.codedeploy"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_role.forms"]
34 tests, 19 passed, 15 warnings, 0 failures, 0 exceptions
|
Production: alarms✅ Terraform Init: Plan: 1 to add, 1 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
~ update in-place
Terraform will perform the following actions:
# aws_cloudwatch_log_subscription_filter.api_error_detection will be updated in-place
~ resource "aws_cloudwatch_log_subscription_filter" "api_error_detection" {
~ filter_pattern = "level=error" -> "{($.level = \"warn\") || ($.level = \"error\")}"
id = "cwlsf-973426895"
name = "error_detection_in_api_logs"
# (4 unchanged attributes hidden)
}
# aws_cloudwatch_metric_alarm.ip_added_to_block_list will be created
+ resource "aws_cloudwatch_metric_alarm" "ip_added_to_block_list" {
+ actions_enabled = true
+ alarm_actions = [
+ "arn:aws:sns:ca-central-1:957818836222:alert-warning",
]
+ alarm_description = "WAF - IP(s) Has been added to the dynamic block list."
+ alarm_name = "IpAddedToBlockList"
+ arn = (known after apply)
+ comparison_operator = "GreaterThanThreshold"
+ evaluate_low_sample_count_percentiles = (known after apply)
+ evaluation_periods = 1
+ id = (known after apply)
+ metric_name = "default"
+ namespace = "default"
+ period = 900
+ statistic = "Sum"
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ threshold = 1
+ treat_missing_data = "notBreaching"
}
Plan: 1 to add, 1 to change, 0 to destroy.
Warning: Argument is deprecated
with module.athena_bucket.aws_s3_bucket.this,
on .terraform/modules/athena_bucket/S3/main.tf line 8, in resource "aws_s3_bucket" "this":
8: resource "aws_s3_bucket" "this" {
Use the aws_s3_bucket_lifecycle_configuration resource instead
(and 3 more similar warnings elsewhere)
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_athena_data_catalog.dynamodb"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_data_catalog.rds_data_catalog"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.codedeploy_sns"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.notify_slack"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ELB_5xx_error_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ELB_healthy_hosts"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.UnHealthyHostCount-TargetGroup1"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.UnHealthyHostCount-TargetGroup2"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.alb_ddos"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.api_audit_log_dead_letter_queue_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.api_cpu_utilization_high_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.api_lb_healthy_host_count"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.api_lb_unhealthy_host_count"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.api_memory_utilization_high_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.api_response_time_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.audit_log_dead_letter_queue_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.cognito_login_outside_canada_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.cognito_signin_exceeded"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ddos_detected_forms_warn"]
WARN - plan.json - main - Missing Common Tags:... |
🤖 I have created a release beep boop
3.27.0 (2024-11-25)
Features
Bug Fixes
Miscellaneous Chores
This PR was generated with Release Please. See documentation.