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

commonMain.aws.sdk.kotlin.services.chimesdkmeetings.model.CreateMeetingWithAttendeesRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.chimesdkmeetings.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateMeetingWithAttendeesRequest private constructor(builder: Builder) {
    /**
     * The attendee information, including attendees' IDs and join tokens.
     */
    public val attendees: List? = builder.attendees
    /**
     * The unique identifier for the client request. Use a different token for different meetings.
     */
    public val clientRequestToken: kotlin.String? = builder.clientRequestToken
    /**
     * The external meeting ID.
     *
     * Pattern: `[-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*`
     *
     * Values that begin with `aws:` are reserved. You can't configure a value that uses this prefix. Case insensitive.
     */
    public val externalMeetingId: kotlin.String? = builder.externalMeetingId
    /**
     * The Region in which to create the meeting.
     *
     *  Available values: `af-south-1`, `ap-northeast-1`, `ap-northeast-2`, `ap-south-1`, `ap-southeast-1`, `ap-southeast-2`, `ca-central-1`, `eu-central-1`, `eu-north-1`, `eu-south-1`, `eu-west-1`, `eu-west-2`, `eu-west-3`, `sa-east-1`, `us-east-1`, `us-east-2`, `us-west-1`, `us-west-2`.
     *
     * Available values in Amazon Web Services GovCloud (US) Regions: `us-gov-east-1`, `us-gov-west-1`.
     */
    public val mediaRegion: kotlin.String? = builder.mediaRegion
    /**
     * Lists the audio and video features enabled for a meeting, such as echo reduction.
     */
    public val meetingFeatures: aws.sdk.kotlin.services.chimesdkmeetings.model.MeetingFeaturesConfiguration? = builder.meetingFeatures
    /**
     * Reserved.
     */
    public val meetingHostId: kotlin.String? = builder.meetingHostId
    /**
     * The configuration for resource targets to receive notifications when meeting and attendee events occur.
     */
    public val notificationsConfiguration: aws.sdk.kotlin.services.chimesdkmeetings.model.NotificationsConfiguration? = builder.notificationsConfiguration
    /**
     * When specified, replicates the media from the primary meeting to the new meeting.
     */
    public val primaryMeetingId: kotlin.String? = builder.primaryMeetingId
    /**
     * The tags in the request.
     */
    public val tags: List? = builder.tags
    /**
     * A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users.
     */
    public val tenantIds: List? = builder.tenantIds

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

    override fun toString(): kotlin.String = buildString {
        append("CreateMeetingWithAttendeesRequest(")
        append("attendees=$attendees,")
        append("clientRequestToken=*** Sensitive Data Redacted ***,")
        append("externalMeetingId=*** Sensitive Data Redacted ***,")
        append("mediaRegion=$mediaRegion,")
        append("meetingFeatures=$meetingFeatures,")
        append("meetingHostId=*** Sensitive Data Redacted ***,")
        append("notificationsConfiguration=$notificationsConfiguration,")
        append("primaryMeetingId=$primaryMeetingId,")
        append("tags=$tags,")
        append("tenantIds=$tenantIds")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = attendees?.hashCode() ?: 0
        result = 31 * result + (clientRequestToken?.hashCode() ?: 0)
        result = 31 * result + (externalMeetingId?.hashCode() ?: 0)
        result = 31 * result + (mediaRegion?.hashCode() ?: 0)
        result = 31 * result + (meetingFeatures?.hashCode() ?: 0)
        result = 31 * result + (meetingHostId?.hashCode() ?: 0)
        result = 31 * result + (notificationsConfiguration?.hashCode() ?: 0)
        result = 31 * result + (primaryMeetingId?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (tenantIds?.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 CreateMeetingWithAttendeesRequest

        if (attendees != other.attendees) return false
        if (clientRequestToken != other.clientRequestToken) return false
        if (externalMeetingId != other.externalMeetingId) return false
        if (mediaRegion != other.mediaRegion) return false
        if (meetingFeatures != other.meetingFeatures) return false
        if (meetingHostId != other.meetingHostId) return false
        if (notificationsConfiguration != other.notificationsConfiguration) return false
        if (primaryMeetingId != other.primaryMeetingId) return false
        if (tags != other.tags) return false
        if (tenantIds != other.tenantIds) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The attendee information, including attendees' IDs and join tokens.
         */
        public var attendees: List? = null
        /**
         * The unique identifier for the client request. Use a different token for different meetings.
         */
        public var clientRequestToken: kotlin.String? = null
        /**
         * The external meeting ID.
         *
         * Pattern: `[-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*`
         *
         * Values that begin with `aws:` are reserved. You can't configure a value that uses this prefix. Case insensitive.
         */
        public var externalMeetingId: kotlin.String? = null
        /**
         * The Region in which to create the meeting.
         *
         *  Available values: `af-south-1`, `ap-northeast-1`, `ap-northeast-2`, `ap-south-1`, `ap-southeast-1`, `ap-southeast-2`, `ca-central-1`, `eu-central-1`, `eu-north-1`, `eu-south-1`, `eu-west-1`, `eu-west-2`, `eu-west-3`, `sa-east-1`, `us-east-1`, `us-east-2`, `us-west-1`, `us-west-2`.
         *
         * Available values in Amazon Web Services GovCloud (US) Regions: `us-gov-east-1`, `us-gov-west-1`.
         */
        public var mediaRegion: kotlin.String? = null
        /**
         * Lists the audio and video features enabled for a meeting, such as echo reduction.
         */
        public var meetingFeatures: aws.sdk.kotlin.services.chimesdkmeetings.model.MeetingFeaturesConfiguration? = null
        /**
         * Reserved.
         */
        public var meetingHostId: kotlin.String? = null
        /**
         * The configuration for resource targets to receive notifications when meeting and attendee events occur.
         */
        public var notificationsConfiguration: aws.sdk.kotlin.services.chimesdkmeetings.model.NotificationsConfiguration? = null
        /**
         * When specified, replicates the media from the primary meeting to the new meeting.
         */
        public var primaryMeetingId: kotlin.String? = null
        /**
         * The tags in the request.
         */
        public var tags: List? = null
        /**
         * A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users.
         */
        public var tenantIds: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.chimesdkmeetings.model.CreateMeetingWithAttendeesRequest) : this() {
            this.attendees = x.attendees
            this.clientRequestToken = x.clientRequestToken
            this.externalMeetingId = x.externalMeetingId
            this.mediaRegion = x.mediaRegion
            this.meetingFeatures = x.meetingFeatures
            this.meetingHostId = x.meetingHostId
            this.notificationsConfiguration = x.notificationsConfiguration
            this.primaryMeetingId = x.primaryMeetingId
            this.tags = x.tags
            this.tenantIds = x.tenantIds
        }

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

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy