All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.neptune.model.DbClusterRole.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.neptune.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Describes an Amazon Identity and Access Management (IAM) role that is associated with a DB cluster.
 */
public class DbClusterRole private constructor(builder: Builder) {
    /**
     * The name of the feature associated with the Amazon Identity and Access Management (IAM) role. For the list of supported feature names, see DescribeDBEngineVersions.
     */
    public val featureName: kotlin.String? = builder.featureName
    /**
     * The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.
     */
    public val roleArn: kotlin.String? = builder.roleArn
    /**
     * Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:
     * + `ACTIVE` - the IAM role ARN is associated with the DB cluster and can be used to access other Amazon services on your behalf.
     * + `PENDING` - the IAM role ARN is being associated with the DB cluster.
     * + `INVALID` - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other Amazon services on your behalf.
     */
    public val status: kotlin.String? = builder.status

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.neptune.model.DbClusterRole = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("DbClusterRole(")
        append("featureName=$featureName,")
        append("roleArn=$roleArn,")
        append("status=$status")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = featureName?.hashCode() ?: 0
        result = 31 * result + (roleArn?.hashCode() ?: 0)
        result = 31 * result + (status?.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 DbClusterRole

        if (featureName != other.featureName) return false
        if (roleArn != other.roleArn) return false
        if (status != other.status) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.neptune.model.DbClusterRole = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * The name of the feature associated with the Amazon Identity and Access Management (IAM) role. For the list of supported feature names, see DescribeDBEngineVersions.
         */
        public var featureName: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.
         */
        public var roleArn: kotlin.String? = null
        /**
         * Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:
         * + `ACTIVE` - the IAM role ARN is associated with the DB cluster and can be used to access other Amazon services on your behalf.
         * + `PENDING` - the IAM role ARN is being associated with the DB cluster.
         * + `INVALID` - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other Amazon services on your behalf.
         */
        public var status: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.neptune.model.DbClusterRole) : this() {
            this.featureName = x.featureName
            this.roleArn = x.roleArn
            this.status = x.status
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.neptune.model.DbClusterRole = DbClusterRole(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy