commonMain.aws.sdk.kotlin.services.devopsguru.model.KmsServerSideEncryptionIntegration.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of devopsguru-jvm Show documentation
Show all versions of devopsguru-jvm Show documentation
The AWS SDK for Kotlin client for DevOps Guru
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.devopsguru.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Information about the KMS encryption used with DevOps Guru.
*/
public class KmsServerSideEncryptionIntegration private constructor(builder: Builder) {
/**
* Describes the specified KMS key.
*
* To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with "alias/". If you specify a predefined Amazon Web Services alias (an Amazon Web Services alias with no key ID), Amazon Web Services KMS associates the alias with an Amazon Web Services managed key and returns its KeyId and Arn in the response. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.
*
* For example:
*
* Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
*
* Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
*
* Alias name: alias/ExampleAlias
*
* Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
*/
public val kmsKeyId: kotlin.String? = builder.kmsKeyId
/**
* Specifies if DevOps Guru is enabled for customer managed keys.
*/
public val optInStatus: aws.sdk.kotlin.services.devopsguru.model.OptInStatus? = builder.optInStatus
/**
* The type of KMS key used. Customer managed keys are the KMS keys that you create. Amazon Web Services owned keys are keys that are owned and managed by DevOps Guru.
*/
public val type: aws.sdk.kotlin.services.devopsguru.model.ServerSideEncryptionType? = builder.type
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.devopsguru.model.KmsServerSideEncryptionIntegration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("KmsServerSideEncryptionIntegration(")
append("kmsKeyId=$kmsKeyId,")
append("optInStatus=$optInStatus,")
append("type=$type")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = kmsKeyId?.hashCode() ?: 0
result = 31 * result + (optInStatus?.hashCode() ?: 0)
result = 31 * result + (type?.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 KmsServerSideEncryptionIntegration
if (kmsKeyId != other.kmsKeyId) return false
if (optInStatus != other.optInStatus) return false
if (type != other.type) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.devopsguru.model.KmsServerSideEncryptionIntegration = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Describes the specified KMS key.
*
* To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with "alias/". If you specify a predefined Amazon Web Services alias (an Amazon Web Services alias with no key ID), Amazon Web Services KMS associates the alias with an Amazon Web Services managed key and returns its KeyId and Arn in the response. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.
*
* For example:
*
* Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
*
* Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
*
* Alias name: alias/ExampleAlias
*
* Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
*/
public var kmsKeyId: kotlin.String? = null
/**
* Specifies if DevOps Guru is enabled for customer managed keys.
*/
public var optInStatus: aws.sdk.kotlin.services.devopsguru.model.OptInStatus? = null
/**
* The type of KMS key used. Customer managed keys are the KMS keys that you create. Amazon Web Services owned keys are keys that are owned and managed by DevOps Guru.
*/
public var type: aws.sdk.kotlin.services.devopsguru.model.ServerSideEncryptionType? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.devopsguru.model.KmsServerSideEncryptionIntegration) : this() {
this.kmsKeyId = x.kmsKeyId
this.optInStatus = x.optInStatus
this.type = x.type
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.devopsguru.model.KmsServerSideEncryptionIntegration = KmsServerSideEncryptionIntegration(this)
internal fun correctErrors(): Builder {
return this
}
}
}