
commonMain.aws.sdk.kotlin.services.groundstation.model.ReserveContactRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.groundstation.model
import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant
/**
*
*/
public class ReserveContactRequest private constructor(builder: Builder) {
/**
* End time of a contact in UTC.
*/
public val endTime: aws.smithy.kotlin.runtime.time.Instant = requireNotNull(builder.endTime) { "A non-null value must be provided for endTime" }
/**
* Name of a ground station.
*/
public val groundStation: kotlin.String = requireNotNull(builder.groundStation) { "A non-null value must be provided for groundStation" }
/**
* ARN of a mission profile.
*/
public val missionProfileArn: kotlin.String = requireNotNull(builder.missionProfileArn) { "A non-null value must be provided for missionProfileArn" }
/**
* ARN of a satellite
*/
public val satelliteArn: kotlin.String = requireNotNull(builder.satelliteArn) { "A non-null value must be provided for satelliteArn" }
/**
* Start time of a contact in UTC.
*/
public val startTime: aws.smithy.kotlin.runtime.time.Instant = requireNotNull(builder.startTime) { "A non-null value must be provided for startTime" }
/**
* Tags assigned to a contact.
*/
public val tags: Map? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.groundstation.model.ReserveContactRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("ReserveContactRequest(")
append("endTime=$endTime,")
append("groundStation=$groundStation,")
append("missionProfileArn=$missionProfileArn,")
append("satelliteArn=$satelliteArn,")
append("startTime=$startTime,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = endTime.hashCode()
result = 31 * result + (groundStation.hashCode())
result = 31 * result + (missionProfileArn.hashCode())
result = 31 * result + (satelliteArn.hashCode())
result = 31 * result + (startTime.hashCode())
result = 31 * result + (tags?.hashCode() ?: 0)
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 ReserveContactRequest
if (endTime != other.endTime) return false
if (groundStation != other.groundStation) return false
if (missionProfileArn != other.missionProfileArn) return false
if (satelliteArn != other.satelliteArn) return false
if (startTime != other.startTime) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.groundstation.model.ReserveContactRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* End time of a contact in UTC.
*/
public var endTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* Name of a ground station.
*/
public var groundStation: kotlin.String? = null
/**
* ARN of a mission profile.
*/
public var missionProfileArn: kotlin.String? = null
/**
* ARN of a satellite
*/
public var satelliteArn: kotlin.String? = null
/**
* Start time of a contact in UTC.
*/
public var startTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* Tags assigned to a contact.
*/
public var tags: Map? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.groundstation.model.ReserveContactRequest) : this() {
this.endTime = x.endTime
this.groundStation = x.groundStation
this.missionProfileArn = x.missionProfileArn
this.satelliteArn = x.satelliteArn
this.startTime = x.startTime
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.groundstation.model.ReserveContactRequest = ReserveContactRequest(this)
internal fun correctErrors(): Builder {
if (endTime == null) endTime = Instant.fromEpochSeconds(0)
if (groundStation == null) groundStation = ""
if (missionProfileArn == null) missionProfileArn = ""
if (satelliteArn == null) satelliteArn = ""
if (startTime == null) startTime = Instant.fromEpochSeconds(0)
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy