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

commonMain.aws.sdk.kotlin.services.auditmanager.model.Settings.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

/**
 * The settings object that holds all supported Audit Manager settings.
 */
public class Settings 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
    /**
     * The designated 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
    /**
     * The current evidence finder status and event data store details.
     */
    public val evidenceFinderEnablement: aws.sdk.kotlin.services.auditmanager.model.EvidenceFinderEnablement? = builder.evidenceFinderEnablement
    /**
     * Specifies whether Organizations is enabled.
     */
    public val isAwsOrgEnabled: kotlin.Boolean? = builder.isAwsOrgEnabled
    /**
     * The KMS key details.
     */
    public val kmsKey: kotlin.String? = builder.kmsKey
    /**
     * The designated Amazon Simple Notification Service (Amazon SNS) topic.
     */
    public val snsTopic: kotlin.String? = builder.snsTopic

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

    override fun toString(): kotlin.String = buildString {
        append("Settings(")
        append("defaultAssessmentReportsDestination=*** Sensitive Data Redacted ***,")
        append("defaultExportDestination=$defaultExportDestination,")
        append("defaultProcessOwners=*** Sensitive Data Redacted ***,")
        append("deregistrationPolicy=$deregistrationPolicy,")
        append("evidenceFinderEnablement=$evidenceFinderEnablement,")
        append("isAwsOrgEnabled=$isAwsOrgEnabled,")
        append("kmsKey=$kmsKey,")
        append("snsTopic=*** Sensitive Data Redacted ***")
        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 + (evidenceFinderEnablement?.hashCode() ?: 0)
        result = 31 * result + (isAwsOrgEnabled?.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 Settings

        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 (evidenceFinderEnablement != other.evidenceFinderEnablement) return false
        if (isAwsOrgEnabled != other.isAwsOrgEnabled) 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.Settings = 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
        /**
         * The designated 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
        /**
         * The current evidence finder status and event data store details.
         */
        public var evidenceFinderEnablement: aws.sdk.kotlin.services.auditmanager.model.EvidenceFinderEnablement? = null
        /**
         * Specifies whether Organizations is enabled.
         */
        public var isAwsOrgEnabled: kotlin.Boolean? = null
        /**
         * The KMS key details.
         */
        public var kmsKey: kotlin.String? = null
        /**
         * The designated Amazon Simple Notification Service (Amazon SNS) topic.
         */
        public var snsTopic: kotlin.String? = null

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

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.auditmanager.model.Settings = Settings(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)
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy