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

commonMain.aws.sdk.kotlin.services.elasticbeanstalk.model.CreatePlatformVersionRequest.kt Maven / Gradle / Ivy

There is a newer version: 1.3.31
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.elasticbeanstalk.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Request to create a new platform version.
 */
public class CreatePlatformVersionRequest private constructor(builder: Builder) {
    /**
     * The name of the builder environment.
     */
    public val environmentName: kotlin.String? = builder.environmentName
    /**
     * The configuration option settings to apply to the builder environment.
     */
    public val optionSettings: List? = builder.optionSettings
    /**
     * The location of the platform definition archive in Amazon S3.
     */
    public val platformDefinitionBundle: aws.sdk.kotlin.services.elasticbeanstalk.model.S3Location? = builder.platformDefinitionBundle
    /**
     * The name of your custom platform.
     */
    public val platformName: kotlin.String? = builder.platformName
    /**
     * The number, such as 1.0.2, for the new platform version.
     */
    public val platformVersion: kotlin.String? = builder.platformVersion
    /**
     * Specifies the tags applied to the new platform version.
     *
     * Elastic Beanstalk applies these tags only to the platform version. Environments that you create using the platform version don't inherit the tags.
     */
    public val tags: List? = builder.tags

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

    override fun toString(): kotlin.String = buildString {
        append("CreatePlatformVersionRequest(")
        append("environmentName=$environmentName,")
        append("optionSettings=$optionSettings,")
        append("platformDefinitionBundle=$platformDefinitionBundle,")
        append("platformName=$platformName,")
        append("platformVersion=$platformVersion,")
        append("tags=$tags")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = environmentName?.hashCode() ?: 0
        result = 31 * result + (optionSettings?.hashCode() ?: 0)
        result = 31 * result + (platformDefinitionBundle?.hashCode() ?: 0)
        result = 31 * result + (platformName?.hashCode() ?: 0)
        result = 31 * result + (platformVersion?.hashCode() ?: 0)
        result = 31 * result + (tags?.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 CreatePlatformVersionRequest

        if (environmentName != other.environmentName) return false
        if (optionSettings != other.optionSettings) return false
        if (platformDefinitionBundle != other.platformDefinitionBundle) return false
        if (platformName != other.platformName) return false
        if (platformVersion != other.platformVersion) return false
        if (tags != other.tags) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The name of the builder environment.
         */
        public var environmentName: kotlin.String? = null
        /**
         * The configuration option settings to apply to the builder environment.
         */
        public var optionSettings: List? = null
        /**
         * The location of the platform definition archive in Amazon S3.
         */
        public var platformDefinitionBundle: aws.sdk.kotlin.services.elasticbeanstalk.model.S3Location? = null
        /**
         * The name of your custom platform.
         */
        public var platformName: kotlin.String? = null
        /**
         * The number, such as 1.0.2, for the new platform version.
         */
        public var platformVersion: kotlin.String? = null
        /**
         * Specifies the tags applied to the new platform version.
         *
         * Elastic Beanstalk applies these tags only to the platform version. Environments that you create using the platform version don't inherit the tags.
         */
        public var tags: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.elasticbeanstalk.model.CreatePlatformVersionRequest) : this() {
            this.environmentName = x.environmentName
            this.optionSettings = x.optionSettings
            this.platformDefinitionBundle = x.platformDefinitionBundle
            this.platformName = x.platformName
            this.platformVersion = x.platformVersion
            this.tags = x.tags
        }

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

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

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy