in app/collectors/reservation.scala [80:108]
def fromApiData(
reservationInstance: ReservedInstances,
origin: AmazonOrigin
): Reservation = {
val region = reservationInstance.availabilityZone
val arn =
s"arn:aws:ec2:$region:${origin.accountNumber.getOrElse("")}:reservation/${reservationInstance.reservedInstancesId}"
val recurringCharges = reservationInstance.recurringCharges.asScala
.map(RecurringCharge.fromApiData)
.toList
Reservation(
arn = arn,
id = reservationInstance.reservedInstancesId,
region = region,
instanceType = reservationInstance.instanceTypeAsString,
instanceCount = reservationInstance.instanceCount,
productDescription = reservationInstance.productDescriptionAsString,
fixedPrice = reservationInstance.fixedPrice,
usagePrice = reservationInstance.usagePrice,
recurringCharges = recurringCharges,
state = reservationInstance.stateAsString,
currencyCode = reservationInstance.currencyCodeAsString,
duration = reservationInstance.duration,
instanceTenancy = reservationInstance.instanceTenancyAsString,
offeringType = reservationInstance.offeringTypeAsString,
startTime = reservationInstance.start,
endTime = reservationInstance.end
)
}