
commonMain.aws.sdk.kotlin.services.medialive.model.Offering.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Reserved resources available for purchase
*/
public class Offering private constructor(builder: Builder) {
/**
* Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
public val arn: kotlin.String? = builder.arn
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
public val currencyCode: kotlin.String? = builder.currencyCode
/**
* Lease duration, e.g. '12'
*/
public val duration: kotlin.Int = builder.duration
/**
* Units for duration, e.g. 'MONTHS'
*/
public val durationUnits: aws.sdk.kotlin.services.medialive.model.OfferingDurationUnits? = builder.durationUnits
/**
* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
*/
public val fixedPrice: kotlin.Double = builder.fixedPrice
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'
*/
public val offeringDescription: kotlin.String? = builder.offeringDescription
/**
* Unique offering ID, e.g. '87654321'
*/
public val offeringId: kotlin.String? = builder.offeringId
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
public val offeringType: aws.sdk.kotlin.services.medialive.model.OfferingType? = builder.offeringType
/**
* AWS region, e.g. 'us-west-2'
*/
public val region: kotlin.String? = builder.region
/**
* Resource configuration details
*/
public val resourceSpecification: aws.sdk.kotlin.services.medialive.model.ReservationResourceSpecification? = builder.resourceSpecification
/**
* Recurring usage charge for each reserved resource, e.g. '157.0'
*/
public val usagePrice: kotlin.Double = builder.usagePrice
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.Offering = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Offering(")
append("arn=$arn,")
append("currencyCode=$currencyCode,")
append("duration=$duration,")
append("durationUnits=$durationUnits,")
append("fixedPrice=$fixedPrice,")
append("offeringDescription=$offeringDescription,")
append("offeringId=$offeringId,")
append("offeringType=$offeringType,")
append("region=$region,")
append("resourceSpecification=$resourceSpecification,")
append("usagePrice=$usagePrice")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = arn?.hashCode() ?: 0
result = 31 * result + (currencyCode?.hashCode() ?: 0)
result = 31 * result + (duration)
result = 31 * result + (durationUnits?.hashCode() ?: 0)
result = 31 * result + (fixedPrice.hashCode())
result = 31 * result + (offeringDescription?.hashCode() ?: 0)
result = 31 * result + (offeringId?.hashCode() ?: 0)
result = 31 * result + (offeringType?.hashCode() ?: 0)
result = 31 * result + (region?.hashCode() ?: 0)
result = 31 * result + (resourceSpecification?.hashCode() ?: 0)
result = 31 * result + (usagePrice.hashCode())
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as Offering
if (arn != other.arn) return false
if (currencyCode != other.currencyCode) return false
if (duration != other.duration) return false
if (durationUnits != other.durationUnits) return false
if (fixedPrice != other.fixedPrice) return false
if (offeringDescription != other.offeringDescription) return false
if (offeringId != other.offeringId) return false
if (offeringType != other.offeringType) return false
if (region != other.region) return false
if (resourceSpecification != other.resourceSpecification) return false
if (usagePrice != other.usagePrice) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.Offering = Builder(this).apply(block).build()
public class Builder {
/**
* Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
*/
public var arn: kotlin.String? = null
/**
* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
*/
public var currencyCode: kotlin.String? = null
/**
* Lease duration, e.g. '12'
*/
public var duration: kotlin.Int = 0
/**
* Units for duration, e.g. 'MONTHS'
*/
public var durationUnits: aws.sdk.kotlin.services.medialive.model.OfferingDurationUnits? = null
/**
* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
*/
public var fixedPrice: kotlin.Double = 0.0
/**
* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'
*/
public var offeringDescription: kotlin.String? = null
/**
* Unique offering ID, e.g. '87654321'
*/
public var offeringId: kotlin.String? = null
/**
* Offering type, e.g. 'NO_UPFRONT'
*/
public var offeringType: aws.sdk.kotlin.services.medialive.model.OfferingType? = null
/**
* AWS region, e.g. 'us-west-2'
*/
public var region: kotlin.String? = null
/**
* Resource configuration details
*/
public var resourceSpecification: aws.sdk.kotlin.services.medialive.model.ReservationResourceSpecification? = null
/**
* Recurring usage charge for each reserved resource, e.g. '157.0'
*/
public var usagePrice: kotlin.Double = 0.0
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.Offering) : this() {
this.arn = x.arn
this.currencyCode = x.currencyCode
this.duration = x.duration
this.durationUnits = x.durationUnits
this.fixedPrice = x.fixedPrice
this.offeringDescription = x.offeringDescription
this.offeringId = x.offeringId
this.offeringType = x.offeringType
this.region = x.region
this.resourceSpecification = x.resourceSpecification
this.usagePrice = x.usagePrice
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.Offering = Offering(this)
/**
* construct an [aws.sdk.kotlin.services.medialive.model.ReservationResourceSpecification] inside the given [block]
*/
public fun resourceSpecification(block: aws.sdk.kotlin.services.medialive.model.ReservationResourceSpecification.Builder.() -> kotlin.Unit) {
this.resourceSpecification = aws.sdk.kotlin.services.medialive.model.ReservationResourceSpecification.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy