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

commonMain.aws.sdk.kotlin.services.kms.model.DescribeCustomKeyStoresRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.kms.model

import aws.smithy.kotlin.runtime.SdkDsl

public class DescribeCustomKeyStoresRequest private constructor(builder: Builder) {
    /**
     * Gets only information about the specified custom key store. Enter the key store ID.
     *
     * By default, this operation gets information about all custom key stores in the account and Region. To limit the output to a particular custom key store, provide either the `CustomKeyStoreId` or `CustomKeyStoreName` parameter, but not both.
     */
    public val customKeyStoreId: kotlin.String? = builder.customKeyStoreId
    /**
     * Gets only information about the specified custom key store. Enter the friendly name of the custom key store.
     *
     * By default, this operation gets information about all custom key stores in the account and Region. To limit the output to a particular custom key store, provide either the `CustomKeyStoreId` or `CustomKeyStoreName` parameter, but not both.
     */
    public val customKeyStoreName: kotlin.String? = builder.customKeyStoreName
    /**
     * Use this parameter to specify the maximum number of items to return. When this value is present, KMS does not return more than the specified number of items, but it might return fewer.
     */
    public val limit: kotlin.Int? = builder.limit
    /**
     * Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of `NextMarker` from the truncated response you just received.
     */
    public val marker: kotlin.String? = builder.marker

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

    override fun toString(): kotlin.String = buildString {
        append("DescribeCustomKeyStoresRequest(")
        append("customKeyStoreId=$customKeyStoreId,")
        append("customKeyStoreName=$customKeyStoreName,")
        append("limit=$limit,")
        append("marker=$marker")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = customKeyStoreId?.hashCode() ?: 0
        result = 31 * result + (customKeyStoreName?.hashCode() ?: 0)
        result = 31 * result + (limit ?: 0)
        result = 31 * result + (marker?.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 DescribeCustomKeyStoresRequest

        if (customKeyStoreId != other.customKeyStoreId) return false
        if (customKeyStoreName != other.customKeyStoreName) return false
        if (limit != other.limit) return false
        if (marker != other.marker) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Gets only information about the specified custom key store. Enter the key store ID.
         *
         * By default, this operation gets information about all custom key stores in the account and Region. To limit the output to a particular custom key store, provide either the `CustomKeyStoreId` or `CustomKeyStoreName` parameter, but not both.
         */
        public var customKeyStoreId: kotlin.String? = null
        /**
         * Gets only information about the specified custom key store. Enter the friendly name of the custom key store.
         *
         * By default, this operation gets information about all custom key stores in the account and Region. To limit the output to a particular custom key store, provide either the `CustomKeyStoreId` or `CustomKeyStoreName` parameter, but not both.
         */
        public var customKeyStoreName: kotlin.String? = null
        /**
         * Use this parameter to specify the maximum number of items to return. When this value is present, KMS does not return more than the specified number of items, but it might return fewer.
         */
        public var limit: kotlin.Int? = null
        /**
         * Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of `NextMarker` from the truncated response you just received.
         */
        public var marker: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kms.model.DescribeCustomKeyStoresRequest) : this() {
            this.customKeyStoreId = x.customKeyStoreId
            this.customKeyStoreName = x.customKeyStoreName
            this.limit = x.limit
            this.marker = x.marker
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy