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

commonMain.aws.sdk.kotlin.services.secretsmanager.model.GetSecretValueResponse.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.secretsmanager.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

public class GetSecretValueResponse private constructor(builder: Builder) {
    /**
     * The ARN of the secret.
     */
    public val arn: kotlin.String? = builder.arn
    /**
     * The date and time that this version of the secret was created. If you don't specify which version in `VersionId` or `VersionStage`, then Secrets Manager uses the `AWSCURRENT` version.
     */
    public val createdDate: aws.smithy.kotlin.runtime.time.Instant? = builder.createdDate
    /**
     * The friendly name of the secret.
     */
    public val name: kotlin.String? = builder.name
    /**
     * The decrypted secret value, if the secret value was originally provided as binary data in the form of a byte array. When you retrieve a `SecretBinary` using the HTTP API, the Python SDK, or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not encoded.
     *
     * If the secret was created by using the Secrets Manager console, or if the secret value was originally provided as a string, then this field is omitted. The secret value appears in `SecretString` instead.
     *
     * Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.
     */
    public val secretBinary: kotlin.ByteArray? = builder.secretBinary
    /**
     * The decrypted secret value, if the secret value was originally provided as a string or through the Secrets Manager console.
     *
     * If this secret was created by using the console, then Secrets Manager stores the information as a JSON structure of key/value pairs.
     *
     * Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.
     */
    public val secretString: kotlin.String? = builder.secretString
    /**
     * The unique identifier of this version of the secret.
     */
    public val versionId: kotlin.String? = builder.versionId
    /**
     * A list of all of the staging labels currently attached to this version of the secret.
     */
    public val versionStages: List? = builder.versionStages

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

    override fun toString(): kotlin.String = buildString {
        append("GetSecretValueResponse(")
        append("arn=$arn,")
        append("createdDate=$createdDate,")
        append("name=$name,")
        append("secretBinary=*** Sensitive Data Redacted ***,")
        append("secretString=*** Sensitive Data Redacted ***,")
        append("versionId=$versionId,")
        append("versionStages=$versionStages")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = arn?.hashCode() ?: 0
        result = 31 * result + (createdDate?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (secretBinary?.contentHashCode() ?: 0)
        result = 31 * result + (secretString?.hashCode() ?: 0)
        result = 31 * result + (versionId?.hashCode() ?: 0)
        result = 31 * result + (versionStages?.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 GetSecretValueResponse

        if (arn != other.arn) return false
        if (createdDate != other.createdDate) return false
        if (name != other.name) return false
        if (secretBinary != null) {
            if (other.secretBinary == null) return false
            if (!secretBinary.contentEquals(other.secretBinary)) return false
        } else if (other.secretBinary != null) return false
        if (secretString != other.secretString) return false
        if (versionId != other.versionId) return false
        if (versionStages != other.versionStages) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The ARN of the secret.
         */
        public var arn: kotlin.String? = null
        /**
         * The date and time that this version of the secret was created. If you don't specify which version in `VersionId` or `VersionStage`, then Secrets Manager uses the `AWSCURRENT` version.
         */
        public var createdDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The friendly name of the secret.
         */
        public var name: kotlin.String? = null
        /**
         * The decrypted secret value, if the secret value was originally provided as binary data in the form of a byte array. When you retrieve a `SecretBinary` using the HTTP API, the Python SDK, or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not encoded.
         *
         * If the secret was created by using the Secrets Manager console, or if the secret value was originally provided as a string, then this field is omitted. The secret value appears in `SecretString` instead.
         *
         * Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.
         */
        public var secretBinary: kotlin.ByteArray? = null
        /**
         * The decrypted secret value, if the secret value was originally provided as a string or through the Secrets Manager console.
         *
         * If this secret was created by using the console, then Secrets Manager stores the information as a JSON structure of key/value pairs.
         *
         * Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.
         */
        public var secretString: kotlin.String? = null
        /**
         * The unique identifier of this version of the secret.
         */
        public var versionId: kotlin.String? = null
        /**
         * A list of all of the staging labels currently attached to this version of the secret.
         */
        public var versionStages: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.secretsmanager.model.GetSecretValueResponse) : this() {
            this.arn = x.arn
            this.createdDate = x.createdDate
            this.name = x.name
            this.secretBinary = x.secretBinary
            this.secretString = x.secretString
            this.versionId = x.versionId
            this.versionStages = x.versionStages
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy