def fromAWS()

in app/collectors/securityGroup.scala [41:75]


  def fromAWS(
      secGroup: AwsSecurityGroup,
      lookup: Map[String, SecurityGroup]
  ): SecurityGroup = {
    def groupRefs(rule: IpPermission): Seq[SecurityGroupRef] = {
      rule.userIdGroupPairs.asScala.map { pair =>
        SecurityGroupRef(
          pair.groupId,
          pair.userId,
          lookup.get(pair.groupId).map(_.arn)
        )
      }
    }.toSeq

    val rules = secGroup.ipPermissions.asScala.map { rule =>
      Rule(
        rule.ipProtocol.replace("-1", "all"),
        Option(rule.fromPort).map(_.toInt),
        Option(rule.toPort).map(_.toInt),
        rule.ipRanges.asScala.toSeq.map(_.cidrIp).sorted.wrap,
        rule.ipv6Ranges.asScala.toSeq.map(_.cidrIpv6).sorted.wrap,
        groupRefs(rule).wrap
      )
    }

    SecurityGroup(
      s"arn:aws:ec2:${origin.region}:${origin.accountNumber.get}:security-group/${secGroup.groupId}",
      secGroup.groupId,
      secGroup.groupName,
      origin.region,
      rules.toSeq,
      Option(secGroup.vpcId),
      secGroup.tags.asScala.map(t => t.key -> t.value).toMap
    )
  }