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

commonMain.aws.sdk.kotlin.services.chatbot.model.CreateMicrosoftTeamsChannelConfigurationRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.chatbot.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateMicrosoftTeamsChannelConfigurationRequest private constructor(builder: Builder) {
    /**
     * The ID of the Microsoft Teams channel.
     */
    public val channelId: kotlin.String? = builder.channelId
    /**
     * The name of the Microsoft Teams channel.
     */
    public val channelName: kotlin.String? = builder.channelName
    /**
     * The name of the configuration.
     */
    public val configurationName: kotlin.String? = builder.configurationName
    /**
     * The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.
     */
    public val guardrailPolicyArns: List? = builder.guardrailPolicyArns
    /**
     * The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.
     */
    public val iamRoleArn: kotlin.String? = builder.iamRoleArn
    /**
     * Logging levels include ERROR, INFO, or NONE.
     */
    public val loggingLevel: kotlin.String? = builder.loggingLevel
    /**
     * The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
     */
    public val snsTopicArns: List? = builder.snsTopicArns
    /**
     * A list of tags to apply to the configuration.
     */
    public val tags: List? = builder.tags
    /**
     * The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.
     */
    public val teamId: kotlin.String? = builder.teamId
    /**
     * The name of the Microsoft Teams Team.
     */
    public val teamName: kotlin.String? = builder.teamName
    /**
     * The ID of the Microsoft Teams tenant.
     */
    public val tenantId: kotlin.String? = builder.tenantId
    /**
     * Enables use of a user role requirement in your chat configuration.
     */
    public val userAuthorizationRequired: kotlin.Boolean? = builder.userAuthorizationRequired

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

    override fun toString(): kotlin.String = buildString {
        append("CreateMicrosoftTeamsChannelConfigurationRequest(")
        append("channelId=$channelId,")
        append("channelName=$channelName,")
        append("configurationName=$configurationName,")
        append("guardrailPolicyArns=$guardrailPolicyArns,")
        append("iamRoleArn=$iamRoleArn,")
        append("loggingLevel=$loggingLevel,")
        append("snsTopicArns=$snsTopicArns,")
        append("tags=$tags,")
        append("teamId=$teamId,")
        append("teamName=$teamName,")
        append("tenantId=$tenantId,")
        append("userAuthorizationRequired=$userAuthorizationRequired")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = channelId?.hashCode() ?: 0
        result = 31 * result + (channelName?.hashCode() ?: 0)
        result = 31 * result + (configurationName?.hashCode() ?: 0)
        result = 31 * result + (guardrailPolicyArns?.hashCode() ?: 0)
        result = 31 * result + (iamRoleArn?.hashCode() ?: 0)
        result = 31 * result + (loggingLevel?.hashCode() ?: 0)
        result = 31 * result + (snsTopicArns?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (teamId?.hashCode() ?: 0)
        result = 31 * result + (teamName?.hashCode() ?: 0)
        result = 31 * result + (tenantId?.hashCode() ?: 0)
        result = 31 * result + (userAuthorizationRequired?.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 CreateMicrosoftTeamsChannelConfigurationRequest

        if (channelId != other.channelId) return false
        if (channelName != other.channelName) return false
        if (configurationName != other.configurationName) return false
        if (guardrailPolicyArns != other.guardrailPolicyArns) return false
        if (iamRoleArn != other.iamRoleArn) return false
        if (loggingLevel != other.loggingLevel) return false
        if (snsTopicArns != other.snsTopicArns) return false
        if (tags != other.tags) return false
        if (teamId != other.teamId) return false
        if (teamName != other.teamName) return false
        if (tenantId != other.tenantId) return false
        if (userAuthorizationRequired != other.userAuthorizationRequired) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The ID of the Microsoft Teams channel.
         */
        public var channelId: kotlin.String? = null
        /**
         * The name of the Microsoft Teams channel.
         */
        public var channelName: kotlin.String? = null
        /**
         * The name of the configuration.
         */
        public var configurationName: kotlin.String? = null
        /**
         * The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.
         */
        public var guardrailPolicyArns: List? = null
        /**
         * The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.
         */
        public var iamRoleArn: kotlin.String? = null
        /**
         * Logging levels include ERROR, INFO, or NONE.
         */
        public var loggingLevel: kotlin.String? = null
        /**
         * The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
         */
        public var snsTopicArns: List? = null
        /**
         * A list of tags to apply to the configuration.
         */
        public var tags: List? = null
        /**
         * The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.
         */
        public var teamId: kotlin.String? = null
        /**
         * The name of the Microsoft Teams Team.
         */
        public var teamName: kotlin.String? = null
        /**
         * The ID of the Microsoft Teams tenant.
         */
        public var tenantId: kotlin.String? = null
        /**
         * Enables use of a user role requirement in your chat configuration.
         */
        public var userAuthorizationRequired: kotlin.Boolean? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.chatbot.model.CreateMicrosoftTeamsChannelConfigurationRequest) : this() {
            this.channelId = x.channelId
            this.channelName = x.channelName
            this.configurationName = x.configurationName
            this.guardrailPolicyArns = x.guardrailPolicyArns
            this.iamRoleArn = x.iamRoleArn
            this.loggingLevel = x.loggingLevel
            this.snsTopicArns = x.snsTopicArns
            this.tags = x.tags
            this.teamId = x.teamId
            this.teamName = x.teamName
            this.tenantId = x.tenantId
            this.userAuthorizationRequired = x.userAuthorizationRequired
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy