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

commonMain.aws.sdk.kotlin.services.configservice.model.ConfigRuleEvaluationStatus.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

/**
 * Status information for your Config Managed rules and Config Custom Policy rules. The status includes information such as the last time the rule ran, the last time it failed, and the related error for the last failure.
 *
 * This action does not return status information about Config Custom Lambda rules.
 */
class ConfigRuleEvaluationStatus private constructor(builder: Builder) {
    /**
     * The Amazon Resource Name (ARN) of the Config rule.
     */
    val configRuleArn: kotlin.String? = builder.configRuleArn
    /**
     * The ID of the Config rule.
     */
    val configRuleId: kotlin.String? = builder.configRuleId
    /**
     * The name of the Config rule.
     */
    val configRuleName: kotlin.String? = builder.configRuleName
    /**
     * The time that you first activated the Config rule.
     */
    val firstActivatedTime: aws.smithy.kotlin.runtime.time.Instant? = builder.firstActivatedTime
    /**
     * Indicates whether Config has evaluated your resources against the rule at least once.
     * + `true` - Config has evaluated your Amazon Web Services resources against the rule at least once.
     * + `false` - Config has not finished evaluating your Amazon Web Services resources against the rule at least once.
     */
    val firstEvaluationStarted: kotlin.Boolean = builder.firstEvaluationStarted
    /**
     * The time that you last turned off the Config rule.
     */
    val lastDeactivatedTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastDeactivatedTime
    /**
     * The status of the last attempted delivery of a debug log for your Config Custom Policy rules. Either `Successful` or `Failed`.
     */
    val lastDebugLogDeliveryStatus: kotlin.String? = builder.lastDebugLogDeliveryStatus
    /**
     * The reason Config was not able to deliver a debug log. This is for the last failed attempt to retrieve a debug log for your Config Custom Policy rules.
     */
    val lastDebugLogDeliveryStatusReason: kotlin.String? = builder.lastDebugLogDeliveryStatusReason
    /**
     * The time Config last attempted to deliver a debug log for your Config Custom Policy rules.
     */
    val lastDebugLogDeliveryTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastDebugLogDeliveryTime
    /**
     * The error code that Config returned when the rule last failed.
     */
    val lastErrorCode: kotlin.String? = builder.lastErrorCode
    /**
     * The error message that Config returned when the rule last failed.
     */
    val lastErrorMessage: kotlin.String? = builder.lastErrorMessage
    /**
     * The time that Config last failed to evaluate your Amazon Web Services resources against the rule.
     */
    val lastFailedEvaluationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastFailedEvaluationTime
    /**
     * The time that Config last failed to invoke the Config rule to evaluate your Amazon Web Services resources.
     */
    val lastFailedInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastFailedInvocationTime
    /**
     * The time that Config last successfully evaluated your Amazon Web Services resources against the rule.
     */
    val lastSuccessfulEvaluationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastSuccessfulEvaluationTime
    /**
     * The time that Config last successfully invoked the Config rule to evaluate your Amazon Web Services resources.
     */
    val lastSuccessfulInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastSuccessfulInvocationTime

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

    override fun toString(): kotlin.String = buildString {
        append("ConfigRuleEvaluationStatus(")
        append("configRuleArn=$configRuleArn,")
        append("configRuleId=$configRuleId,")
        append("configRuleName=$configRuleName,")
        append("firstActivatedTime=$firstActivatedTime,")
        append("firstEvaluationStarted=$firstEvaluationStarted,")
        append("lastDeactivatedTime=$lastDeactivatedTime,")
        append("lastDebugLogDeliveryStatus=$lastDebugLogDeliveryStatus,")
        append("lastDebugLogDeliveryStatusReason=$lastDebugLogDeliveryStatusReason,")
        append("lastDebugLogDeliveryTime=$lastDebugLogDeliveryTime,")
        append("lastErrorCode=$lastErrorCode,")
        append("lastErrorMessage=$lastErrorMessage,")
        append("lastFailedEvaluationTime=$lastFailedEvaluationTime,")
        append("lastFailedInvocationTime=$lastFailedInvocationTime,")
        append("lastSuccessfulEvaluationTime=$lastSuccessfulEvaluationTime,")
        append("lastSuccessfulInvocationTime=$lastSuccessfulInvocationTime)")
    }

    override fun hashCode(): kotlin.Int {
        var result = configRuleArn?.hashCode() ?: 0
        result = 31 * result + (configRuleId?.hashCode() ?: 0)
        result = 31 * result + (configRuleName?.hashCode() ?: 0)
        result = 31 * result + (firstActivatedTime?.hashCode() ?: 0)
        result = 31 * result + (firstEvaluationStarted.hashCode())
        result = 31 * result + (lastDeactivatedTime?.hashCode() ?: 0)
        result = 31 * result + (lastDebugLogDeliveryStatus?.hashCode() ?: 0)
        result = 31 * result + (lastDebugLogDeliveryStatusReason?.hashCode() ?: 0)
        result = 31 * result + (lastDebugLogDeliveryTime?.hashCode() ?: 0)
        result = 31 * result + (lastErrorCode?.hashCode() ?: 0)
        result = 31 * result + (lastErrorMessage?.hashCode() ?: 0)
        result = 31 * result + (lastFailedEvaluationTime?.hashCode() ?: 0)
        result = 31 * result + (lastFailedInvocationTime?.hashCode() ?: 0)
        result = 31 * result + (lastSuccessfulEvaluationTime?.hashCode() ?: 0)
        result = 31 * result + (lastSuccessfulInvocationTime?.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 ConfigRuleEvaluationStatus

        if (configRuleArn != other.configRuleArn) return false
        if (configRuleId != other.configRuleId) return false
        if (configRuleName != other.configRuleName) return false
        if (firstActivatedTime != other.firstActivatedTime) return false
        if (firstEvaluationStarted != other.firstEvaluationStarted) return false
        if (lastDeactivatedTime != other.lastDeactivatedTime) return false
        if (lastDebugLogDeliveryStatus != other.lastDebugLogDeliveryStatus) return false
        if (lastDebugLogDeliveryStatusReason != other.lastDebugLogDeliveryStatusReason) return false
        if (lastDebugLogDeliveryTime != other.lastDebugLogDeliveryTime) return false
        if (lastErrorCode != other.lastErrorCode) return false
        if (lastErrorMessage != other.lastErrorMessage) return false
        if (lastFailedEvaluationTime != other.lastFailedEvaluationTime) return false
        if (lastFailedInvocationTime != other.lastFailedInvocationTime) return false
        if (lastSuccessfulEvaluationTime != other.lastSuccessfulEvaluationTime) return false
        if (lastSuccessfulInvocationTime != other.lastSuccessfulInvocationTime) return false

        return true
    }

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

    class Builder {
        /**
         * The Amazon Resource Name (ARN) of the Config rule.
         */
        var configRuleArn: kotlin.String? = null
        /**
         * The ID of the Config rule.
         */
        var configRuleId: kotlin.String? = null
        /**
         * The name of the Config rule.
         */
        var configRuleName: kotlin.String? = null
        /**
         * The time that you first activated the Config rule.
         */
        var firstActivatedTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Indicates whether Config has evaluated your resources against the rule at least once.
         * + `true` - Config has evaluated your Amazon Web Services resources against the rule at least once.
         * + `false` - Config has not finished evaluating your Amazon Web Services resources against the rule at least once.
         */
        var firstEvaluationStarted: kotlin.Boolean = false
        /**
         * The time that you last turned off the Config rule.
         */
        var lastDeactivatedTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The status of the last attempted delivery of a debug log for your Config Custom Policy rules. Either `Successful` or `Failed`.
         */
        var lastDebugLogDeliveryStatus: kotlin.String? = null
        /**
         * The reason Config was not able to deliver a debug log. This is for the last failed attempt to retrieve a debug log for your Config Custom Policy rules.
         */
        var lastDebugLogDeliveryStatusReason: kotlin.String? = null
        /**
         * The time Config last attempted to deliver a debug log for your Config Custom Policy rules.
         */
        var lastDebugLogDeliveryTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The error code that Config returned when the rule last failed.
         */
        var lastErrorCode: kotlin.String? = null
        /**
         * The error message that Config returned when the rule last failed.
         */
        var lastErrorMessage: kotlin.String? = null
        /**
         * The time that Config last failed to evaluate your Amazon Web Services resources against the rule.
         */
        var lastFailedEvaluationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The time that Config last failed to invoke the Config rule to evaluate your Amazon Web Services resources.
         */
        var lastFailedInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The time that Config last successfully evaluated your Amazon Web Services resources against the rule.
         */
        var lastSuccessfulEvaluationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The time that Config last successfully invoked the Config rule to evaluate your Amazon Web Services resources.
         */
        var lastSuccessfulInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = null

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.configservice.model.ConfigRuleEvaluationStatus) : this() {
            this.configRuleArn = x.configRuleArn
            this.configRuleId = x.configRuleId
            this.configRuleName = x.configRuleName
            this.firstActivatedTime = x.firstActivatedTime
            this.firstEvaluationStarted = x.firstEvaluationStarted
            this.lastDeactivatedTime = x.lastDeactivatedTime
            this.lastDebugLogDeliveryStatus = x.lastDebugLogDeliveryStatus
            this.lastDebugLogDeliveryStatusReason = x.lastDebugLogDeliveryStatusReason
            this.lastDebugLogDeliveryTime = x.lastDebugLogDeliveryTime
            this.lastErrorCode = x.lastErrorCode
            this.lastErrorMessage = x.lastErrorMessage
            this.lastFailedEvaluationTime = x.lastFailedEvaluationTime
            this.lastFailedInvocationTime = x.lastFailedInvocationTime
            this.lastSuccessfulEvaluationTime = x.lastSuccessfulEvaluationTime
            this.lastSuccessfulInvocationTime = x.lastSuccessfulInvocationTime
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy