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

commonMain.aws.sdk.kotlin.services.configservice.model.AggregateEvaluationResult.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.configservice.model

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

/**
 * The details of an Config evaluation for an account ID and region in an aggregator. Provides the Amazon Web Services resource that was evaluated, the compliance of the resource, related time stamps, and supplementary information.
 */
class AggregateEvaluationResult private constructor(builder: Builder) {
    /**
     * The 12-digit account ID of the source account.
     */
    val accountId: kotlin.String? = builder.accountId
    /**
     * Supplementary information about how the agrregate evaluation determined the compliance.
     */
    val annotation: kotlin.String? = builder.annotation
    /**
     * The source region from where the data is aggregated.
     */
    val awsRegion: kotlin.String? = builder.awsRegion
    /**
     * The resource compliance status.
     *
     * For the `AggregationEvaluationResult` data type, Config supports only the `COMPLIANT` and `NON_COMPLIANT`. Config does not support the `NOT_APPLICABLE` and `INSUFFICIENT_DATA` value.
     */
    val complianceType: aws.sdk.kotlin.services.configservice.model.ComplianceType? = builder.complianceType
    /**
     * The time when the Config rule evaluated the Amazon Web Services resource.
     */
    val configRuleInvokedTime: aws.smithy.kotlin.runtime.time.Instant? = builder.configRuleInvokedTime
    /**
     * Uniquely identifies the evaluation result.
     */
    val evaluationResultIdentifier: aws.sdk.kotlin.services.configservice.model.EvaluationResultIdentifier? = builder.evaluationResultIdentifier
    /**
     * The time when Config recorded the aggregate evaluation result.
     */
    val resultRecordedTime: aws.smithy.kotlin.runtime.time.Instant? = builder.resultRecordedTime

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

    override fun toString(): kotlin.String = buildString {
        append("AggregateEvaluationResult(")
        append("accountId=$accountId,")
        append("annotation=$annotation,")
        append("awsRegion=$awsRegion,")
        append("complianceType=$complianceType,")
        append("configRuleInvokedTime=$configRuleInvokedTime,")
        append("evaluationResultIdentifier=$evaluationResultIdentifier,")
        append("resultRecordedTime=$resultRecordedTime)")
    }

    override fun hashCode(): kotlin.Int {
        var result = accountId?.hashCode() ?: 0
        result = 31 * result + (annotation?.hashCode() ?: 0)
        result = 31 * result + (awsRegion?.hashCode() ?: 0)
        result = 31 * result + (complianceType?.hashCode() ?: 0)
        result = 31 * result + (configRuleInvokedTime?.hashCode() ?: 0)
        result = 31 * result + (evaluationResultIdentifier?.hashCode() ?: 0)
        result = 31 * result + (resultRecordedTime?.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 AggregateEvaluationResult

        if (accountId != other.accountId) return false
        if (annotation != other.annotation) return false
        if (awsRegion != other.awsRegion) return false
        if (complianceType != other.complianceType) return false
        if (configRuleInvokedTime != other.configRuleInvokedTime) return false
        if (evaluationResultIdentifier != other.evaluationResultIdentifier) return false
        if (resultRecordedTime != other.resultRecordedTime) return false

        return true
    }

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

    class Builder {
        /**
         * The 12-digit account ID of the source account.
         */
        var accountId: kotlin.String? = null
        /**
         * Supplementary information about how the agrregate evaluation determined the compliance.
         */
        var annotation: kotlin.String? = null
        /**
         * The source region from where the data is aggregated.
         */
        var awsRegion: kotlin.String? = null
        /**
         * The resource compliance status.
         *
         * For the `AggregationEvaluationResult` data type, Config supports only the `COMPLIANT` and `NON_COMPLIANT`. Config does not support the `NOT_APPLICABLE` and `INSUFFICIENT_DATA` value.
         */
        var complianceType: aws.sdk.kotlin.services.configservice.model.ComplianceType? = null
        /**
         * The time when the Config rule evaluated the Amazon Web Services resource.
         */
        var configRuleInvokedTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Uniquely identifies the evaluation result.
         */
        var evaluationResultIdentifier: aws.sdk.kotlin.services.configservice.model.EvaluationResultIdentifier? = null
        /**
         * The time when Config recorded the aggregate evaluation result.
         */
        var resultRecordedTime: aws.smithy.kotlin.runtime.time.Instant? = null

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.configservice.model.AggregateEvaluationResult) : this() {
            this.accountId = x.accountId
            this.annotation = x.annotation
            this.awsRegion = x.awsRegion
            this.complianceType = x.complianceType
            this.configRuleInvokedTime = x.configRuleInvokedTime
            this.evaluationResultIdentifier = x.evaluationResultIdentifier
            this.resultRecordedTime = x.resultRecordedTime
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy