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

commonMain.aws.sdk.kotlin.services.ecr.model.PutRegistryScanningConfigurationRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.ecr.model



public class PutRegistryScanningConfigurationRequest private constructor(builder: Builder) {
    /**
     * The scanning rules to use for the registry. A scanning rule is used to determine which repository filters are used and at what frequency scanning will occur.
     */
    public val rules: List? = builder.rules
    /**
     * The scanning type to set for the registry.
     *
     * When a registry scanning configuration is not defined, by default the `BASIC` scan type is used. When basic scanning is used, you may specify filters to determine which individual repositories, or all repositories, are scanned when new images are pushed to those repositories. Alternatively, you can do manual scans of images with basic scanning.
     *
     * When the `ENHANCED` scan type is set, Amazon Inspector provides automated vulnerability scanning. You may choose between continuous scanning or scan on push and you may specify filters to determine which individual repositories, or all repositories, are scanned.
     */
    public val scanType: aws.sdk.kotlin.services.ecr.model.ScanType? = builder.scanType

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

    override fun toString(): kotlin.String = buildString {
        append("PutRegistryScanningConfigurationRequest(")
        append("rules=$rules,")
        append("scanType=$scanType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = rules?.hashCode() ?: 0
        result = 31 * result + (scanType?.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 PutRegistryScanningConfigurationRequest

        if (rules != other.rules) return false
        if (scanType != other.scanType) return false

        return true
    }

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

    public class Builder {
        /**
         * The scanning rules to use for the registry. A scanning rule is used to determine which repository filters are used and at what frequency scanning will occur.
         */
        public var rules: List? = null
        /**
         * The scanning type to set for the registry.
         *
         * When a registry scanning configuration is not defined, by default the `BASIC` scan type is used. When basic scanning is used, you may specify filters to determine which individual repositories, or all repositories, are scanned when new images are pushed to those repositories. Alternatively, you can do manual scans of images with basic scanning.
         *
         * When the `ENHANCED` scan type is set, Amazon Inspector provides automated vulnerability scanning. You may choose between continuous scanning or scan on push and you may specify filters to determine which individual repositories, or all repositories, are scanned.
         */
        public var scanType: aws.sdk.kotlin.services.ecr.model.ScanType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.ecr.model.PutRegistryScanningConfigurationRequest) : this() {
            this.rules = x.rules
            this.scanType = x.scanType
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.ecr.model.PutRegistryScanningConfigurationRequest = PutRegistryScanningConfigurationRequest(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy