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

commonMain.aws.sdk.kotlin.services.gamelift.model.S3Location.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.gamelift.model



/**
 * The location in Amazon S3 where build or script files are stored for access by Amazon GameLift.
 */
public class S3Location private constructor(builder: Builder) {
    /**
     * An Amazon S3 bucket identifier. Thename of the S3 bucket.
     *
     * Amazon GameLift doesn't support uploading from Amazon S3 buckets with names that contain a dot (.).
     */
    public val bucket: kotlin.String? = builder.bucket
    /**
     * The name of the zip file that contains the build files or script files.
     */
    public val key: kotlin.String? = builder.key
    /**
     * The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file. If not set, the latest version of the file is retrieved.
     */
    public val objectVersion: kotlin.String? = builder.objectVersion
    /**
     * The Amazon Resource Name ([ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM role that allows Amazon GameLift to access the S3 bucket.
     */
    public val roleArn: kotlin.String? = builder.roleArn

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

    override fun toString(): kotlin.String = buildString {
        append("S3Location(")
        append("bucket=$bucket,")
        append("key=$key,")
        append("objectVersion=$objectVersion,")
        append("roleArn=$roleArn")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = bucket?.hashCode() ?: 0
        result = 31 * result + (key?.hashCode() ?: 0)
        result = 31 * result + (objectVersion?.hashCode() ?: 0)
        result = 31 * result + (roleArn?.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 S3Location

        if (bucket != other.bucket) return false
        if (key != other.key) return false
        if (objectVersion != other.objectVersion) return false
        if (roleArn != other.roleArn) return false

        return true
    }

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

    public class Builder {
        /**
         * An Amazon S3 bucket identifier. Thename of the S3 bucket.
         *
         * Amazon GameLift doesn't support uploading from Amazon S3 buckets with names that contain a dot (.).
         */
        public var bucket: kotlin.String? = null
        /**
         * The name of the zip file that contains the build files or script files.
         */
        public var key: kotlin.String? = null
        /**
         * The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file. If not set, the latest version of the file is retrieved.
         */
        public var objectVersion: kotlin.String? = null
        /**
         * The Amazon Resource Name ([ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM role that allows Amazon GameLift to access the S3 bucket.
         */
        public var roleArn: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.gamelift.model.S3Location) : this() {
            this.bucket = x.bucket
            this.key = x.key
            this.objectVersion = x.objectVersion
            this.roleArn = x.roleArn
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy