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

commonMain.aws.sdk.kotlin.services.medialive.model.NetworkInputSettings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.model



/**
 * Network source to transcode. Must be accessible to the Elemental Live node that is running the live event through a network connection.
 */
public class NetworkInputSettings private constructor(builder: Builder) {
    /**
     * Specifies HLS input settings when the uri is for a HLS manifest.
     */
    public val hlsInputSettings: aws.sdk.kotlin.services.medialive.model.HlsInputSettings? = builder.hlsInputSettings
    /**
     * Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography in the certificate will be checked, but not the server's name. Certain subdomains (notably S3 buckets that use dots in the bucket name) do not strictly match the corresponding certificate's wildcard pattern and would otherwise cause the event to error. This setting is ignored for protocols that do not use https.
     */
    public val serverValidation: aws.sdk.kotlin.services.medialive.model.NetworkInputServerValidation? = builder.serverValidation

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

    override fun toString(): kotlin.String = buildString {
        append("NetworkInputSettings(")
        append("hlsInputSettings=$hlsInputSettings,")
        append("serverValidation=$serverValidation")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = hlsInputSettings?.hashCode() ?: 0
        result = 31 * result + (serverValidation?.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 NetworkInputSettings

        if (hlsInputSettings != other.hlsInputSettings) return false
        if (serverValidation != other.serverValidation) return false

        return true
    }

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

    public class Builder {
        /**
         * Specifies HLS input settings when the uri is for a HLS manifest.
         */
        public var hlsInputSettings: aws.sdk.kotlin.services.medialive.model.HlsInputSettings? = null
        /**
         * Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography in the certificate will be checked, but not the server's name. Certain subdomains (notably S3 buckets that use dots in the bucket name) do not strictly match the corresponding certificate's wildcard pattern and would otherwise cause the event to error. This setting is ignored for protocols that do not use https.
         */
        public var serverValidation: aws.sdk.kotlin.services.medialive.model.NetworkInputServerValidation? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.NetworkInputSettings) : this() {
            this.hlsInputSettings = x.hlsInputSettings
            this.serverValidation = x.serverValidation
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy