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

commonMain.aws.sdk.kotlin.services.quicksight.model.DescribeDashboardPermissionsResponse.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.quicksight.model



class DescribeDashboardPermissionsResponse private constructor(builder: Builder) {
    /**
     * The Amazon Resource Name (ARN) of the dashboard.
     */
    val dashboardArn: kotlin.String? = builder.dashboardArn
    /**
     * The ID for the dashboard.
     */
    val dashboardId: kotlin.String? = builder.dashboardId
    /**
     * A structure that contains the configuration of a shareable link that grants access to the dashboard. Your users can use the link to view and interact with the dashboard, if the dashboard has been shared with them. For more information about sharing dashboards, see [Sharing Dashboards](https://docs.aws.amazon.com/quicksight/latest/user/sharing-a-dashboard.html).
     */
    val linkSharingConfiguration: aws.sdk.kotlin.services.quicksight.model.LinkSharingConfiguration? = builder.linkSharingConfiguration
    /**
     * A structure that contains the permissions for the dashboard.
     */
    val permissions: List? = builder.permissions
    /**
     * The Amazon Web Services request ID for this operation.
     */
    val requestId: kotlin.String? = builder.requestId
    /**
     * The HTTP status of the request.
     */
    val status: kotlin.Int = builder.status

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

    override fun toString(): kotlin.String = buildString {
        append("DescribeDashboardPermissionsResponse(")
        append("dashboardArn=$dashboardArn,")
        append("dashboardId=$dashboardId,")
        append("linkSharingConfiguration=$linkSharingConfiguration,")
        append("permissions=$permissions,")
        append("requestId=$requestId,")
        append("status=$status)")
    }

    override fun hashCode(): kotlin.Int {
        var result = dashboardArn?.hashCode() ?: 0
        result = 31 * result + (dashboardId?.hashCode() ?: 0)
        result = 31 * result + (linkSharingConfiguration?.hashCode() ?: 0)
        result = 31 * result + (permissions?.hashCode() ?: 0)
        result = 31 * result + (requestId?.hashCode() ?: 0)
        result = 31 * result + (status)
        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 DescribeDashboardPermissionsResponse

        if (dashboardArn != other.dashboardArn) return false
        if (dashboardId != other.dashboardId) return false
        if (linkSharingConfiguration != other.linkSharingConfiguration) return false
        if (permissions != other.permissions) return false
        if (requestId != other.requestId) return false
        if (status != other.status) return false

        return true
    }

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

    class Builder {
        /**
         * The Amazon Resource Name (ARN) of the dashboard.
         */
        var dashboardArn: kotlin.String? = null
        /**
         * The ID for the dashboard.
         */
        var dashboardId: kotlin.String? = null
        /**
         * A structure that contains the configuration of a shareable link that grants access to the dashboard. Your users can use the link to view and interact with the dashboard, if the dashboard has been shared with them. For more information about sharing dashboards, see [Sharing Dashboards](https://docs.aws.amazon.com/quicksight/latest/user/sharing-a-dashboard.html).
         */
        var linkSharingConfiguration: aws.sdk.kotlin.services.quicksight.model.LinkSharingConfiguration? = null
        /**
         * A structure that contains the permissions for the dashboard.
         */
        var permissions: List? = null
        /**
         * The Amazon Web Services request ID for this operation.
         */
        var requestId: kotlin.String? = null
        /**
         * The HTTP status of the request.
         */
        var status: kotlin.Int = 0

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.quicksight.model.DescribeDashboardPermissionsResponse) : this() {
            this.dashboardArn = x.dashboardArn
            this.dashboardId = x.dashboardId
            this.linkSharingConfiguration = x.linkSharingConfiguration
            this.permissions = x.permissions
            this.requestId = x.requestId
            this.status = x.status
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.quicksight.model.LinkSharingConfiguration] inside the given [block]
         */
        fun linkSharingConfiguration(block: aws.sdk.kotlin.services.quicksight.model.LinkSharingConfiguration.Builder.() -> kotlin.Unit) {
            this.linkSharingConfiguration = aws.sdk.kotlin.services.quicksight.model.LinkSharingConfiguration.invoke(block)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy