data "aws_ami" "preauthorized" { most_recent = true owners = ["aws-marketplace"] filter { name = "product-code" values = ["1mp9h4zd2ze4biqif5schqeyu"] } filter { name = "name" values = ["qVSA*"] } } data "aws_ami" "standard" { most_recent = true owners = ["aws-marketplace"] filter { name = "product-code" values = ["9hnn1m0a6jb7k2r1n9itk3jxu"] } filter { name = "name" values = ["qVSA*"] } } # Use the default EBS key data "aws_kms_key" "ebs-key" { key_id = "alias/ebs_root_encrypt_decrypt" } resource "aws_instance" "qualys_scanner_preauthorized" { count = var.create_preauthorized_scanner == true ? 1 : 0 ami = data.aws_ami.preauthorized.id instance_type = "t3.medium" subnet_id = var.subnets[0] user_data = base64encode("PERSCODE=${var.personalization_codes["preauthorized"]}%{if var.proxy != ""}\nPROXY_URL=${var.proxy}:80%{endif}") key_name = "msoc-build" ebs_optimized = true vpc_security_group_ids = [ module.qualys_scanner_sg.security_group_id ] credit_specification { cpu_credits = "unlimited" } tags = merge(var.standard_tags, var.tags, { "Name" : "qualys-scanner-preauthorized" }) volume_tags = merge(var.standard_tags, var.tags, { "Name" : "qualys-scanner-preauthorized" }) root_block_device { volume_size = 100 volume_type = "gp2" encrypted = true kms_key_id = data.aws_kms_key.ebs-key.arn } lifecycle { ignore_changes = [ami] } } resource "aws_instance" "qualys_scanner_standard" { count = var.create_standard_scanner == true ? 1 : 0 ami = data.aws_ami.standard.id instance_type = "t3.medium" subnet_id = var.subnets[0] key_name = "msoc-build" user_data = base64encode("PERSCODE=${var.personalization_codes["standard"]}%{if var.proxy != ""}\nPROXY_URL=${var.proxy}:80%{endif}") ebs_optimized = true vpc_security_group_ids = [ module.qualys_scanner_sg.security_group_id ] credit_specification { cpu_credits = "unlimited" } tags = merge(var.standard_tags, var.tags, { "Name" : "qualys-scanner-standard" }) volume_tags = merge(var.standard_tags, var.tags, { "Name" : "qualys-scanner-standard" }) root_block_device { volume_size = 100 volume_type = "gp2" encrypted = true kms_key_id = data.aws_kms_key.ebs-key.arn } lifecycle { ignore_changes = [ami] } } module "private_dns_record_preauthorized" { source = "../../submodules/dns/private_A_record" count = var.create_preauthorized_scanner == true ? 1 : 0 name = "qualys-preauthorized" ip_addresses = [aws_instance.qualys_scanner_preauthorized[count.index].private_ip] dns_info = var.dns_info reverse_enabled = var.reverse_enabled providers = { aws.c2 = aws.c2 } } module "private_dns_record_standard" { source = "../../submodules/dns/private_A_record" count = var.create_standard_scanner == true ? 1 : 0 name = "qualys-standard" ip_addresses = [aws_instance.qualys_scanner_standard[count.index].private_ip] dns_info = var.dns_info reverse_enabled = var.reverse_enabled providers = { aws.c2 = aws.c2 } }