
commonMain.aws.sdk.kotlin.services.emr.model.CreateStudioSessionMappingRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.emr.model
public class CreateStudioSessionMappingRequest private constructor(builder: Builder) {
/**
* The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity Store. For more information, see [UserId](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) and [GroupId](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) in the *Amazon Web Services SSO Identity Store API Reference*. Either `IdentityName` or `IdentityId` must be specified, but not both.
*/
public val identityId: kotlin.String? = builder.identityId
/**
* The name of the user or group. For more information, see [UserName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) and [DisplayName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) in the *Amazon Web Services SSO Identity Store API Reference*. Either `IdentityName` or `IdentityId` must be specified, but not both.
*/
public val identityName: kotlin.String? = builder.identityName
/**
* Specifies whether the identity to map to the Amazon EMR Studio is a user or a group.
*/
public val identityType: aws.sdk.kotlin.services.emr.model.IdentityType? = builder.identityType
/**
* The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. You should specify the ARN for the session policy that you want to apply, not the ARN of your user role. For more information, see [Create an EMR Studio User Role with Session Policies](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-role.html).
*/
public val sessionPolicyArn: kotlin.String? = builder.sessionPolicyArn
/**
* The ID of the Amazon EMR Studio to which the user or group will be mapped.
*/
public val studioId: kotlin.String? = builder.studioId
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.emr.model.CreateStudioSessionMappingRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateStudioSessionMappingRequest(")
append("identityId=$identityId,")
append("identityName=$identityName,")
append("identityType=$identityType,")
append("sessionPolicyArn=$sessionPolicyArn,")
append("studioId=$studioId)")
}
override fun hashCode(): kotlin.Int {
var result = identityId?.hashCode() ?: 0
result = 31 * result + (identityName?.hashCode() ?: 0)
result = 31 * result + (identityType?.hashCode() ?: 0)
result = 31 * result + (sessionPolicyArn?.hashCode() ?: 0)
result = 31 * result + (studioId?.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 CreateStudioSessionMappingRequest
if (identityId != other.identityId) return false
if (identityName != other.identityName) return false
if (identityType != other.identityType) return false
if (sessionPolicyArn != other.sessionPolicyArn) return false
if (studioId != other.studioId) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.emr.model.CreateStudioSessionMappingRequest = Builder(this).apply(block).build()
public class Builder {
/**
* The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity Store. For more information, see [UserId](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) and [GroupId](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) in the *Amazon Web Services SSO Identity Store API Reference*. Either `IdentityName` or `IdentityId` must be specified, but not both.
*/
public var identityId: kotlin.String? = null
/**
* The name of the user or group. For more information, see [UserName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) and [DisplayName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) in the *Amazon Web Services SSO Identity Store API Reference*. Either `IdentityName` or `IdentityId` must be specified, but not both.
*/
public var identityName: kotlin.String? = null
/**
* Specifies whether the identity to map to the Amazon EMR Studio is a user or a group.
*/
public var identityType: aws.sdk.kotlin.services.emr.model.IdentityType? = null
/**
* The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. You should specify the ARN for the session policy that you want to apply, not the ARN of your user role. For more information, see [Create an EMR Studio User Role with Session Policies](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-role.html).
*/
public var sessionPolicyArn: kotlin.String? = null
/**
* The ID of the Amazon EMR Studio to which the user or group will be mapped.
*/
public var studioId: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.emr.model.CreateStudioSessionMappingRequest) : this() {
this.identityId = x.identityId
this.identityName = x.identityName
this.identityType = x.identityType
this.sessionPolicyArn = x.sessionPolicyArn
this.studioId = x.studioId
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.emr.model.CreateStudioSessionMappingRequest = CreateStudioSessionMappingRequest(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy