diff --git a/aws/main.tf b/aws/main.tf index 5aabd66..5139861 100644 --- a/aws/main.tf +++ b/aws/main.tf @@ -1,279 +1,15 @@ -//////////////////////////////// -// Terraform Provider AWS -terraform { - required_version = ">= 0.12.0" -} - -provider "aws" { - region = var.aws_region - profile = var.aws_profile - shared_credentials_file = file(var.credentials_file) -} - -resource "random_id" "instance_id" { - byte_length = 4 -} - -data "aws_caller_identity" "current" {} - -resource "aws_s3_bucket" "lacework_cloudtrail_bucket" { - bucket = "${var.bucket_name}-${random_id.instance_id.hex}" - force_destroy = var.force_destroy_bucket -} - -resource "aws_s3_bucket_policy" "lacework_cloudtrail_bucket_policy" { - bucket = aws_s3_bucket.lacework_cloudtrail_bucket.id - - policy = < 0 ? var.bucket_name : "${var.prefix}-bucket-${random_id.uniq.hex}" + sns_topic_name = length(var.sns_topic_name) > 0 ? var.sns_topic_name : "${var.prefix}-sns-${random_id.uniq.hex}" + sqs_queue_name = length(var.sqs_queue_name) > 0 ? var.sqs_queue_name : "${var.prefix}-sqs-${random_id.uniq.hex}" + cross_account_policy_name = ( + length(var.cross_account_policy_name) > 0 ? var.cross_account_policy_name : "${var.prefix}-cross-acct-policy-${random_id.uniq.hex}" + ) + iam_role_name = var.use_existing_iam_role ? var.iam_role_name : ( + length(var.iam_role_name) > 0 ? var.iam_role_name : "${var.prefix}-iam-${random_id.uniq.hex}" + ) + external_id = var.use_existing_iam_role ? var.iam_role_external_id : module.lacework_ct_iam_role.external_id +} + +resource "random_id" "uniq" { + byte_length = 4 +} + +resource "aws_cloudtrail" "lacework_cloudtrail" { + count = var.enable_cloudtrail ? 1 : 0 + name = var.cloudtrail_name + is_multi_region_trail = true + s3_bucket_name = local.bucket_name + sns_topic_name = aws_sns_topic.lacework_cloudtrail_sns_topic.arn + depends_on = [aws_s3_bucket.cloudtrail_bucket] +} + +# we need the identity of the caller to get their account_id for the s3 bucket +data "aws_caller_identity" "current" {} +resource "aws_s3_bucket" "cloudtrail_bucket" { + count = var.enable_cloudtrail ? 1 : 0 + bucket = local.bucket_name + force_destroy = var.bucket_force_destroy + policy = <