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

commonMain.aws.sdk.kotlin.services.ssm.model.DescribeAvailablePatchesRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.ssm.model



public class DescribeAvailablePatchesRequest private constructor(builder: Builder) {
    /**
     * Each element in the array is a structure containing a key-value pair.
     *
     * **Windows Server**
     *
     * Supported keys for Windows Server managed node patches include the following:
     * + **`PATCH_SET`**Sample values: `OS` | `APPLICATION`
     * + **`PRODUCT`**Sample values: `WindowsServer2012` | `Office 2010` | `MicrosoftDefenderAntivirus`
     * + **`PRODUCT_FAMILY`**Sample values: `Windows` | `Office`
     * + **`MSRC_SEVERITY`**Sample values: `ServicePacks` | `Important` | `Moderate`
     * + **`CLASSIFICATION`**Sample values: `ServicePacks` | `SecurityUpdates` | `DefinitionUpdates`
     * + **`PATCH_ID`**Sample values: `KB123456` | `KB4516046`
     *
     * **Linux**
     *
     * When specifying filters for Linux patches, you must specify a key-pair for `PRODUCT`. For example, using the Command Line Interface (CLI), the following command fails:
     *
     * `aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615`
     *
     * However, the following command succeeds:
     *
     * `aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615`
     *
     * Supported keys for Linux managed node patches include the following:
     * + **`PRODUCT`**Sample values: `AmazonLinux2018.03` | `AmazonLinux2.0`
     * + **`NAME`**Sample values: `kernel-headers` | `samba-python` | `php`
     * + **`SEVERITY`**Sample values: `Critical` | `Important` | `Medium` | `Low`
     * + **`EPOCH`**Sample values: `0` | `1`
     * + **`VERSION`**Sample values: `78.6.1` | `4.10.16`
     * + **`RELEASE`**Sample values: `9.56.amzn1` | `1.amzn2`
     * + **`ARCH`**Sample values: `i686` | `x86_64`
     * + **`REPOSITORY`**Sample values: `Core` | `Updates`
     * + **`ADVISORY_ID`**Sample values: `ALAS-2018-1058` | `ALAS2-2021-1594`
     * + **`CVE_ID`**Sample values: `CVE-2018-3615` | `CVE-2020-1472`
     * + **`BUGZILLA_ID`**Sample values: `1463241`
     */
    public val filters: List? = builder.filters
    /**
     * The maximum number of patches to return (per page).
     */
    public val maxResults: kotlin.Int? = builder.maxResults
    /**
     * The token for the next set of items to return. (You received this token from a previous call.)
     */
    public val nextToken: kotlin.String? = builder.nextToken

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

    override fun toString(): kotlin.String = buildString {
        append("DescribeAvailablePatchesRequest(")
        append("filters=$filters,")
        append("maxResults=$maxResults,")
        append("nextToken=$nextToken")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = filters?.hashCode() ?: 0
        result = 31 * result + (maxResults ?: 0)
        result = 31 * result + (nextToken?.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 DescribeAvailablePatchesRequest

        if (filters != other.filters) return false
        if (maxResults != other.maxResults) return false
        if (nextToken != other.nextToken) return false

        return true
    }

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

    public class Builder {
        /**
         * Each element in the array is a structure containing a key-value pair.
         *
         * **Windows Server**
         *
         * Supported keys for Windows Server managed node patches include the following:
         * + **`PATCH_SET`**Sample values: `OS` | `APPLICATION`
         * + **`PRODUCT`**Sample values: `WindowsServer2012` | `Office 2010` | `MicrosoftDefenderAntivirus`
         * + **`PRODUCT_FAMILY`**Sample values: `Windows` | `Office`
         * + **`MSRC_SEVERITY`**Sample values: `ServicePacks` | `Important` | `Moderate`
         * + **`CLASSIFICATION`**Sample values: `ServicePacks` | `SecurityUpdates` | `DefinitionUpdates`
         * + **`PATCH_ID`**Sample values: `KB123456` | `KB4516046`
         *
         * **Linux**
         *
         * When specifying filters for Linux patches, you must specify a key-pair for `PRODUCT`. For example, using the Command Line Interface (CLI), the following command fails:
         *
         * `aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615`
         *
         * However, the following command succeeds:
         *
         * `aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615`
         *
         * Supported keys for Linux managed node patches include the following:
         * + **`PRODUCT`**Sample values: `AmazonLinux2018.03` | `AmazonLinux2.0`
         * + **`NAME`**Sample values: `kernel-headers` | `samba-python` | `php`
         * + **`SEVERITY`**Sample values: `Critical` | `Important` | `Medium` | `Low`
         * + **`EPOCH`**Sample values: `0` | `1`
         * + **`VERSION`**Sample values: `78.6.1` | `4.10.16`
         * + **`RELEASE`**Sample values: `9.56.amzn1` | `1.amzn2`
         * + **`ARCH`**Sample values: `i686` | `x86_64`
         * + **`REPOSITORY`**Sample values: `Core` | `Updates`
         * + **`ADVISORY_ID`**Sample values: `ALAS-2018-1058` | `ALAS2-2021-1594`
         * + **`CVE_ID`**Sample values: `CVE-2018-3615` | `CVE-2020-1472`
         * + **`BUGZILLA_ID`**Sample values: `1463241`
         */
        public var filters: List? = null
        /**
         * The maximum number of patches to return (per page).
         */
        public var maxResults: kotlin.Int? = null
        /**
         * The token for the next set of items to return. (You received this token from a previous call.)
         */
        public var nextToken: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.ssm.model.DescribeAvailablePatchesRequest) : this() {
            this.filters = x.filters
            this.maxResults = x.maxResults
            this.nextToken = x.nextToken
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy