diff --git a/terraform/environments/apex/cloudwatch_agent_config.json b/terraform/environments/apex/cloudwatch_agent_config.json index 5528ec4e8aa..f32312b3567 100644 --- a/terraform/environments/apex/cloudwatch_agent_config.json +++ b/terraform/environments/apex/cloudwatch_agent_config.json @@ -25,7 +25,13 @@ "metrics_collection_interval": 60, "drop_device": true, "resources": ["*"], - "ignore_file_system_types": ["tmpfs", "devtmpfs", "sysfs", "fuse.s3fs", "nfs4"] + "ignore_file_system_types": [ + "tmpfs", + "devtmpfs", + "sysfs", + "fuse.s3fs", + "nfs4" + ] }, "diskio": { "measurement": [ @@ -67,19 +73,17 @@ } }, "logs": { - "logs_collected": { - "files": { - "collect_list": [ - { - "file_path": "/var/log/messages", - "log_group_name": "APEX-EC2", - "log_stream_name": "{instance_id}", - "retention_in_days": 90 - - - } - ] - } + "logs_collected": { + "files": { + "collect_list": [ + { + "file_path": "/var/log/messages", + "log_group_name": "APEX-EC2", + "log_stream_name": "{instance_id}", + "retention_in_days": 90 + } + ] } } + } } diff --git a/terraform/environments/apex/ec2.tf b/terraform/environments/apex/ec2.tf index 3394fcfc59d..eee2491bc88 100644 --- a/terraform/environments/apex/ec2.tf +++ b/terraform/environments/apex/ec2.tf @@ -33,7 +33,7 @@ resource "aws_instance" "apex_db_instance" { subnet_id = data.aws_subnet.private_subnets_a.id iam_instance_profile = aws_iam_instance_profile.ec2_instance_profile.id user_data_base64 = base64encode(local.instance-userdata) - + root_block_device { delete_on_termination = false diff --git a/terraform/environments/data-platform/data-product-table-schema-json-schema/v1.0.0/moj_data_product_table_spec.json b/terraform/environments/data-platform/data-product-table-schema-json-schema/v1.0.0/moj_data_product_table_spec.json index 402aa09f09f..e0d987c1b1a 100644 --- a/terraform/environments/data-platform/data-product-table-schema-json-schema/v1.0.0/moj_data_product_table_spec.json +++ b/terraform/environments/data-platform/data-product-table-schema-json-schema/v1.0.0/moj_data_product_table_spec.json @@ -52,14 +52,15 @@ }, { "properties": { - "type": { - "type": "string", - "pattern": "^float$|^double$|^decimal\\(\\d{1,2},\\s?\\d{1,2}\\)$", - "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", - "example": "float" + "type": { + "type": "string", + "pattern": "^float$|^double$|^decimal\\(\\d{1,2},\\s?\\d{1,2}\\)$", + "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", + "example": "float" + } } } - }] + ] }, "string_types": { "allOf": [ @@ -68,14 +69,15 @@ }, { "properties": { - "type": { - "type": "string", - "pattern": "^char\\(\\d{1,3}\\)$|^varchar\\(\\d{0,5}\\)$|^varchar$|^string$", - "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", - "example": "string" + "type": { + "type": "string", + "pattern": "^char\\(\\d{1,3}\\)$|^varchar\\(\\d{0,5}\\)$|^varchar$|^string$", + "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", + "example": "string" + } } } - }] + ] }, "boolean_types": { "allOf": [ @@ -84,14 +86,15 @@ }, { "properties": { - "type": { - "type": "string", - "pattern": "^boolean$", - "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", - "example": "boolean" + "type": { + "type": "string", + "pattern": "^boolean$", + "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", + "example": "boolean" + } } } - }] + ] }, "date_types": { "allOf": [ @@ -100,14 +103,15 @@ }, { "properties": { - "type": { - "type": "string", - "pattern": "^date$|^timestamp$", - "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", - "example": "date" + "type": { + "type": "string", + "pattern": "^date$|^timestamp$", + "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", + "example": "date" + } } } - }] + ] }, "struct_types": { "allOf": [ @@ -116,14 +120,15 @@ }, { "properties": { - "type": { - "type": "string", - "pattern": "^map_<.+>$|^struct<.+>$", - "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", - "example": "struct" + "type": { + "type": "string", + "pattern": "^map_<.+>$|^struct<.+>$", + "description": "The data type of the Column. See https://docs.aws.amazon.com/athena/latest/ug/data-types.html", + "example": "struct" + } } } - }] + ] } }, "properties": { @@ -161,4 +166,3 @@ }, "additionalProperties": false } - diff --git a/terraform/environments/delius-core/modules/environment_all_components/db_iam.tf b/terraform/environments/delius-core/modules/environment_all_components/db_iam.tf index 67095176cc5..85ca6e6cb7b 100644 --- a/terraform/environments/delius-core/modules/environment_all_components/db_iam.tf +++ b/terraform/environments/delius-core/modules/environment_all_components/db_iam.tf @@ -86,8 +86,8 @@ data "aws_iam_policy_document" "ec2_access_for_ansible" { data "aws_iam_policy_document" "allow_access_to_ssm_parameter_store" { statement { - sid = "AllowAccessToSsmParameterStore" - effect = "Allow" + sid = "AllowAccessToSsmParameterStore" + effect = "Allow" actions = [ "ssm:PutParameter" ] diff --git a/terraform/environments/digital-prison-reporting/locals.tf b/terraform/environments/digital-prison-reporting/locals.tf index 5de5c6f37a9..5deaaaacef5 100644 --- a/terraform/environments/digital-prison-reporting/locals.tf +++ b/terraform/environments/digital-prison-reporting/locals.tf @@ -186,7 +186,7 @@ locals { lambda_transfercomp_layer_name = "${local.project}-redhift-jdbc-dependency-layer" # Enable CW alarms - enable_cw_alarm = local.application_data.accounts[local.environment].setup_cw_alarms + enable_cw_alarm = local.application_data.accounts[local.environment].setup_cw_alarms # Sonatype Secrets setup_sonatype_secrets = local.application_data.accounts[local.environment].setup_sonatype_secrets diff --git a/terraform/environments/digital-prison-reporting/main.tf b/terraform/environments/digital-prison-reporting/main.tf index 20563d6cf03..064947ad7d1 100644 --- a/terraform/environments/digital-prison-reporting/main.tf +++ b/terraform/environments/digital-prison-reporting/main.tf @@ -18,21 +18,21 @@ module "glue_reporting_hub_job" { create_security_configuration = local.create_sec_conf temp_dir = "s3://${module.s3_glue_job_bucket.bucket_id}/tmp/${local.project}-reporting-hub-${local.env}/" # Using s3a for checkpoint because to align with Hadoop 3 supports - checkpoint_dir = "s3a://${module.s3_glue_job_bucket.bucket_id}/checkpoint/${local.project}-reporting-hub-${local.env}/" - spark_event_logs = "s3://${module.s3_glue_job_bucket.bucket_id}/spark-logs/${local.project}-reporting-hub-${local.env}/" + checkpoint_dir = "s3a://${module.s3_glue_job_bucket.bucket_id}/checkpoint/${local.project}-reporting-hub-${local.env}/" + spark_event_logs = "s3://${module.s3_glue_job_bucket.bucket_id}/spark-logs/${local.project}-reporting-hub-${local.env}/" # Placeholder Script Location - script_location = local.glue_placeholder_script_location - enable_continuous_log_filter = false - project_id = local.project - aws_kms_key = local.s3_kms_arn - additional_policies = module.kinesis_stream_ingestor.kinesis_stream_iam_policy_admin_arn - execution_class = "STANDARD" - worker_type = local.reporting_hub_worker_type - number_of_workers = local.reporting_hub_num_workers - max_concurrent = 1 - region = local.account_region - account = local.account_id - log_group_retention_in_days = 1 + script_location = local.glue_placeholder_script_location + enable_continuous_log_filter = false + project_id = local.project + aws_kms_key = local.s3_kms_arn + additional_policies = module.kinesis_stream_ingestor.kinesis_stream_iam_policy_admin_arn + execution_class = "STANDARD" + worker_type = local.reporting_hub_worker_type + number_of_workers = local.reporting_hub_num_workers + max_concurrent = 1 + region = local.account_region + account = local.account_id + log_group_retention_in_days = 1 tags = merge( local.all_tags, @@ -88,19 +88,19 @@ module "glue_domain_refresh_job" { checkpoint_dir = "s3://${module.s3_glue_job_bucket.bucket_id}/checkpoint/${local.project}-domain-refresh-${local.env}/" spark_event_logs = "s3://${module.s3_glue_job_bucket.bucket_id}/spark-logs/${local.project}-domain-refresh-${local.env}/" # Placeholder Script Location - script_location = local.glue_placeholder_script_location - enable_continuous_log_filter = false - project_id = local.project - aws_kms_key = local.s3_kms_arn - additional_policies = module.kinesis_stream_ingestor.kinesis_stream_iam_policy_admin_arn + script_location = local.glue_placeholder_script_location + enable_continuous_log_filter = false + project_id = local.project + aws_kms_key = local.s3_kms_arn + additional_policies = module.kinesis_stream_ingestor.kinesis_stream_iam_policy_admin_arn # timeout = 1440 - execution_class = "FLEX" - worker_type = local.refresh_job_worker_type - number_of_workers = local.refresh_job_num_workers - max_concurrent = 64 - region = local.account_region - account = local.account_id - log_group_retention_in_days = 1 + execution_class = "FLEX" + worker_type = local.refresh_job_worker_type + number_of_workers = local.refresh_job_num_workers + max_concurrent = 64 + region = local.account_region + account = local.account_id + log_group_retention_in_days = 1 tags = merge( local.all_tags, @@ -174,7 +174,7 @@ module "glue_registry_avro" { source = "./modules/glue_registry" enable_glue_registry = true name = "${local.project}-glue-registry-avro-${local.env}" - tags = merge( + tags = merge( local.all_tags, { Name = "${local.project}-glue-registry-avro-${local.env}" @@ -200,7 +200,7 @@ module "glue_raw_table" { # AWS Glue catalog table glue_catalog_table_description = "Glue Table for raw data, managed by Terraform." glue_catalog_table_table_type = "EXTERNAL_TABLE" - glue_catalog_table_parameters = { + glue_catalog_table_parameters = { EXTERNAL = "TRUE" "parquet.compression" = "SNAPPY" "classification" = "parquet" @@ -262,7 +262,7 @@ module "glue_reconciliation_table" { # AWS Glue catalog table glue_catalog_table_description = "Glue Table for reconciliation data, managed by Terraform." glue_catalog_table_table_type = "EXTERNAL_TABLE" - glue_catalog_table_parameters = { + glue_catalog_table_parameters = { EXTERNAL = "TRUE" "parquet.compression" = "SNAPPY" "classification" = "parquet" @@ -600,9 +600,9 @@ module "ec2_kinesis_agent" { ebs_encrypted = true ebs_delete_on_termination = false # s3_policy_arn = aws_iam_policy.read_s3_read_access_policy.arn # TBC - region = local.account_region - account = local.account_id - env = local.env + region = local.account_region + account = local.account_id + env = local.env tags = merge( @@ -632,19 +632,19 @@ module "datamart" { create_subnet_group = true kms_key_arn = aws_kms_key.redshift-kms-key.arn enhanced_vpc_routing = false - subnet_ids = [ + subnet_ids = [ data.aws_subnet.private_subnets_a.id, data.aws_subnet.private_subnets_b.id, data.aws_subnet.private_subnets_c.id ] - vpc = data.aws_vpc.shared.id - cidr = [data.aws_vpc.shared.cidr_block, local.cloud_platform_cidr] - iam_role_arns = [aws_iam_role.redshift-role.arn, aws_iam_role.redshift-spectrum-role.arn] + vpc = data.aws_vpc.shared.id + cidr = [data.aws_vpc.shared.cidr_block, local.cloud_platform_cidr] + iam_role_arns = [aws_iam_role.redshift-role.arn, aws_iam_role.redshift-spectrum-role.arn] # Endpoint access - only available when using the ra3.x type, for S3 Simple Service create_endpoint_access = false # Scheduled actions create_scheduled_action_iam_role = true - scheduled_actions = { + scheduled_actions = { pause = { name = "${local.redshift_cluster_name}-pause" description = "Pause cluster every night" @@ -698,7 +698,7 @@ module "dms_nomis_ingestor" { migration_type = "full-load-and-cdc" replication_instance_version = "3.4.7" # Upgrade replication_instance_class = "dms.t3.medium" - subnet_ids = [ + subnet_ids = [ data.aws_subnet.data_subnets_a.id, data.aws_subnet.data_subnets_b.id, data.aws_subnet.data_subnets_c.id ] @@ -750,7 +750,7 @@ module "dms_fake_data_ingestor" { migration_type = "full-load-and-cdc" replication_instance_version = "3.4.7" # Rollback replication_instance_class = "dms.t3.medium" - subnet_ids = [ + subnet_ids = [ data.aws_subnet.data_subnets_a.id, data.aws_subnet.data_subnets_b.id, data.aws_subnet.data_subnets_c.id ] diff --git a/terraform/environments/digital-prison-reporting/metric_alarms.tf b/terraform/environments/digital-prison-reporting/metric_alarms.tf index aea17c284e0..dc48b6dc21f 100644 --- a/terraform/environments/digital-prison-reporting/metric_alarms.tf +++ b/terraform/environments/digital-prison-reporting/metric_alarms.tf @@ -4,7 +4,7 @@ # If it is able to perform this operation successfully, the cluster is considered healthy. # Otherwise, the cluster is unhealthy. An unhealthy status can occur when the cluster database is under extremely heavy load or if there is a configuration problem with a database on the cluster. module "dpr_redshift_health_status_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-redshift-health-status" @@ -25,7 +25,7 @@ module "dpr_redshift_health_status_check" { ## Monitoring AWS DMS tasks, https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html # Alarm - "DMS Stop Monitor" module "dpr_dms_stoptask_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-stop-task" @@ -42,16 +42,16 @@ module "dpr_dms_stoptask_check" { "Type" = "API" } - namespace = "AWS/Usage" - metric_name = "CallCount" - statistic = "Maximum" + namespace = "AWS/Usage" + metric_name = "CallCount" + statistic = "Maximum" alarm_actions = [module.notifications_sns.sns_topic_arn] } # Alarm - "DMS Start Monitor" module "dpr_dms_starttask_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-start-task" @@ -68,16 +68,16 @@ module "dpr_dms_starttask_check" { "Type" = "API" } - namespace = "AWS/Usage" - metric_name = "CallCount" - statistic = "Maximum" + namespace = "AWS/Usage" + metric_name = "CallCount" + statistic = "Maximum" alarm_actions = [module.notifications_sns.sns_topic_arn] } # Alarm - "DMS CPU Utilization Monitor" module "dpr_dms_cpu_utils_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-cpu-utilization" @@ -87,7 +87,7 @@ module "dpr_dms_cpu_utils_check" { evaluation_periods = 1 threshold = 80 # 80% CPU - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name } @@ -100,7 +100,7 @@ module "dpr_dms_cpu_utils_check" { # Alarm - "DMS FreeMemory Monitor" module "dpr_dms_free_memory_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-free-memory" @@ -110,7 +110,7 @@ module "dpr_dms_free_memory_check" { evaluation_periods = 1 threshold = 1000000000 # 1Gb - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name } @@ -123,7 +123,7 @@ module "dpr_dms_free_memory_check" { # Alarm - "DMS FreeableMemory Monitor" module "dpr_dms_freeable_memory_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-freeable-memory" @@ -133,7 +133,7 @@ module "dpr_dms_freeable_memory_check" { evaluation_periods = 1 threshold = 1000000000 # 1Gb - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name } @@ -147,7 +147,7 @@ module "dpr_dms_freeable_memory_check" { # Alarm - "DMS SWAP Usage Monitor" # https://repost.aws/knowledge-center/dms-swap-files-consuming-space module "dpr_dms_swap_usage_check" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-swap-usage" @@ -157,7 +157,7 @@ module "dpr_dms_swap_usage_check" { evaluation_periods = 1 threshold = 750000000 # 0.75Gb - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name } @@ -171,7 +171,7 @@ module "dpr_dms_swap_usage_check" { # Alarm - "DMS Network Transmit Throughput Monitor" # https://repost.aws/knowledge-center/dms-swap-files-consuming-space module "dpr_dms_network_transmit_throughput" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-network-transmit-throughput" @@ -191,7 +191,7 @@ module "dpr_dms_network_transmit_throughput" { # Alarm - "DMS Network Receive Throughput Monitor" # https://repost.aws/knowledge-center/dms-swap-files-consuming-space module "dpr_dms_network_receive_throughput" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-network-receive-throughput" @@ -213,7 +213,7 @@ module "dpr_dms_network_receive_throughput" { # CDCLatencySource represents the latency between source and replication instance. # High CDCLatencySource means the process of capturing changes from source is delayed. module "dpr_dms_cdc_source_latency" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-cdc-source-latency" @@ -223,7 +223,7 @@ module "dpr_dms_cdc_source_latency" { evaluation_periods = 1 threshold = 3600 # 60 mins - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name "ReplicationTaskIdentifier" = module.dms_nomis_ingestor.dms_replication_task_name } @@ -239,7 +239,7 @@ module "dpr_dms_cdc_source_latency" { # The gap, in seconds, between the first event timestamp waiting to commit on the target and the current timestamp of the AWS DMS instance. # Target latency is the difference between the replication instance server time and the oldest unconfirmed event id forwarded to a target component. module "dpr_dms_cdc_target_latency" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-cdc-target-latency" @@ -249,7 +249,7 @@ module "dpr_dms_cdc_target_latency" { evaluation_periods = 1 threshold = 3600 # 60 mins - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name "ReplicationTaskIdentifier" = module.dms_nomis_ingestor.dms_replication_task_name } @@ -267,7 +267,7 @@ module "dpr_dms_cdc_target_latency" { # A large number for this metric usually indicates AWS DMS is unable to apply captured changes in a timely manner, # thus causing high target latency. module "dpr_dms_cdc_incoming_events" { - source = "./modules/cw_alarm" + source = "./modules/cw_alarm" create_metric_alarm = local.enable_cw_alarm alarm_name = "dpr-dms-cdc-incoming-events" @@ -277,7 +277,7 @@ module "dpr_dms_cdc_incoming_events" { evaluation_periods = 1 threshold = 100 # 100 events - dimensions = { + dimensions = { "ReplicationInstanceIdentifier" = module.dms_nomis_ingestor.dms_instance_name "ReplicationTaskIdentifier" = module.dms_nomis_ingestor.dms_replication_task_name } diff --git a/terraform/environments/nomis-data-hub/locals.tf b/terraform/environments/nomis-data-hub/locals.tf index 09aeaa03a8f..22ce3e32d2b 100644 --- a/terraform/environments/nomis-data-hub/locals.tf +++ b/terraform/environments/nomis-data-hub/locals.tf @@ -47,10 +47,10 @@ locals { }) user_data_cloud_init = module.baseline_presets.ec2_instance.user_data_cloud_init.ssm_agent_and_ansible tags = { - description = "RHEL7.9 NDH App" - component = "ndh" - server-type = "ndh-app" - monitored = false + description = "RHEL7.9 NDH App" + component = "ndh" + server-type = "ndh-app" + monitored = false instance-scheduling = "skip-scheduling" } } @@ -67,10 +67,10 @@ locals { }) user_data_cloud_init = module.baseline_presets.ec2_instance.user_data_cloud_init.ssm_agent_and_ansible tags = { - description = "RHEL7.9 NDH ems" - component = "ndh" - server-type = "ndh-ems" - monitored = false + description = "RHEL7.9 NDH ems" + component = "ndh" + server-type = "ndh-ems" + monitored = false instance-scheduling = "skip-scheduling" } } diff --git a/terraform/environments/performance-hub/s3.tf b/terraform/environments/performance-hub/s3.tf index 60414fc61ea..1e67f22d2c1 100644 --- a/terraform/environments/performance-hub/s3.tf +++ b/terraform/environments/performance-hub/s3.tf @@ -14,7 +14,7 @@ resource "aws_s3_bucket" "upload_files" { prevent_destroy = true } - tags = merge ( + tags = merge( local.tags, { Name = "${local.application_name}-uploads" @@ -166,11 +166,11 @@ resource "aws_iam_role_policy_attachment" "s3_uploads_attachment" { module "ap_landing_bucket" { source = "github.com/ministryofjustice/modernisation-platform-terraform-s3-bucket?ref=v7.0.0" - bucket_name = "${local.application_name}-land-${local.environment}" - ownership_controls = "BucketOwnerEnforced" + bucket_name = "${local.application_name}-land-${local.environment}" + ownership_controls = "BucketOwnerEnforced" - versioning_enabled = false - replication_enabled = false + versioning_enabled = false + replication_enabled = false providers = { # Leave this provider block in even if you are not using replication @@ -190,10 +190,10 @@ module "ap_landing_bucket" { } ] - tags = merge ( + tags = merge( local.tags, { - Name = "${local.application_name}-ap-landing-bucket" + Name = "${local.application_name}-ap-landing-bucket" } ) } diff --git a/terraform/modules/ip_addresses/azure_fixngo.tf b/terraform/modules/ip_addresses/azure_fixngo.tf index d6e95ef5b9d..7888f2cc455 100644 --- a/terraform/modules/ip_addresses/azure_fixngo.tf +++ b/terraform/modules/ip_addresses/azure_fixngo.tf @@ -53,7 +53,7 @@ locals { noms_prod_domain_controller_pcmcw1011 = "10.40.144.196/32" noms_prod_domain_controller_pcmcw1012 = "10.40.64.133/32" - noms_devtest_domain_controller_MGMCW0002 = "10.102.0.196/32" + noms_devtest_domain_controller_MGMCW0002 = "10.102.0.196/32" noms_devtest_domain_controller_tc_mgt_dc_01 = "10.102.0.199/32" noms_devtest_domain_controller_tc_mgt_dc_02 = "10.102.0.200/32" }