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

commonMain.aws.sdk.kotlin.services.tnb.model.GetSolNetworkOperationResponse.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.tnb.model

import aws.smithy.kotlin.runtime.SdkDsl

public class GetSolNetworkOperationResponse private constructor(builder: Builder) {
    /**
     * Network operation ARN.
     */
    public val arn: kotlin.String = requireNotNull(builder.arn) { "A non-null value must be provided for arn" }
    /**
     * Error related to this specific network operation occurrence.
     */
    public val error: aws.sdk.kotlin.services.tnb.model.ProblemDetails? = builder.error
    /**
     * ID of this network operation occurrence.
     */
    public val id: kotlin.String? = builder.id
    /**
     * Type of the operation represented by this occurrence.
     */
    public val lcmOperationType: aws.sdk.kotlin.services.tnb.model.LcmOperationType? = builder.lcmOperationType
    /**
     * Metadata of this network operation occurrence.
     */
    public val metadata: aws.sdk.kotlin.services.tnb.model.GetSolNetworkOperationMetadata? = builder.metadata
    /**
     * ID of the network operation instance.
     */
    public val nsInstanceId: kotlin.String? = builder.nsInstanceId
    /**
     * The state of the network operation.
     */
    public val operationState: aws.sdk.kotlin.services.tnb.model.NsLcmOperationState? = builder.operationState
    /**
     * A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.
     */
    public val tags: Map? = builder.tags
    /**
     * All tasks associated with this operation occurrence.
     */
    public val tasks: List? = builder.tasks
    /**
     * Type of the update. Only present if the network operation lcmOperationType is `UPDATE`.
     */
    public val updateType: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkType? = builder.updateType

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

    override fun toString(): kotlin.String = buildString {
        append("GetSolNetworkOperationResponse(")
        append("arn=$arn,")
        append("error=$error,")
        append("id=$id,")
        append("lcmOperationType=$lcmOperationType,")
        append("metadata=$metadata,")
        append("nsInstanceId=$nsInstanceId,")
        append("operationState=$operationState,")
        append("tags=*** Sensitive Data Redacted ***,")
        append("tasks=$tasks,")
        append("updateType=$updateType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = arn.hashCode()
        result = 31 * result + (error?.hashCode() ?: 0)
        result = 31 * result + (id?.hashCode() ?: 0)
        result = 31 * result + (lcmOperationType?.hashCode() ?: 0)
        result = 31 * result + (metadata?.hashCode() ?: 0)
        result = 31 * result + (nsInstanceId?.hashCode() ?: 0)
        result = 31 * result + (operationState?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (tasks?.hashCode() ?: 0)
        result = 31 * result + (updateType?.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 GetSolNetworkOperationResponse

        if (arn != other.arn) return false
        if (error != other.error) return false
        if (id != other.id) return false
        if (lcmOperationType != other.lcmOperationType) return false
        if (metadata != other.metadata) return false
        if (nsInstanceId != other.nsInstanceId) return false
        if (operationState != other.operationState) return false
        if (tags != other.tags) return false
        if (tasks != other.tasks) return false
        if (updateType != other.updateType) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Network operation ARN.
         */
        public var arn: kotlin.String? = null
        /**
         * Error related to this specific network operation occurrence.
         */
        public var error: aws.sdk.kotlin.services.tnb.model.ProblemDetails? = null
        /**
         * ID of this network operation occurrence.
         */
        public var id: kotlin.String? = null
        /**
         * Type of the operation represented by this occurrence.
         */
        public var lcmOperationType: aws.sdk.kotlin.services.tnb.model.LcmOperationType? = null
        /**
         * Metadata of this network operation occurrence.
         */
        public var metadata: aws.sdk.kotlin.services.tnb.model.GetSolNetworkOperationMetadata? = null
        /**
         * ID of the network operation instance.
         */
        public var nsInstanceId: kotlin.String? = null
        /**
         * The state of the network operation.
         */
        public var operationState: aws.sdk.kotlin.services.tnb.model.NsLcmOperationState? = null
        /**
         * A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.
         */
        public var tags: Map? = null
        /**
         * All tasks associated with this operation occurrence.
         */
        public var tasks: List? = null
        /**
         * Type of the update. Only present if the network operation lcmOperationType is `UPDATE`.
         */
        public var updateType: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.tnb.model.GetSolNetworkOperationResponse) : this() {
            this.arn = x.arn
            this.error = x.error
            this.id = x.id
            this.lcmOperationType = x.lcmOperationType
            this.metadata = x.metadata
            this.nsInstanceId = x.nsInstanceId
            this.operationState = x.operationState
            this.tags = x.tags
            this.tasks = x.tasks
            this.updateType = x.updateType
        }

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

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

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

        internal fun correctErrors(): Builder {
            if (arn == null) arn = ""
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy