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

commonMain.aws.sdk.kotlin.services.auditmanager.model.UpdateSettingsRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.auditmanager.model

import aws.smithy.kotlin.runtime.SdkDsl

public class UpdateSettingsRequest private constructor(builder: Builder) {
    /**
     * The default S3 destination bucket for storing assessment reports.
     */
    public val defaultAssessmentReportsDestination: aws.sdk.kotlin.services.auditmanager.model.AssessmentReportsDestination? = builder.defaultAssessmentReportsDestination
    /**
     * The default S3 destination bucket for storing evidence finder exports.
     */
    public val defaultExportDestination: aws.sdk.kotlin.services.auditmanager.model.DefaultExportDestination? = builder.defaultExportDestination
    /**
     * A list of the default audit owners.
     */
    public val defaultProcessOwners: List? = builder.defaultProcessOwners
    /**
     * The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.
     */
    public val deregistrationPolicy: aws.sdk.kotlin.services.auditmanager.model.DeregistrationPolicy? = builder.deregistrationPolicy
    /**
     * Specifies whether the evidence finder feature is enabled. Change this attribute to enable or disable evidence finder.
     *
     * When you use this attribute to disable evidence finder, Audit Manager deletes the event data store that’s used to query your evidence data. As a result, you can’t re-enable evidence finder and use the feature again. Your only alternative is to [deregister](https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html) and then [re-register](https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html) Audit Manager.
     */
    public val evidenceFinderEnabled: kotlin.Boolean? = builder.evidenceFinderEnabled
    /**
     * The KMS key details.
     */
    public val kmsKey: kotlin.String? = builder.kmsKey
    /**
     * The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends notifications to.
     */
    public val snsTopic: kotlin.String? = builder.snsTopic

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateSettingsRequest(")
        append("defaultAssessmentReportsDestination=*** Sensitive Data Redacted ***,")
        append("defaultExportDestination=$defaultExportDestination,")
        append("defaultProcessOwners=*** Sensitive Data Redacted ***,")
        append("deregistrationPolicy=$deregistrationPolicy,")
        append("evidenceFinderEnabled=$evidenceFinderEnabled,")
        append("kmsKey=$kmsKey,")
        append("snsTopic=$snsTopic")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = defaultAssessmentReportsDestination?.hashCode() ?: 0
        result = 31 * result + (defaultExportDestination?.hashCode() ?: 0)
        result = 31 * result + (defaultProcessOwners?.hashCode() ?: 0)
        result = 31 * result + (deregistrationPolicy?.hashCode() ?: 0)
        result = 31 * result + (evidenceFinderEnabled?.hashCode() ?: 0)
        result = 31 * result + (kmsKey?.hashCode() ?: 0)
        result = 31 * result + (snsTopic?.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 UpdateSettingsRequest

        if (defaultAssessmentReportsDestination != other.defaultAssessmentReportsDestination) return false
        if (defaultExportDestination != other.defaultExportDestination) return false
        if (defaultProcessOwners != other.defaultProcessOwners) return false
        if (deregistrationPolicy != other.deregistrationPolicy) return false
        if (evidenceFinderEnabled != other.evidenceFinderEnabled) return false
        if (kmsKey != other.kmsKey) return false
        if (snsTopic != other.snsTopic) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The default S3 destination bucket for storing assessment reports.
         */
        public var defaultAssessmentReportsDestination: aws.sdk.kotlin.services.auditmanager.model.AssessmentReportsDestination? = null
        /**
         * The default S3 destination bucket for storing evidence finder exports.
         */
        public var defaultExportDestination: aws.sdk.kotlin.services.auditmanager.model.DefaultExportDestination? = null
        /**
         * A list of the default audit owners.
         */
        public var defaultProcessOwners: List? = null
        /**
         * The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.
         */
        public var deregistrationPolicy: aws.sdk.kotlin.services.auditmanager.model.DeregistrationPolicy? = null
        /**
         * Specifies whether the evidence finder feature is enabled. Change this attribute to enable or disable evidence finder.
         *
         * When you use this attribute to disable evidence finder, Audit Manager deletes the event data store that’s used to query your evidence data. As a result, you can’t re-enable evidence finder and use the feature again. Your only alternative is to [deregister](https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html) and then [re-register](https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html) Audit Manager.
         */
        public var evidenceFinderEnabled: kotlin.Boolean? = null
        /**
         * The KMS key details.
         */
        public var kmsKey: kotlin.String? = null
        /**
         * The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends notifications to.
         */
        public var snsTopic: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.auditmanager.model.UpdateSettingsRequest) : this() {
            this.defaultAssessmentReportsDestination = x.defaultAssessmentReportsDestination
            this.defaultExportDestination = x.defaultExportDestination
            this.defaultProcessOwners = x.defaultProcessOwners
            this.deregistrationPolicy = x.deregistrationPolicy
            this.evidenceFinderEnabled = x.evidenceFinderEnabled
            this.kmsKey = x.kmsKey
            this.snsTopic = x.snsTopic
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.auditmanager.model.AssessmentReportsDestination] inside the given [block]
         */
        public fun defaultAssessmentReportsDestination(block: aws.sdk.kotlin.services.auditmanager.model.AssessmentReportsDestination.Builder.() -> kotlin.Unit) {
            this.defaultAssessmentReportsDestination = aws.sdk.kotlin.services.auditmanager.model.AssessmentReportsDestination.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.auditmanager.model.DefaultExportDestination] inside the given [block]
         */
        public fun defaultExportDestination(block: aws.sdk.kotlin.services.auditmanager.model.DefaultExportDestination.Builder.() -> kotlin.Unit) {
            this.defaultExportDestination = aws.sdk.kotlin.services.auditmanager.model.DefaultExportDestination.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.auditmanager.model.DeregistrationPolicy] inside the given [block]
         */
        public fun deregistrationPolicy(block: aws.sdk.kotlin.services.auditmanager.model.DeregistrationPolicy.Builder.() -> kotlin.Unit) {
            this.deregistrationPolicy = aws.sdk.kotlin.services.auditmanager.model.DeregistrationPolicy.invoke(block)
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy