commonMain.aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkInstanceRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tnb-jvm Show documentation
Show all versions of tnb-jvm Show documentation
The AWS SDK for Kotlin client for tnb
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.tnb.model
import aws.smithy.kotlin.runtime.SdkDsl
public class UpdateSolNetworkInstanceRequest private constructor(builder: Builder) {
/**
* Identifies the network function information parameters and/or the configurable properties of the network function to be modified.
*
* Include this property only if the update type is `MODIFY_VNF_INFORMATION`.
*/
public val modifyVnfInfoData: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkModify? = builder.modifyVnfInfoData
/**
* 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
/**
* Identifies the network service descriptor and the configurable properties of the descriptor, to be used for the update.
*
* Include this property only if the update type is `UPDATE_NS`.
*/
public val updateNs: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkServiceData? = builder.updateNs
/**
* The type of update.
* + Use the `MODIFY_VNF_INFORMATION` update type, to update a specific network function configuration, in the network instance.
* + Use the `UPDATE_NS` update type, to update the network instance to a new network service descriptor.
*/
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.UpdateSolNetworkInstanceRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("UpdateSolNetworkInstanceRequest(")
append("modifyVnfInfoData=$modifyVnfInfoData,")
append("nsInstanceId=$nsInstanceId,")
append("tags=*** Sensitive Data Redacted ***,")
append("updateNs=$updateNs,")
append("updateType=$updateType")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = modifyVnfInfoData?.hashCode() ?: 0
result = 31 * result + (nsInstanceId?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
result = 31 * result + (updateNs?.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 UpdateSolNetworkInstanceRequest
if (modifyVnfInfoData != other.modifyVnfInfoData) return false
if (nsInstanceId != other.nsInstanceId) return false
if (tags != other.tags) return false
if (updateNs != other.updateNs) return false
if (updateType != other.updateType) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkInstanceRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Identifies the network function information parameters and/or the configurable properties of the network function to be modified.
*
* Include this property only if the update type is `MODIFY_VNF_INFORMATION`.
*/
public var modifyVnfInfoData: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkModify? = 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
/**
* Identifies the network service descriptor and the configurable properties of the descriptor, to be used for the update.
*
* Include this property only if the update type is `UPDATE_NS`.
*/
public var updateNs: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkServiceData? = null
/**
* The type of update.
* + Use the `MODIFY_VNF_INFORMATION` update type, to update a specific network function configuration, in the network instance.
* + Use the `UPDATE_NS` update type, to update the network instance to a new network service descriptor.
*/
public var updateType: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkType? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkInstanceRequest) : this() {
this.modifyVnfInfoData = x.modifyVnfInfoData
this.nsInstanceId = x.nsInstanceId
this.tags = x.tags
this.updateNs = x.updateNs
this.updateType = x.updateType
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkInstanceRequest = UpdateSolNetworkInstanceRequest(this)
/**
* construct an [aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkModify] inside the given [block]
*/
public fun modifyVnfInfoData(block: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkModify.Builder.() -> kotlin.Unit) {
this.modifyVnfInfoData = aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkModify.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkServiceData] inside the given [block]
*/
public fun updateNs(block: aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkServiceData.Builder.() -> kotlin.Unit) {
this.updateNs = aws.sdk.kotlin.services.tnb.model.UpdateSolNetworkServiceData.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}