commonMain.aws.sdk.kotlin.services.nimble.model.StudioMembership.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of nimble-jvm Show documentation
Show all versions of nimble-jvm Show documentation
The AWS SDK for Kotlin client for nimble
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.nimble.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* A studio member is an association of a user from your studio identity source to elevated permissions that they are granted in the studio.
*
* When you add a user to your studio using the Nimble Studio console, they are given access to the studio's IAM Identity Center application and are given access to log in to the Nimble Studio portal. These users have the permissions provided by the studio's user IAM role and do not appear in the studio membership collection. Only studio admins appear in studio membership.
*
* When you add a user to studio membership with the ADMIN persona, upon logging in to the Nimble Studio portal, they are granted permissions specified by the Studio's Admin IAM role.
*/
public class StudioMembership private constructor(builder: Builder) {
/**
* The ID of the identity store.
*/
public val identityStoreId: kotlin.String? = builder.identityStoreId
/**
* The persona.
*/
public val persona: aws.sdk.kotlin.services.nimble.model.StudioPersona? = builder.persona
/**
* The principal ID.
*/
public val principalId: kotlin.String? = builder.principalId
/**
* The Active Directory Security Identifier for this user, if available.
*/
public val sid: kotlin.String? = builder.sid
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.nimble.model.StudioMembership = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("StudioMembership(")
append("identityStoreId=$identityStoreId,")
append("persona=$persona,")
append("principalId=$principalId,")
append("sid=$sid")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = identityStoreId?.hashCode() ?: 0
result = 31 * result + (persona?.hashCode() ?: 0)
result = 31 * result + (principalId?.hashCode() ?: 0)
result = 31 * result + (sid?.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 StudioMembership
if (identityStoreId != other.identityStoreId) return false
if (persona != other.persona) return false
if (principalId != other.principalId) return false
if (sid != other.sid) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.nimble.model.StudioMembership = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ID of the identity store.
*/
public var identityStoreId: kotlin.String? = null
/**
* The persona.
*/
public var persona: aws.sdk.kotlin.services.nimble.model.StudioPersona? = null
/**
* The principal ID.
*/
public var principalId: kotlin.String? = null
/**
* The Active Directory Security Identifier for this user, if available.
*/
public var sid: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.nimble.model.StudioMembership) : this() {
this.identityStoreId = x.identityStoreId
this.persona = x.persona
this.principalId = x.principalId
this.sid = x.sid
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.nimble.model.StudioMembership = StudioMembership(this)
internal fun correctErrors(): Builder {
return this
}
}
}