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

commonMain.aws.sdk.kotlin.services.fms.model.NetworkFirewallInvalidRouteConfigurationViolation.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.fms.model



/**
 * Violation detail for the improperly configured subnet route. It's possible there is a missing route table route, or a configuration that causes traffic to cross an Availability Zone boundary.
 */
public class NetworkFirewallInvalidRouteConfigurationViolation private constructor(builder: Builder) {
    /**
     * The actual firewall endpoint.
     */
    public val actualFirewallEndpoint: kotlin.String? = builder.actualFirewallEndpoint
    /**
     * The actual subnet ID for the firewall.
     */
    public val actualFirewallSubnetId: kotlin.String? = builder.actualFirewallSubnetId
    /**
     * The actual firewall subnet routes that are expected.
     */
    public val actualFirewallSubnetRoutes: List? = builder.actualFirewallSubnetRoutes
    /**
     * The actual internet gateway routes.
     */
    public val actualInternetGatewayRoutes: List? = builder.actualInternetGatewayRoutes
    /**
     * The subnets that are affected.
     */
    public val affectedSubnets: List? = builder.affectedSubnets
    /**
     * The subnet route table for the current firewall.
     */
    public val currentFirewallSubnetRouteTable: kotlin.String? = builder.currentFirewallSubnetRouteTable
    /**
     * The route table for the current internet gateway.
     */
    public val currentInternetGatewayRouteTable: kotlin.String? = builder.currentInternetGatewayRouteTable
    /**
     * The firewall endpoint that's expected.
     */
    public val expectedFirewallEndpoint: kotlin.String? = builder.expectedFirewallEndpoint
    /**
     * The expected subnet ID for the firewall.
     */
    public val expectedFirewallSubnetId: kotlin.String? = builder.expectedFirewallSubnetId
    /**
     * The firewall subnet routes that are expected.
     */
    public val expectedFirewallSubnetRoutes: List? = builder.expectedFirewallSubnetRoutes
    /**
     * The expected routes for the internet gateway.
     */
    public val expectedInternetGatewayRoutes: List? = builder.expectedInternetGatewayRoutes
    /**
     * The internet gateway ID.
     */
    public val internetGatewayId: kotlin.String? = builder.internetGatewayId
    /**
     * Information about whether the route table is used in another Availability Zone.
     */
    public val isRouteTableUsedInDifferentAz: kotlin.Boolean = builder.isRouteTableUsedInDifferentAz
    /**
     * The route table ID.
     */
    public val routeTableId: kotlin.String? = builder.routeTableId
    /**
     * The route that's in violation.
     */
    public val violatingRoute: aws.sdk.kotlin.services.fms.model.Route? = builder.violatingRoute
    /**
     * Information about the VPC ID.
     */
    public val vpcId: kotlin.String? = builder.vpcId

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

    override fun toString(): kotlin.String = buildString {
        append("NetworkFirewallInvalidRouteConfigurationViolation(")
        append("actualFirewallEndpoint=$actualFirewallEndpoint,")
        append("actualFirewallSubnetId=$actualFirewallSubnetId,")
        append("actualFirewallSubnetRoutes=$actualFirewallSubnetRoutes,")
        append("actualInternetGatewayRoutes=$actualInternetGatewayRoutes,")
        append("affectedSubnets=$affectedSubnets,")
        append("currentFirewallSubnetRouteTable=$currentFirewallSubnetRouteTable,")
        append("currentInternetGatewayRouteTable=$currentInternetGatewayRouteTable,")
        append("expectedFirewallEndpoint=$expectedFirewallEndpoint,")
        append("expectedFirewallSubnetId=$expectedFirewallSubnetId,")
        append("expectedFirewallSubnetRoutes=$expectedFirewallSubnetRoutes,")
        append("expectedInternetGatewayRoutes=$expectedInternetGatewayRoutes,")
        append("internetGatewayId=$internetGatewayId,")
        append("isRouteTableUsedInDifferentAz=$isRouteTableUsedInDifferentAz,")
        append("routeTableId=$routeTableId,")
        append("violatingRoute=$violatingRoute,")
        append("vpcId=$vpcId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = actualFirewallEndpoint?.hashCode() ?: 0
        result = 31 * result + (actualFirewallSubnetId?.hashCode() ?: 0)
        result = 31 * result + (actualFirewallSubnetRoutes?.hashCode() ?: 0)
        result = 31 * result + (actualInternetGatewayRoutes?.hashCode() ?: 0)
        result = 31 * result + (affectedSubnets?.hashCode() ?: 0)
        result = 31 * result + (currentFirewallSubnetRouteTable?.hashCode() ?: 0)
        result = 31 * result + (currentInternetGatewayRouteTable?.hashCode() ?: 0)
        result = 31 * result + (expectedFirewallEndpoint?.hashCode() ?: 0)
        result = 31 * result + (expectedFirewallSubnetId?.hashCode() ?: 0)
        result = 31 * result + (expectedFirewallSubnetRoutes?.hashCode() ?: 0)
        result = 31 * result + (expectedInternetGatewayRoutes?.hashCode() ?: 0)
        result = 31 * result + (internetGatewayId?.hashCode() ?: 0)
        result = 31 * result + (isRouteTableUsedInDifferentAz.hashCode())
        result = 31 * result + (routeTableId?.hashCode() ?: 0)
        result = 31 * result + (violatingRoute?.hashCode() ?: 0)
        result = 31 * result + (vpcId?.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 NetworkFirewallInvalidRouteConfigurationViolation

        if (actualFirewallEndpoint != other.actualFirewallEndpoint) return false
        if (actualFirewallSubnetId != other.actualFirewallSubnetId) return false
        if (actualFirewallSubnetRoutes != other.actualFirewallSubnetRoutes) return false
        if (actualInternetGatewayRoutes != other.actualInternetGatewayRoutes) return false
        if (affectedSubnets != other.affectedSubnets) return false
        if (currentFirewallSubnetRouteTable != other.currentFirewallSubnetRouteTable) return false
        if (currentInternetGatewayRouteTable != other.currentInternetGatewayRouteTable) return false
        if (expectedFirewallEndpoint != other.expectedFirewallEndpoint) return false
        if (expectedFirewallSubnetId != other.expectedFirewallSubnetId) return false
        if (expectedFirewallSubnetRoutes != other.expectedFirewallSubnetRoutes) return false
        if (expectedInternetGatewayRoutes != other.expectedInternetGatewayRoutes) return false
        if (internetGatewayId != other.internetGatewayId) return false
        if (isRouteTableUsedInDifferentAz != other.isRouteTableUsedInDifferentAz) return false
        if (routeTableId != other.routeTableId) return false
        if (violatingRoute != other.violatingRoute) return false
        if (vpcId != other.vpcId) return false

        return true
    }

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

    public class Builder {
        /**
         * The actual firewall endpoint.
         */
        public var actualFirewallEndpoint: kotlin.String? = null
        /**
         * The actual subnet ID for the firewall.
         */
        public var actualFirewallSubnetId: kotlin.String? = null
        /**
         * The actual firewall subnet routes that are expected.
         */
        public var actualFirewallSubnetRoutes: List? = null
        /**
         * The actual internet gateway routes.
         */
        public var actualInternetGatewayRoutes: List? = null
        /**
         * The subnets that are affected.
         */
        public var affectedSubnets: List? = null
        /**
         * The subnet route table for the current firewall.
         */
        public var currentFirewallSubnetRouteTable: kotlin.String? = null
        /**
         * The route table for the current internet gateway.
         */
        public var currentInternetGatewayRouteTable: kotlin.String? = null
        /**
         * The firewall endpoint that's expected.
         */
        public var expectedFirewallEndpoint: kotlin.String? = null
        /**
         * The expected subnet ID for the firewall.
         */
        public var expectedFirewallSubnetId: kotlin.String? = null
        /**
         * The firewall subnet routes that are expected.
         */
        public var expectedFirewallSubnetRoutes: List? = null
        /**
         * The expected routes for the internet gateway.
         */
        public var expectedInternetGatewayRoutes: List? = null
        /**
         * The internet gateway ID.
         */
        public var internetGatewayId: kotlin.String? = null
        /**
         * Information about whether the route table is used in another Availability Zone.
         */
        public var isRouteTableUsedInDifferentAz: kotlin.Boolean = false
        /**
         * The route table ID.
         */
        public var routeTableId: kotlin.String? = null
        /**
         * The route that's in violation.
         */
        public var violatingRoute: aws.sdk.kotlin.services.fms.model.Route? = null
        /**
         * Information about the VPC ID.
         */
        public var vpcId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.fms.model.NetworkFirewallInvalidRouteConfigurationViolation) : this() {
            this.actualFirewallEndpoint = x.actualFirewallEndpoint
            this.actualFirewallSubnetId = x.actualFirewallSubnetId
            this.actualFirewallSubnetRoutes = x.actualFirewallSubnetRoutes
            this.actualInternetGatewayRoutes = x.actualInternetGatewayRoutes
            this.affectedSubnets = x.affectedSubnets
            this.currentFirewallSubnetRouteTable = x.currentFirewallSubnetRouteTable
            this.currentInternetGatewayRouteTable = x.currentInternetGatewayRouteTable
            this.expectedFirewallEndpoint = x.expectedFirewallEndpoint
            this.expectedFirewallSubnetId = x.expectedFirewallSubnetId
            this.expectedFirewallSubnetRoutes = x.expectedFirewallSubnetRoutes
            this.expectedInternetGatewayRoutes = x.expectedInternetGatewayRoutes
            this.internetGatewayId = x.internetGatewayId
            this.isRouteTableUsedInDifferentAz = x.isRouteTableUsedInDifferentAz
            this.routeTableId = x.routeTableId
            this.violatingRoute = x.violatingRoute
            this.vpcId = x.vpcId
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy