commonMain.aws.sdk.kotlin.services.ssoadmin.model.CreateInstanceAccessControlAttributeConfigurationRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ssoadmin-jvm Show documentation
Show all versions of ssoadmin-jvm Show documentation
The AWS SDK for Kotlin client for SSO Admin
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.ssoadmin.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateInstanceAccessControlAttributeConfigurationRequest private constructor(builder: Builder) {
/**
* Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.
*/
public val instanceAccessControlAttributeConfiguration: aws.sdk.kotlin.services.ssoadmin.model.InstanceAccessControlAttributeConfiguration? = builder.instanceAccessControlAttributeConfiguration
/**
* The ARN of the IAM Identity Center instance under which the operation will be executed.
*/
public val instanceArn: kotlin.String? = builder.instanceArn
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ssoadmin.model.CreateInstanceAccessControlAttributeConfigurationRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateInstanceAccessControlAttributeConfigurationRequest(")
append("instanceAccessControlAttributeConfiguration=$instanceAccessControlAttributeConfiguration,")
append("instanceArn=$instanceArn")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = instanceAccessControlAttributeConfiguration?.hashCode() ?: 0
result = 31 * result + (instanceArn?.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 CreateInstanceAccessControlAttributeConfigurationRequest
if (instanceAccessControlAttributeConfiguration != other.instanceAccessControlAttributeConfiguration) return false
if (instanceArn != other.instanceArn) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ssoadmin.model.CreateInstanceAccessControlAttributeConfigurationRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.
*/
public var instanceAccessControlAttributeConfiguration: aws.sdk.kotlin.services.ssoadmin.model.InstanceAccessControlAttributeConfiguration? = null
/**
* The ARN of the IAM Identity Center instance under which the operation will be executed.
*/
public var instanceArn: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.ssoadmin.model.CreateInstanceAccessControlAttributeConfigurationRequest) : this() {
this.instanceAccessControlAttributeConfiguration = x.instanceAccessControlAttributeConfiguration
this.instanceArn = x.instanceArn
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.ssoadmin.model.CreateInstanceAccessControlAttributeConfigurationRequest = CreateInstanceAccessControlAttributeConfigurationRequest(this)
/**
* construct an [aws.sdk.kotlin.services.ssoadmin.model.InstanceAccessControlAttributeConfiguration] inside the given [block]
*/
public fun instanceAccessControlAttributeConfiguration(block: aws.sdk.kotlin.services.ssoadmin.model.InstanceAccessControlAttributeConfiguration.Builder.() -> kotlin.Unit) {
this.instanceAccessControlAttributeConfiguration = aws.sdk.kotlin.services.ssoadmin.model.InstanceAccessControlAttributeConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}