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

commonMain.aws.sdk.kotlin.services.pipes.model.EcsEphemeralStorage.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.pipes.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see [Fargate task storage](https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) in the *Amazon ECS User Guide for Fargate*.
 *
 * This parameter is only supported for tasks hosted on Fargate using Linux platform version `1.4.0` or later. This parameter is not supported for Windows containers on Fargate.
 */
public class EcsEphemeralStorage private constructor(builder: Builder) {
    /**
     * The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is `21` GiB and the maximum supported value is `200` GiB.
     */
    public val sizeInGib: kotlin.Int = requireNotNull(builder.sizeInGib) { "A non-null value must be provided for sizeInGib" }

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

    override fun toString(): kotlin.String = buildString {
        append("EcsEphemeralStorage(")
        append("sizeInGib=$sizeInGib")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = sizeInGib
        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 EcsEphemeralStorage

        if (sizeInGib != other.sizeInGib) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is `21` GiB and the maximum supported value is `200` GiB.
         */
        public var sizeInGib: kotlin.Int? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.pipes.model.EcsEphemeralStorage) : this() {
            this.sizeInGib = x.sizeInGib
        }

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

        internal fun correctErrors(): Builder {
            if (sizeInGib == null) sizeInGib = 0
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy