commonMain.aws.sdk.kotlin.services.redshift.model.CreateRedshiftIdcApplicationRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift-jvm Show documentation
Show all versions of redshift-jvm Show documentation
The AWS SDK for Kotlin client for Redshift
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.redshift.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateRedshiftIdcApplicationRequest private constructor(builder: Builder) {
/**
* The token issuer list for the Amazon Redshift IAM Identity Center application instance.
*/
public val authorizedTokenIssuerList: List? = builder.authorizedTokenIssuerList
/**
* The IAM role ARN for the Amazon Redshift IAM Identity Center application instance. It has the required permissions to be assumed and invoke the IDC Identity Center API.
*/
public val iamRoleArn: kotlin.String? = builder.iamRoleArn
/**
* The display name for the Amazon Redshift IAM Identity Center application instance. It appears in the console.
*/
public val idcDisplayName: kotlin.String? = builder.idcDisplayName
/**
* The Amazon resource name (ARN) of the IAM Identity Center instance where Amazon Redshift creates a new managed application.
*/
public val idcInstanceArn: kotlin.String? = builder.idcInstanceArn
/**
* The namespace for the Amazon Redshift IAM Identity Center application instance. It determines which managed application verifies the connection token.
*/
public val identityNamespace: kotlin.String? = builder.identityNamespace
/**
* The name of the Redshift application in IAM Identity Center.
*/
public val redshiftIdcApplicationName: kotlin.String? = builder.redshiftIdcApplicationName
/**
* A collection of service integrations for the Redshift IAM Identity Center application.
*/
public val serviceIntegrations: List? = builder.serviceIntegrations
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.redshift.model.CreateRedshiftIdcApplicationRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateRedshiftIdcApplicationRequest(")
append("authorizedTokenIssuerList=$authorizedTokenIssuerList,")
append("iamRoleArn=$iamRoleArn,")
append("idcDisplayName=$idcDisplayName,")
append("idcInstanceArn=$idcInstanceArn,")
append("identityNamespace=$identityNamespace,")
append("redshiftIdcApplicationName=$redshiftIdcApplicationName,")
append("serviceIntegrations=$serviceIntegrations")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = authorizedTokenIssuerList?.hashCode() ?: 0
result = 31 * result + (iamRoleArn?.hashCode() ?: 0)
result = 31 * result + (idcDisplayName?.hashCode() ?: 0)
result = 31 * result + (idcInstanceArn?.hashCode() ?: 0)
result = 31 * result + (identityNamespace?.hashCode() ?: 0)
result = 31 * result + (redshiftIdcApplicationName?.hashCode() ?: 0)
result = 31 * result + (serviceIntegrations?.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 CreateRedshiftIdcApplicationRequest
if (authorizedTokenIssuerList != other.authorizedTokenIssuerList) return false
if (iamRoleArn != other.iamRoleArn) return false
if (idcDisplayName != other.idcDisplayName) return false
if (idcInstanceArn != other.idcInstanceArn) return false
if (identityNamespace != other.identityNamespace) return false
if (redshiftIdcApplicationName != other.redshiftIdcApplicationName) return false
if (serviceIntegrations != other.serviceIntegrations) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.redshift.model.CreateRedshiftIdcApplicationRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The token issuer list for the Amazon Redshift IAM Identity Center application instance.
*/
public var authorizedTokenIssuerList: List? = null
/**
* The IAM role ARN for the Amazon Redshift IAM Identity Center application instance. It has the required permissions to be assumed and invoke the IDC Identity Center API.
*/
public var iamRoleArn: kotlin.String? = null
/**
* The display name for the Amazon Redshift IAM Identity Center application instance. It appears in the console.
*/
public var idcDisplayName: kotlin.String? = null
/**
* The Amazon resource name (ARN) of the IAM Identity Center instance where Amazon Redshift creates a new managed application.
*/
public var idcInstanceArn: kotlin.String? = null
/**
* The namespace for the Amazon Redshift IAM Identity Center application instance. It determines which managed application verifies the connection token.
*/
public var identityNamespace: kotlin.String? = null
/**
* The name of the Redshift application in IAM Identity Center.
*/
public var redshiftIdcApplicationName: kotlin.String? = null
/**
* A collection of service integrations for the Redshift IAM Identity Center application.
*/
public var serviceIntegrations: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.redshift.model.CreateRedshiftIdcApplicationRequest) : this() {
this.authorizedTokenIssuerList = x.authorizedTokenIssuerList
this.iamRoleArn = x.iamRoleArn
this.idcDisplayName = x.idcDisplayName
this.idcInstanceArn = x.idcInstanceArn
this.identityNamespace = x.identityNamespace
this.redshiftIdcApplicationName = x.redshiftIdcApplicationName
this.serviceIntegrations = x.serviceIntegrations
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.redshift.model.CreateRedshiftIdcApplicationRequest = CreateRedshiftIdcApplicationRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}