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

commonMain.aws.sdk.kotlin.services.apprunner.model.CreateVpcConnectorRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.apprunner.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateVpcConnectorRequest private constructor(builder: Builder) {
    /**
     * A list of IDs of security groups that App Runner should use for access to Amazon Web Services resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
     */
    public val securityGroups: List? = builder.securityGroups
    /**
     * A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
     *
     *  App Runner currently only provides support for IPv4.
     */
    public val subnets: List? = builder.subnets
    /**
     * A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    public val tags: List? = builder.tags
    /**
     * A name for the VPC connector.
     */
    public val vpcConnectorName: kotlin.String? = builder.vpcConnectorName

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

    override fun toString(): kotlin.String = buildString {
        append("CreateVpcConnectorRequest(")
        append("securityGroups=$securityGroups,")
        append("subnets=$subnets,")
        append("tags=$tags,")
        append("vpcConnectorName=$vpcConnectorName")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = securityGroups?.hashCode() ?: 0
        result = 31 * result + (subnets?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (vpcConnectorName?.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 CreateVpcConnectorRequest

        if (securityGroups != other.securityGroups) return false
        if (subnets != other.subnets) return false
        if (tags != other.tags) return false
        if (vpcConnectorName != other.vpcConnectorName) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * A list of IDs of security groups that App Runner should use for access to Amazon Web Services resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
         */
        public var securityGroups: List? = null
        /**
         * A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
         *
         *  App Runner currently only provides support for IPv4.
         */
        public var subnets: List? = null
        /**
         * A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
         */
        public var tags: List? = null
        /**
         * A name for the VPC connector.
         */
        public var vpcConnectorName: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.apprunner.model.CreateVpcConnectorRequest) : this() {
            this.securityGroups = x.securityGroups
            this.subnets = x.subnets
            this.tags = x.tags
            this.vpcConnectorName = x.vpcConnectorName
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy