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

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

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

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



/**
 * Corresponds to SCTE-35 segmentation_descriptor.
 */
public class Scte35SegmentationDescriptor private constructor(builder: Builder) {
    /**
     * Holds the four SCTE-35 delivery restriction parameters.
     */
    public val deliveryRestrictions: aws.sdk.kotlin.services.medialive.model.Scte35DeliveryRestrictions? = builder.deliveryRestrictions
    /**
     * Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id.
     */
    public val segmentNum: kotlin.Int = builder.segmentNum
    /**
     * Corresponds to SCTE-35 segmentation_event_cancel_indicator.
     */
    public val segmentationCancelIndicator: aws.sdk.kotlin.services.medialive.model.Scte35SegmentationCancelIndicator? = builder.segmentationCancelIndicator
    /**
     * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message.
     */
    public val segmentationDuration: kotlin.Long = builder.segmentationDuration
    /**
     * Corresponds to SCTE-35 segmentation_event_id.
     */
    public val segmentationEventId: kotlin.Long = builder.segmentationEventId
    /**
     * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id values listed in the SCTE-35 specification. On the console, enter the ID in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex (for example, "0x34") or decimal (for example, "52").
     */
    public val segmentationTypeId: kotlin.Int = builder.segmentationTypeId
    /**
     * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal representation of the characters that make up the SCTE-35 segmentation_upid value. Must contain an even number of hex characters. Do not include spaces between each hex pair. For example, the ASCII "ADS Information" becomes hex "41445320496e666f726d6174696f6e.
     */
    public val segmentationUpid: kotlin.String? = builder.segmentationUpid
    /**
     * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, "0x0C" ) or in decimal (for example, "12").
     */
    public val segmentationUpidType: kotlin.Int = builder.segmentationUpidType
    /**
     * Corresponds to SCTE-35 segments_expected. A value that is valid for the specified segmentation_type_id.
     */
    public val segmentsExpected: kotlin.Int = builder.segmentsExpected
    /**
     * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id.
     */
    public val subSegmentNum: kotlin.Int = builder.subSegmentNum
    /**
     * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the specified segmentation_type_id.
     */
    public val subSegmentsExpected: kotlin.Int = builder.subSegmentsExpected

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

    override fun toString(): kotlin.String = buildString {
        append("Scte35SegmentationDescriptor(")
        append("deliveryRestrictions=$deliveryRestrictions,")
        append("segmentNum=$segmentNum,")
        append("segmentationCancelIndicator=$segmentationCancelIndicator,")
        append("segmentationDuration=$segmentationDuration,")
        append("segmentationEventId=$segmentationEventId,")
        append("segmentationTypeId=$segmentationTypeId,")
        append("segmentationUpid=$segmentationUpid,")
        append("segmentationUpidType=$segmentationUpidType,")
        append("segmentsExpected=$segmentsExpected,")
        append("subSegmentNum=$subSegmentNum,")
        append("subSegmentsExpected=$subSegmentsExpected")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = deliveryRestrictions?.hashCode() ?: 0
        result = 31 * result + (segmentNum)
        result = 31 * result + (segmentationCancelIndicator?.hashCode() ?: 0)
        result = 31 * result + (segmentationDuration.hashCode())
        result = 31 * result + (segmentationEventId.hashCode())
        result = 31 * result + (segmentationTypeId)
        result = 31 * result + (segmentationUpid?.hashCode() ?: 0)
        result = 31 * result + (segmentationUpidType)
        result = 31 * result + (segmentsExpected)
        result = 31 * result + (subSegmentNum)
        result = 31 * result + (subSegmentsExpected)
        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 Scte35SegmentationDescriptor

        if (deliveryRestrictions != other.deliveryRestrictions) return false
        if (segmentNum != other.segmentNum) return false
        if (segmentationCancelIndicator != other.segmentationCancelIndicator) return false
        if (segmentationDuration != other.segmentationDuration) return false
        if (segmentationEventId != other.segmentationEventId) return false
        if (segmentationTypeId != other.segmentationTypeId) return false
        if (segmentationUpid != other.segmentationUpid) return false
        if (segmentationUpidType != other.segmentationUpidType) return false
        if (segmentsExpected != other.segmentsExpected) return false
        if (subSegmentNum != other.subSegmentNum) return false
        if (subSegmentsExpected != other.subSegmentsExpected) return false

        return true
    }

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

    public class Builder {
        /**
         * Holds the four SCTE-35 delivery restriction parameters.
         */
        public var deliveryRestrictions: aws.sdk.kotlin.services.medialive.model.Scte35DeliveryRestrictions? = null
        /**
         * Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id.
         */
        public var segmentNum: kotlin.Int = 0
        /**
         * Corresponds to SCTE-35 segmentation_event_cancel_indicator.
         */
        public var segmentationCancelIndicator: aws.sdk.kotlin.services.medialive.model.Scte35SegmentationCancelIndicator? = null
        /**
         * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message.
         */
        public var segmentationDuration: kotlin.Long = 0L
        /**
         * Corresponds to SCTE-35 segmentation_event_id.
         */
        public var segmentationEventId: kotlin.Long = 0L
        /**
         * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id values listed in the SCTE-35 specification. On the console, enter the ID in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex (for example, "0x34") or decimal (for example, "52").
         */
        public var segmentationTypeId: kotlin.Int = 0
        /**
         * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal representation of the characters that make up the SCTE-35 segmentation_upid value. Must contain an even number of hex characters. Do not include spaces between each hex pair. For example, the ASCII "ADS Information" becomes hex "41445320496e666f726d6174696f6e.
         */
        public var segmentationUpid: kotlin.String? = null
        /**
         * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, "0x0C" ) or in decimal (for example, "12").
         */
        public var segmentationUpidType: kotlin.Int = 0
        /**
         * Corresponds to SCTE-35 segments_expected. A value that is valid for the specified segmentation_type_id.
         */
        public var segmentsExpected: kotlin.Int = 0
        /**
         * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id.
         */
        public var subSegmentNum: kotlin.Int = 0
        /**
         * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the specified segmentation_type_id.
         */
        public var subSegmentsExpected: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.Scte35SegmentationDescriptor) : this() {
            this.deliveryRestrictions = x.deliveryRestrictions
            this.segmentNum = x.segmentNum
            this.segmentationCancelIndicator = x.segmentationCancelIndicator
            this.segmentationDuration = x.segmentationDuration
            this.segmentationEventId = x.segmentationEventId
            this.segmentationTypeId = x.segmentationTypeId
            this.segmentationUpid = x.segmentationUpid
            this.segmentationUpidType = x.segmentationUpidType
            this.segmentsExpected = x.segmentsExpected
            this.subSegmentNum = x.subSegmentNum
            this.subSegmentsExpected = x.subSegmentsExpected
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy