
commonMain.aws.sdk.kotlin.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.quicksight.model
class GenerateEmbedUrlForAnonymousUserRequest private constructor(builder: Builder) {
/**
* The Amazon Resource Names for the Amazon QuickSight resources that the user is authorized to access during the lifetime of the session. If you choose `Dashboard` embedding experience, pass the list of dashboard ARNs in the account that you want the user to be able to view.
*/
val authorizedResourceArns: List? = builder.authorizedResourceArns
/**
* The ID for the Amazon Web Services account that contains the dashboard that you're embedding.
*/
val awsAccountId: kotlin.String? = builder.awsAccountId
/**
* The configuration of the experience you are embedding.
*/
val experienceConfiguration: aws.sdk.kotlin.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration? = builder.experienceConfiguration
/**
* The Amazon QuickSight namespace that the anonymous user virtually belongs to. If you are not using an Amazon QuickSight custom namespace, set this to `default`.
*/
val namespace: kotlin.String? = builder.namespace
/**
* How many minutes the session is valid. The session lifetime must be in [15-600] minutes range.
*/
val sessionLifetimeInMinutes: kotlin.Long? = builder.sessionLifetimeInMinutes
/**
* The session tags used for row-level security. Before you use this parameter, make sure that you have configured the relevant datasets using the `DataSet$RowLevelPermissionTagConfiguration` parameter so that session tags can be used to provide row-level security.
*
* These are not the tags used for the Amazon Web Services resource tagging feature. For more information, see [Using Row-Level Security (RLS) with Tags](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-rls-tags.html).
*/
val sessionTags: List? = builder.sessionTags
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("GenerateEmbedUrlForAnonymousUserRequest(")
append("authorizedResourceArns=$authorizedResourceArns,")
append("awsAccountId=$awsAccountId,")
append("experienceConfiguration=$experienceConfiguration,")
append("namespace=$namespace,")
append("sessionLifetimeInMinutes=$sessionLifetimeInMinutes,")
append("sessionTags=$sessionTags)")
}
override fun hashCode(): kotlin.Int {
var result = authorizedResourceArns?.hashCode() ?: 0
result = 31 * result + (awsAccountId?.hashCode() ?: 0)
result = 31 * result + (experienceConfiguration?.hashCode() ?: 0)
result = 31 * result + (namespace?.hashCode() ?: 0)
result = 31 * result + (sessionLifetimeInMinutes?.hashCode() ?: 0)
result = 31 * result + (sessionTags?.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 GenerateEmbedUrlForAnonymousUserRequest
if (authorizedResourceArns != other.authorizedResourceArns) return false
if (awsAccountId != other.awsAccountId) return false
if (experienceConfiguration != other.experienceConfiguration) return false
if (namespace != other.namespace) return false
if (sessionLifetimeInMinutes != other.sessionLifetimeInMinutes) return false
if (sessionTags != other.sessionTags) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest = Builder(this).apply(block).build()
class Builder {
/**
* The Amazon Resource Names for the Amazon QuickSight resources that the user is authorized to access during the lifetime of the session. If you choose `Dashboard` embedding experience, pass the list of dashboard ARNs in the account that you want the user to be able to view.
*/
var authorizedResourceArns: List? = null
/**
* The ID for the Amazon Web Services account that contains the dashboard that you're embedding.
*/
var awsAccountId: kotlin.String? = null
/**
* The configuration of the experience you are embedding.
*/
var experienceConfiguration: aws.sdk.kotlin.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration? = null
/**
* The Amazon QuickSight namespace that the anonymous user virtually belongs to. If you are not using an Amazon QuickSight custom namespace, set this to `default`.
*/
var namespace: kotlin.String? = null
/**
* How many minutes the session is valid. The session lifetime must be in [15-600] minutes range.
*/
var sessionLifetimeInMinutes: kotlin.Long? = null
/**
* The session tags used for row-level security. Before you use this parameter, make sure that you have configured the relevant datasets using the `DataSet$RowLevelPermissionTagConfiguration` parameter so that session tags can be used to provide row-level security.
*
* These are not the tags used for the Amazon Web Services resource tagging feature. For more information, see [Using Row-Level Security (RLS) with Tags](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-rls-tags.html).
*/
var sessionTags: List? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest) : this() {
this.authorizedResourceArns = x.authorizedResourceArns
this.awsAccountId = x.awsAccountId
this.experienceConfiguration = x.experienceConfiguration
this.namespace = x.namespace
this.sessionLifetimeInMinutes = x.sessionLifetimeInMinutes
this.sessionTags = x.sessionTags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest = GenerateEmbedUrlForAnonymousUserRequest(this)
/**
* construct an [aws.sdk.kotlin.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration] inside the given [block]
*/
fun experienceConfiguration(block: aws.sdk.kotlin.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration.Builder.() -> kotlin.Unit) {
this.experienceConfiguration = aws.sdk.kotlin.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy