in app/collectors/vpc.scala [135:164]
def arn(region: String, accountNumber: String, vpcId: String) =
s"arn:aws:ec2:$region:$accountNumber:vpc/$vpcId"
def fromApiData(
vpc: AwsVpc,
subnets: Iterable[AwsSubnet],
subnetScopes: Map[String, SubnetScope],
origin: AmazonOrigin
): Vpc = Vpc(
arn = arn(origin.region, vpc.ownerId, vpc.vpcId),
vpcId = vpc.vpcId,
accountId = vpc.ownerId,
state = vpc.stateAsString,
cidrBlock = vpc.cidrBlock,
default = vpc.isDefault,
tenancy = vpc.instanceTenancyAsString,
subnets = subnets.toList.map { s =>
Subnet(
s.subnetArn,
s.availabilityZone,
s.cidrBlock,
s.stateAsString,
s.subnetId,
s.ownerId,
s.availableIpAddressCount,
capacityIpAddressCount = countFromCidr(s.cidrBlock),
s.tags.asScala.map(t => t.key -> t.value).toMap,
isPublic = subnetScopes.getOrElse(s.subnetId(), Unknown) == Public
)
},