commonMain.aws.sdk.kotlin.services.chimesdkmediapipelines.model.GridViewConfiguration.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of chimesdkmediapipelines-jvm Show documentation
Show all versions of chimesdkmediapipelines-jvm Show documentation
The AWS SDK for Kotlin client for Chime SDK Media Pipelines
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.chimesdkmediapipelines.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Specifies the type of grid layout.
*/
public class GridViewConfiguration private constructor(builder: Builder) {
/**
* The configuration settings for an `ActiveSpeakerOnly` video tile.
*/
public val activeSpeakerOnlyConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.ActiveSpeakerOnlyConfiguration? = builder.activeSpeakerOnlyConfiguration
/**
* The orientation setting, horizontal or vertical.
*/
public val canvasOrientation: aws.sdk.kotlin.services.chimesdkmediapipelines.model.CanvasOrientation? = builder.canvasOrientation
/**
* Defines the layout of the video tiles when content sharing is enabled.
*/
public val contentShareLayout: aws.sdk.kotlin.services.chimesdkmediapipelines.model.ContentShareLayoutOption = requireNotNull(builder.contentShareLayout) { "A non-null value must be provided for contentShareLayout" }
/**
* The configuration settings for a horizontal layout.
*/
public val horizontalLayoutConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.HorizontalLayoutConfiguration? = builder.horizontalLayoutConfiguration
/**
* Defines the configuration options for a presenter only video tile.
*/
public val presenterOnlyConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.PresenterOnlyConfiguration? = builder.presenterOnlyConfiguration
/**
* The configuration settings for a vertical layout.
*/
public val verticalLayoutConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.VerticalLayoutConfiguration? = builder.verticalLayoutConfiguration
/**
* The attribute settings for the video tiles.
*/
public val videoAttribute: aws.sdk.kotlin.services.chimesdkmediapipelines.model.VideoAttribute? = builder.videoAttribute
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.chimesdkmediapipelines.model.GridViewConfiguration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("GridViewConfiguration(")
append("activeSpeakerOnlyConfiguration=$activeSpeakerOnlyConfiguration,")
append("canvasOrientation=$canvasOrientation,")
append("contentShareLayout=$contentShareLayout,")
append("horizontalLayoutConfiguration=$horizontalLayoutConfiguration,")
append("presenterOnlyConfiguration=$presenterOnlyConfiguration,")
append("verticalLayoutConfiguration=$verticalLayoutConfiguration,")
append("videoAttribute=$videoAttribute")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = activeSpeakerOnlyConfiguration?.hashCode() ?: 0
result = 31 * result + (canvasOrientation?.hashCode() ?: 0)
result = 31 * result + (contentShareLayout.hashCode())
result = 31 * result + (horizontalLayoutConfiguration?.hashCode() ?: 0)
result = 31 * result + (presenterOnlyConfiguration?.hashCode() ?: 0)
result = 31 * result + (verticalLayoutConfiguration?.hashCode() ?: 0)
result = 31 * result + (videoAttribute?.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 GridViewConfiguration
if (activeSpeakerOnlyConfiguration != other.activeSpeakerOnlyConfiguration) return false
if (canvasOrientation != other.canvasOrientation) return false
if (contentShareLayout != other.contentShareLayout) return false
if (horizontalLayoutConfiguration != other.horizontalLayoutConfiguration) return false
if (presenterOnlyConfiguration != other.presenterOnlyConfiguration) return false
if (verticalLayoutConfiguration != other.verticalLayoutConfiguration) return false
if (videoAttribute != other.videoAttribute) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.chimesdkmediapipelines.model.GridViewConfiguration = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The configuration settings for an `ActiveSpeakerOnly` video tile.
*/
public var activeSpeakerOnlyConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.ActiveSpeakerOnlyConfiguration? = null
/**
* The orientation setting, horizontal or vertical.
*/
public var canvasOrientation: aws.sdk.kotlin.services.chimesdkmediapipelines.model.CanvasOrientation? = null
/**
* Defines the layout of the video tiles when content sharing is enabled.
*/
public var contentShareLayout: aws.sdk.kotlin.services.chimesdkmediapipelines.model.ContentShareLayoutOption? = null
/**
* The configuration settings for a horizontal layout.
*/
public var horizontalLayoutConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.HorizontalLayoutConfiguration? = null
/**
* Defines the configuration options for a presenter only video tile.
*/
public var presenterOnlyConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.PresenterOnlyConfiguration? = null
/**
* The configuration settings for a vertical layout.
*/
public var verticalLayoutConfiguration: aws.sdk.kotlin.services.chimesdkmediapipelines.model.VerticalLayoutConfiguration? = null
/**
* The attribute settings for the video tiles.
*/
public var videoAttribute: aws.sdk.kotlin.services.chimesdkmediapipelines.model.VideoAttribute? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.chimesdkmediapipelines.model.GridViewConfiguration) : this() {
this.activeSpeakerOnlyConfiguration = x.activeSpeakerOnlyConfiguration
this.canvasOrientation = x.canvasOrientation
this.contentShareLayout = x.contentShareLayout
this.horizontalLayoutConfiguration = x.horizontalLayoutConfiguration
this.presenterOnlyConfiguration = x.presenterOnlyConfiguration
this.verticalLayoutConfiguration = x.verticalLayoutConfiguration
this.videoAttribute = x.videoAttribute
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.chimesdkmediapipelines.model.GridViewConfiguration = GridViewConfiguration(this)
/**
* construct an [aws.sdk.kotlin.services.chimesdkmediapipelines.model.ActiveSpeakerOnlyConfiguration] inside the given [block]
*/
public fun activeSpeakerOnlyConfiguration(block: aws.sdk.kotlin.services.chimesdkmediapipelines.model.ActiveSpeakerOnlyConfiguration.Builder.() -> kotlin.Unit) {
this.activeSpeakerOnlyConfiguration = aws.sdk.kotlin.services.chimesdkmediapipelines.model.ActiveSpeakerOnlyConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.chimesdkmediapipelines.model.HorizontalLayoutConfiguration] inside the given [block]
*/
public fun horizontalLayoutConfiguration(block: aws.sdk.kotlin.services.chimesdkmediapipelines.model.HorizontalLayoutConfiguration.Builder.() -> kotlin.Unit) {
this.horizontalLayoutConfiguration = aws.sdk.kotlin.services.chimesdkmediapipelines.model.HorizontalLayoutConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.chimesdkmediapipelines.model.PresenterOnlyConfiguration] inside the given [block]
*/
public fun presenterOnlyConfiguration(block: aws.sdk.kotlin.services.chimesdkmediapipelines.model.PresenterOnlyConfiguration.Builder.() -> kotlin.Unit) {
this.presenterOnlyConfiguration = aws.sdk.kotlin.services.chimesdkmediapipelines.model.PresenterOnlyConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.chimesdkmediapipelines.model.VerticalLayoutConfiguration] inside the given [block]
*/
public fun verticalLayoutConfiguration(block: aws.sdk.kotlin.services.chimesdkmediapipelines.model.VerticalLayoutConfiguration.Builder.() -> kotlin.Unit) {
this.verticalLayoutConfiguration = aws.sdk.kotlin.services.chimesdkmediapipelines.model.VerticalLayoutConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.chimesdkmediapipelines.model.VideoAttribute] inside the given [block]
*/
public fun videoAttribute(block: aws.sdk.kotlin.services.chimesdkmediapipelines.model.VideoAttribute.Builder.() -> kotlin.Unit) {
this.videoAttribute = aws.sdk.kotlin.services.chimesdkmediapipelines.model.VideoAttribute.invoke(block)
}
internal fun correctErrors(): Builder {
if (contentShareLayout == null) contentShareLayout = ContentShareLayoutOption.SdkUnknown("no value provided")
return this
}
}
}