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

commonMain.aws.sdk.kotlin.services.appstream.model.UpdateThemeForStackRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.appstream.model

import aws.smithy.kotlin.runtime.SdkDsl

public class UpdateThemeForStackRequest private constructor(builder: Builder) {
    /**
     * The attributes to delete.
     */
    public val attributesToDelete: List? = builder.attributesToDelete
    /**
     * The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the application streaming site during users' streaming sessions.
     */
    public val faviconS3Location: aws.sdk.kotlin.services.appstream.model.S3Location? = builder.faviconS3Location
    /**
     * The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites.
     */
    public val footerLinks: List? = builder.footerLinks
    /**
     * The organization logo that appears on the streaming application catalog page.
     */
    public val organizationLogoS3Location: aws.sdk.kotlin.services.appstream.model.S3Location? = builder.organizationLogoS3Location
    /**
     * The name of the stack for the theme.
     */
    public val stackName: kotlin.String? = builder.stackName
    /**
     * Specifies whether custom branding should be applied to catalog page or not.
     */
    public val state: aws.sdk.kotlin.services.appstream.model.ThemeState? = builder.state
    /**
     * The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page.
     */
    public val themeStyling: aws.sdk.kotlin.services.appstream.model.ThemeStyling? = builder.themeStyling
    /**
     * The title that is displayed at the top of the browser tab during users' application streaming sessions.
     */
    public val titleText: kotlin.String? = builder.titleText

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateThemeForStackRequest(")
        append("attributesToDelete=$attributesToDelete,")
        append("faviconS3Location=$faviconS3Location,")
        append("footerLinks=$footerLinks,")
        append("organizationLogoS3Location=$organizationLogoS3Location,")
        append("stackName=$stackName,")
        append("state=$state,")
        append("themeStyling=$themeStyling,")
        append("titleText=$titleText")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = attributesToDelete?.hashCode() ?: 0
        result = 31 * result + (faviconS3Location?.hashCode() ?: 0)
        result = 31 * result + (footerLinks?.hashCode() ?: 0)
        result = 31 * result + (organizationLogoS3Location?.hashCode() ?: 0)
        result = 31 * result + (stackName?.hashCode() ?: 0)
        result = 31 * result + (state?.hashCode() ?: 0)
        result = 31 * result + (themeStyling?.hashCode() ?: 0)
        result = 31 * result + (titleText?.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 UpdateThemeForStackRequest

        if (attributesToDelete != other.attributesToDelete) return false
        if (faviconS3Location != other.faviconS3Location) return false
        if (footerLinks != other.footerLinks) return false
        if (organizationLogoS3Location != other.organizationLogoS3Location) return false
        if (stackName != other.stackName) return false
        if (state != other.state) return false
        if (themeStyling != other.themeStyling) return false
        if (titleText != other.titleText) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The attributes to delete.
         */
        public var attributesToDelete: List? = null
        /**
         * The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the application streaming site during users' streaming sessions.
         */
        public var faviconS3Location: aws.sdk.kotlin.services.appstream.model.S3Location? = null
        /**
         * The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites.
         */
        public var footerLinks: List? = null
        /**
         * The organization logo that appears on the streaming application catalog page.
         */
        public var organizationLogoS3Location: aws.sdk.kotlin.services.appstream.model.S3Location? = null
        /**
         * The name of the stack for the theme.
         */
        public var stackName: kotlin.String? = null
        /**
         * Specifies whether custom branding should be applied to catalog page or not.
         */
        public var state: aws.sdk.kotlin.services.appstream.model.ThemeState? = null
        /**
         * The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page.
         */
        public var themeStyling: aws.sdk.kotlin.services.appstream.model.ThemeStyling? = null
        /**
         * The title that is displayed at the top of the browser tab during users' application streaming sessions.
         */
        public var titleText: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.appstream.model.UpdateThemeForStackRequest) : this() {
            this.attributesToDelete = x.attributesToDelete
            this.faviconS3Location = x.faviconS3Location
            this.footerLinks = x.footerLinks
            this.organizationLogoS3Location = x.organizationLogoS3Location
            this.stackName = x.stackName
            this.state = x.state
            this.themeStyling = x.themeStyling
            this.titleText = x.titleText
        }

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy