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

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

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

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



/**
 * The properties for a private VPC Output
 */
public class VpcOutputSettingsDescription private constructor(builder: Builder) {
    /**
     * The Availability Zones where the vpc subnets are located. The first Availability Zone applies to the first subnet in the list of subnets. The second Availability Zone applies to the second subnet.
     */
    public val availabilityZones: List? = builder.availabilityZones
    /**
     * A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
     */
    public val networkInterfaceIds: List? = builder.networkInterfaceIds
    /**
     * A list of up EC2 VPC security group IDs attached to the Output VPC network interfaces.
     */
    public val securityGroupIds: List? = builder.securityGroupIds
    /**
     * A list of VPC subnet IDs from the same VPC. If STANDARD channel, subnet IDs must be mapped to two unique availability zones (AZ).
     */
    public val subnetIds: List? = builder.subnetIds

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

    override fun toString(): kotlin.String = buildString {
        append("VpcOutputSettingsDescription(")
        append("availabilityZones=$availabilityZones,")
        append("networkInterfaceIds=$networkInterfaceIds,")
        append("securityGroupIds=$securityGroupIds,")
        append("subnetIds=$subnetIds")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = availabilityZones?.hashCode() ?: 0
        result = 31 * result + (networkInterfaceIds?.hashCode() ?: 0)
        result = 31 * result + (securityGroupIds?.hashCode() ?: 0)
        result = 31 * result + (subnetIds?.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 VpcOutputSettingsDescription

        if (availabilityZones != other.availabilityZones) return false
        if (networkInterfaceIds != other.networkInterfaceIds) return false
        if (securityGroupIds != other.securityGroupIds) return false
        if (subnetIds != other.subnetIds) return false

        return true
    }

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

    public class Builder {
        /**
         * The Availability Zones where the vpc subnets are located. The first Availability Zone applies to the first subnet in the list of subnets. The second Availability Zone applies to the second subnet.
         */
        public var availabilityZones: List? = null
        /**
         * A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
         */
        public var networkInterfaceIds: List? = null
        /**
         * A list of up EC2 VPC security group IDs attached to the Output VPC network interfaces.
         */
        public var securityGroupIds: List? = null
        /**
         * A list of VPC subnet IDs from the same VPC. If STANDARD channel, subnet IDs must be mapped to two unique availability zones (AZ).
         */
        public var subnetIds: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.VpcOutputSettingsDescription) : this() {
            this.availabilityZones = x.availabilityZones
            this.networkInterfaceIds = x.networkInterfaceIds
            this.securityGroupIds = x.securityGroupIds
            this.subnetIds = x.subnetIds
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy