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

commonMain.aws.sdk.kotlin.services.tnb.model.InstantiateSolNetworkInstanceRequest.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
import aws.smithy.kotlin.runtime.content.Document

public class InstantiateSolNetworkInstanceRequest private constructor(builder: Builder) {
    /**
     * Provides values for the configurable properties.
     */
    public val additionalParamsForNs: aws.smithy.kotlin.runtime.content.Document? = builder.additionalParamsForNs
    /**
     * A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
     */
    public val dryRun: kotlin.Boolean? = builder.dryRun
    /**
     * ID of the network instance.
     */
    public val nsInstanceId: kotlin.String? = builder.nsInstanceId
    /**
     * A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are only applied to the network operation that is created. These tags are not applied to the network instance. Use tags to search and filter your resources or track your Amazon Web Services costs.
     */
    public val tags: Map? = builder.tags

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

    override fun toString(): kotlin.String = buildString {
        append("InstantiateSolNetworkInstanceRequest(")
        append("additionalParamsForNs=$additionalParamsForNs,")
        append("dryRun=$dryRun,")
        append("nsInstanceId=$nsInstanceId,")
        append("tags=*** Sensitive Data Redacted ***")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = additionalParamsForNs?.hashCode() ?: 0
        result = 31 * result + (dryRun?.hashCode() ?: 0)
        result = 31 * result + (nsInstanceId?.hashCode() ?: 0)
        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 InstantiateSolNetworkInstanceRequest

        if (additionalParamsForNs != other.additionalParamsForNs) return false
        if (dryRun != other.dryRun) return false
        if (nsInstanceId != other.nsInstanceId) return false
        if (tags != other.tags) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Provides values for the configurable properties.
         */
        public var additionalParamsForNs: aws.smithy.kotlin.runtime.content.Document? = null
        /**
         * A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
         */
        public var dryRun: kotlin.Boolean? = null
        /**
         * ID of the network instance.
         */
        public var nsInstanceId: kotlin.String? = 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. When you use this API, the tags are only applied to the network operation that is created. These tags are not applied to the network instance. Use tags to search and filter your resources or track your Amazon Web Services costs.
         */
        public var tags: Map? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.tnb.model.InstantiateSolNetworkInstanceRequest) : this() {
            this.additionalParamsForNs = x.additionalParamsForNs
            this.dryRun = x.dryRun
            this.nsInstanceId = x.nsInstanceId
            this.tags = x.tags
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy