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

commonMain.aws.sdk.kotlin.services.waf.model.CreateWebAclMigrationStackRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.waf.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateWebAclMigrationStackRequest private constructor(builder: Builder) {
    /**
     * Indicates whether to exclude entities that can't be migrated or to stop the migration. Set this to true to ignore unsupported entities in the web ACL during the migration. Otherwise, if AWS WAF encounters unsupported entities, it stops the process and throws an exception.
     */
    public val ignoreUnsupportedType: kotlin.Boolean? = builder.ignoreUnsupportedType
    /**
     * The name of the Amazon S3 bucket to store the CloudFormation template in. The S3 bucket must be configured as follows for the migration:
     * + The bucket name must start with `aws-waf-migration-`. For example, `aws-waf-migration-my-web-acl`.
     * + The bucket must be in the Region where you are deploying the template. For example, for a web ACL in us-west-2, you must use an Amazon S3 bucket in us-west-2 and you must deploy the template stack to us-west-2.
     * + The bucket policies must permit the migration process to write data. For listings of the bucket policies, see the Examples section.
     */
    public val s3BucketName: kotlin.String? = builder.s3BucketName
    /**
     * The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.
     */
    public val webAclId: kotlin.String? = builder.webAclId

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

    override fun toString(): kotlin.String = buildString {
        append("CreateWebAclMigrationStackRequest(")
        append("ignoreUnsupportedType=$ignoreUnsupportedType,")
        append("s3BucketName=$s3BucketName,")
        append("webAclId=$webAclId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = ignoreUnsupportedType?.hashCode() ?: 0
        result = 31 * result + (s3BucketName?.hashCode() ?: 0)
        result = 31 * result + (webAclId?.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 CreateWebAclMigrationStackRequest

        if (ignoreUnsupportedType != other.ignoreUnsupportedType) return false
        if (s3BucketName != other.s3BucketName) return false
        if (webAclId != other.webAclId) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Indicates whether to exclude entities that can't be migrated or to stop the migration. Set this to true to ignore unsupported entities in the web ACL during the migration. Otherwise, if AWS WAF encounters unsupported entities, it stops the process and throws an exception.
         */
        public var ignoreUnsupportedType: kotlin.Boolean? = null
        /**
         * The name of the Amazon S3 bucket to store the CloudFormation template in. The S3 bucket must be configured as follows for the migration:
         * + The bucket name must start with `aws-waf-migration-`. For example, `aws-waf-migration-my-web-acl`.
         * + The bucket must be in the Region where you are deploying the template. For example, for a web ACL in us-west-2, you must use an Amazon S3 bucket in us-west-2 and you must deploy the template stack to us-west-2.
         * + The bucket policies must permit the migration process to write data. For listings of the bucket policies, see the Examples section.
         */
        public var s3BucketName: kotlin.String? = null
        /**
         * The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.
         */
        public var webAclId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.waf.model.CreateWebAclMigrationStackRequest) : this() {
            this.ignoreUnsupportedType = x.ignoreUnsupportedType
            this.s3BucketName = x.s3BucketName
            this.webAclId = x.webAclId
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy