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

commonMain.aws.sdk.kotlin.services.securityhub.model.PortProbeDetail.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.securityhub.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * A port scan that was part of the port probe. For each scan, PortProbeDetails provides information about the local IP address and port that were scanned, and the remote IP address that the scan originated from.
 */
public class PortProbeDetail private constructor(builder: Builder) {
    /**
     * Provides information about the IP address where the scanned port is located.
     */
    public val localIpDetails: aws.sdk.kotlin.services.securityhub.model.ActionLocalIpDetails? = builder.localIpDetails
    /**
     * Provides information about the port that was scanned.
     */
    public val localPortDetails: aws.sdk.kotlin.services.securityhub.model.ActionLocalPortDetails? = builder.localPortDetails
    /**
     * Provides information about the remote IP address that performed the scan.
     */
    public val remoteIpDetails: aws.sdk.kotlin.services.securityhub.model.ActionRemoteIpDetails? = builder.remoteIpDetails

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

    override fun toString(): kotlin.String = buildString {
        append("PortProbeDetail(")
        append("localIpDetails=$localIpDetails,")
        append("localPortDetails=$localPortDetails,")
        append("remoteIpDetails=$remoteIpDetails")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = localIpDetails?.hashCode() ?: 0
        result = 31 * result + (localPortDetails?.hashCode() ?: 0)
        result = 31 * result + (remoteIpDetails?.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 PortProbeDetail

        if (localIpDetails != other.localIpDetails) return false
        if (localPortDetails != other.localPortDetails) return false
        if (remoteIpDetails != other.remoteIpDetails) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Provides information about the IP address where the scanned port is located.
         */
        public var localIpDetails: aws.sdk.kotlin.services.securityhub.model.ActionLocalIpDetails? = null
        /**
         * Provides information about the port that was scanned.
         */
        public var localPortDetails: aws.sdk.kotlin.services.securityhub.model.ActionLocalPortDetails? = null
        /**
         * Provides information about the remote IP address that performed the scan.
         */
        public var remoteIpDetails: aws.sdk.kotlin.services.securityhub.model.ActionRemoteIpDetails? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.securityhub.model.PortProbeDetail) : this() {
            this.localIpDetails = x.localIpDetails
            this.localPortDetails = x.localPortDetails
            this.remoteIpDetails = x.remoteIpDetails
        }

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

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

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy