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

commonMain.aws.sdk.kotlin.services.apprunner.model.VpcConnector.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
import aws.smithy.kotlin.runtime.time.Instant

/**
 * Describes an App Runner VPC connector resource. A VPC connector describes the Amazon Virtual Private Cloud (Amazon VPC) that an App Runner service is associated with, and the subnets and security group that are used.
 *
 * Multiple revisions of a connector might have the same `Name` and different `Revision` values.
 *
 * At this time, App Runner supports only one revision per name.
 */
public class VpcConnector private constructor(builder: Builder) {
    /**
     * The time when the VPC connector was created. It's in Unix time stamp format.
     */
    public val createdAt: aws.smithy.kotlin.runtime.time.Instant? = builder.createdAt
    /**
     * The time when the VPC connector was deleted. It's in Unix time stamp format.
     */
    public val deletedAt: aws.smithy.kotlin.runtime.time.Instant? = builder.deletedAt
    /**
     * A list of IDs of security groups that App Runner uses 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
    /**
     * The current state of the VPC connector. If the status of a connector revision is `INACTIVE`, it was deleted and can't be used. Inactive connector revisions are permanently removed some time after they are deleted.
     */
    public val status: aws.sdk.kotlin.services.apprunner.model.VpcConnectorStatus? = builder.status
    /**
     * A list of IDs of subnets that App Runner uses for your service. All IDs are of subnets of a single Amazon VPC.
     */
    public val subnets: List? = builder.subnets
    /**
     * The Amazon Resource Name (ARN) of this VPC connector.
     */
    public val vpcConnectorArn: kotlin.String? = builder.vpcConnectorArn
    /**
     * The customer-provided VPC connector name.
     */
    public val vpcConnectorName: kotlin.String? = builder.vpcConnectorName
    /**
     * The revision of this VPC connector. It's unique among all the active connectors (`"Status": "ACTIVE"`) that share the same `Name`.
     *
     * At this time, App Runner supports only one revision per name.
     */
    public val vpcConnectorRevision: kotlin.Int = builder.vpcConnectorRevision

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

    override fun toString(): kotlin.String = buildString {
        append("VpcConnector(")
        append("createdAt=$createdAt,")
        append("deletedAt=$deletedAt,")
        append("securityGroups=$securityGroups,")
        append("status=$status,")
        append("subnets=$subnets,")
        append("vpcConnectorArn=$vpcConnectorArn,")
        append("vpcConnectorName=$vpcConnectorName,")
        append("vpcConnectorRevision=$vpcConnectorRevision")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = createdAt?.hashCode() ?: 0
        result = 31 * result + (deletedAt?.hashCode() ?: 0)
        result = 31 * result + (securityGroups?.hashCode() ?: 0)
        result = 31 * result + (status?.hashCode() ?: 0)
        result = 31 * result + (subnets?.hashCode() ?: 0)
        result = 31 * result + (vpcConnectorArn?.hashCode() ?: 0)
        result = 31 * result + (vpcConnectorName?.hashCode() ?: 0)
        result = 31 * result + (vpcConnectorRevision)
        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 VpcConnector

        if (createdAt != other.createdAt) return false
        if (deletedAt != other.deletedAt) return false
        if (securityGroups != other.securityGroups) return false
        if (status != other.status) return false
        if (subnets != other.subnets) return false
        if (vpcConnectorArn != other.vpcConnectorArn) return false
        if (vpcConnectorName != other.vpcConnectorName) return false
        if (vpcConnectorRevision != other.vpcConnectorRevision) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The time when the VPC connector was created. It's in Unix time stamp format.
         */
        public var createdAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The time when the VPC connector was deleted. It's in Unix time stamp format.
         */
        public var deletedAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * A list of IDs of security groups that App Runner uses 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
        /**
         * The current state of the VPC connector. If the status of a connector revision is `INACTIVE`, it was deleted and can't be used. Inactive connector revisions are permanently removed some time after they are deleted.
         */
        public var status: aws.sdk.kotlin.services.apprunner.model.VpcConnectorStatus? = null
        /**
         * A list of IDs of subnets that App Runner uses for your service. All IDs are of subnets of a single Amazon VPC.
         */
        public var subnets: List? = null
        /**
         * The Amazon Resource Name (ARN) of this VPC connector.
         */
        public var vpcConnectorArn: kotlin.String? = null
        /**
         * The customer-provided VPC connector name.
         */
        public var vpcConnectorName: kotlin.String? = null
        /**
         * The revision of this VPC connector. It's unique among all the active connectors (`"Status": "ACTIVE"`) that share the same `Name`.
         *
         * At this time, App Runner supports only one revision per name.
         */
        public var vpcConnectorRevision: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.apprunner.model.VpcConnector) : this() {
            this.createdAt = x.createdAt
            this.deletedAt = x.deletedAt
            this.securityGroups = x.securityGroups
            this.status = x.status
            this.subnets = x.subnets
            this.vpcConnectorArn = x.vpcConnectorArn
            this.vpcConnectorName = x.vpcConnectorName
            this.vpcConnectorRevision = x.vpcConnectorRevision
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy