All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.kinesisvideo.model.StartEdgeConfigurationUpdateResponse.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.kinesisvideo.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

public class StartEdgeConfigurationUpdateResponse private constructor(builder: Builder) {
    /**
     * The timestamp at which a stream’s edge configuration was first created.
     */
    public val creationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.creationTime
    /**
     * A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.
     */
    public val edgeConfig: aws.sdk.kotlin.services.kinesisvideo.model.EdgeConfig? = builder.edgeConfig
    /**
     * A description of the generated failure status.
     */
    public val failedStatusDetails: kotlin.String? = builder.failedStatusDetails
    /**
     * The timestamp at which a stream’s edge configuration was last updated.
     */
    public val lastUpdatedTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdatedTime
    /**
     * The Amazon Resource Name (ARN) of the stream.
     */
    public val streamArn: kotlin.String? = builder.streamArn
    /**
     * The name of the stream from which the edge configuration was updated.
     */
    public val streamName: kotlin.String? = builder.streamName
    /**
     * The current sync status of the stream's edge configuration. When you invoke this API, the sync status will be set to the `SYNCING` state. Use the `DescribeEdgeConfiguration` API to get the latest status of the edge configuration.
     */
    public val syncStatus: aws.sdk.kotlin.services.kinesisvideo.model.SyncStatus? = builder.syncStatus

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.kinesisvideo.model.StartEdgeConfigurationUpdateResponse = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("StartEdgeConfigurationUpdateResponse(")
        append("creationTime=$creationTime,")
        append("edgeConfig=$edgeConfig,")
        append("failedStatusDetails=$failedStatusDetails,")
        append("lastUpdatedTime=$lastUpdatedTime,")
        append("streamArn=$streamArn,")
        append("streamName=$streamName,")
        append("syncStatus=$syncStatus")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = creationTime?.hashCode() ?: 0
        result = 31 * result + (edgeConfig?.hashCode() ?: 0)
        result = 31 * result + (failedStatusDetails?.hashCode() ?: 0)
        result = 31 * result + (lastUpdatedTime?.hashCode() ?: 0)
        result = 31 * result + (streamArn?.hashCode() ?: 0)
        result = 31 * result + (streamName?.hashCode() ?: 0)
        result = 31 * result + (syncStatus?.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 StartEdgeConfigurationUpdateResponse

        if (creationTime != other.creationTime) return false
        if (edgeConfig != other.edgeConfig) return false
        if (failedStatusDetails != other.failedStatusDetails) return false
        if (lastUpdatedTime != other.lastUpdatedTime) return false
        if (streamArn != other.streamArn) return false
        if (streamName != other.streamName) return false
        if (syncStatus != other.syncStatus) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.kinesisvideo.model.StartEdgeConfigurationUpdateResponse = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * The timestamp at which a stream’s edge configuration was first created.
         */
        public var creationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.
         */
        public var edgeConfig: aws.sdk.kotlin.services.kinesisvideo.model.EdgeConfig? = null
        /**
         * A description of the generated failure status.
         */
        public var failedStatusDetails: kotlin.String? = null
        /**
         * The timestamp at which a stream’s edge configuration was last updated.
         */
        public var lastUpdatedTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The Amazon Resource Name (ARN) of the stream.
         */
        public var streamArn: kotlin.String? = null
        /**
         * The name of the stream from which the edge configuration was updated.
         */
        public var streamName: kotlin.String? = null
        /**
         * The current sync status of the stream's edge configuration. When you invoke this API, the sync status will be set to the `SYNCING` state. Use the `DescribeEdgeConfiguration` API to get the latest status of the edge configuration.
         */
        public var syncStatus: aws.sdk.kotlin.services.kinesisvideo.model.SyncStatus? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kinesisvideo.model.StartEdgeConfigurationUpdateResponse) : this() {
            this.creationTime = x.creationTime
            this.edgeConfig = x.edgeConfig
            this.failedStatusDetails = x.failedStatusDetails
            this.lastUpdatedTime = x.lastUpdatedTime
            this.streamArn = x.streamArn
            this.streamName = x.streamName
            this.syncStatus = x.syncStatus
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.kinesisvideo.model.StartEdgeConfigurationUpdateResponse = StartEdgeConfigurationUpdateResponse(this)

        /**
         * construct an [aws.sdk.kotlin.services.kinesisvideo.model.EdgeConfig] inside the given [block]
         */
        public fun edgeConfig(block: aws.sdk.kotlin.services.kinesisvideo.model.EdgeConfig.Builder.() -> kotlin.Unit) {
            this.edgeConfig = aws.sdk.kotlin.services.kinesisvideo.model.EdgeConfig.invoke(block)
        }

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy