in app/model/Instance.scala [50:81]
def apply(awsInstance: AwsEc2Instance, version: Option[String], usefulUrls: Seq[(String, String)], awsCost: AWSCost, flag:Boolean = false) = {
val tags = awsInstance.getTags.asScala.map(t => t.getKey -> t.getValue).toMap.withDefaultValue("")
val costingType = EC2CostingType(awsInstance.getInstanceType, awsInstance.getPlacement.getAvailabilityZone)
val cost: Option[BigDecimal] = Try(awsCost(costingType)).toOption
Instance(
id = awsInstance.getInstanceId,
publicDns = awsInstance.getPublicDnsName,
publicIp = awsInstance.getPublicIpAddress,
privateDns = awsInstance.getPrivateDnsName,
privateIp = awsInstance.getPrivateIpAddress,
instanceType = awsInstance.getInstanceType,
state = awsInstance.getState.getName,
availabilityZone = awsInstance.getPlacement.getAvailabilityZone,
cost = cost,
approxMonthlyCost = cost map (_ * 24 * 30),
costingType = costingType,
launched = awsInstance.getLaunchTime,
uptime = UptimeDisplay.print(awsInstance.getLaunchTime),
tags = tags,
stage = tags("Stage"),
app = tags("App"),
version = version,
usefulUrls = usefulUrls.toMap
)
}