data "aws_region" "current" {}

data "aws_caller_identity" "current" {}

data "aws_resourceexplorer2_search" "sg_search" {
  query_string = "tag:service_name=${var.service_name} tag:environment=${var.environment} tag:type=${var.security_group_type} resourcetype:ec2:security-group"
  view_arn     = var.view_arn
  region       = var.view_region
}

locals {
  current_region     = data.aws_region.current.region
  current_account_id = data.aws_caller_identity.current.account_id
  sg_list = [
    for i in data.aws_resourceexplorer2_search.sg_search.resources : {
      sg_id      = split("security-group/", i.arn)[1]
      account_id = i.owning_account_id
      region     = i.region
    } if i.owning_account_id != local.current_account_id
  ]
  regional_sg_list = [
    for i in local.sg_list :
    "${i.account_id}/${i.sg_id}" if i.region == local.current_region
  ]
}
