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.
 */
public class ConfigRuleEvaluationStatus private constructor(builder: Builder) {
    /**
     * The Amazon Resource Name (ARN) of the Config rule.
     */
    public val configRuleArn: kotlin.String? = builder.configRuleArn
    /**
     * The ID of the Config rule.
     */
    public val configRuleId: kotlin.String? = builder.configRuleId
    /**
     * The name of the Config rule.
     */
    public val configRuleName: kotlin.String? = builder.configRuleName
    /**
     * The time that you first activated the Config rule.
     */
    public 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.
     */
    public val firstEvaluationStarted: kotlin.Boolean = builder.firstEvaluationStarted
    /**
     * The time that you last turned off the Config rule.
     */
    public 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`.
     */
    public 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.
     */
    public val lastDebugLogDeliveryStatusReason: kotlin.String? = builder.lastDebugLogDeliveryStatusReason
    /**
     * The time Config last attempted to deliver a debug log for your Config Custom Policy rules.
     */
    public val lastDebugLogDeliveryTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastDebugLogDeliveryTime
    /**
     * The error code that Config returned when the rule last failed.
     */
    public val lastErrorCode: kotlin.String? = builder.lastErrorCode
    /**
     * The error message that Config returned when the rule last failed.
     */
    public val lastErrorMessage: kotlin.String? = builder.lastErrorMessage
    /**
     * The time that Config last failed to evaluate your Amazon Web Services resources against the rule.
     */
    public 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.
     */
    public 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.
     */
    public 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.
     */
    public val lastSuccessfulInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastSuccessfulInvocationTime

    public companion object {
        public 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")
        append(")")
    }

    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
    }

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

    public class Builder {
        /**
         * The Amazon Resource Name (ARN) of the Config rule.
         */
        public var configRuleArn: kotlin.String? = null
        /**
         * The ID of the Config rule.
         */
        public var configRuleId: kotlin.String? = null
        /**
         * The name of the Config rule.
         */
        public var configRuleName: kotlin.String? = null
        /**
         * The time that you first activated the Config rule.
         */
        public 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.
         */
        public var firstEvaluationStarted: kotlin.Boolean = false
        /**
         * The time that you last turned off the Config rule.
         */
        public 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`.
         */
        public 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.
         */
        public var lastDebugLogDeliveryStatusReason: kotlin.String? = null
        /**
         * The time Config last attempted to deliver a debug log for your Config Custom Policy rules.
         */
        public var lastDebugLogDeliveryTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The error code that Config returned when the rule last failed.
         */
        public var lastErrorCode: kotlin.String? = null
        /**
         * The error message that Config returned when the rule last failed.
         */
        public var lastErrorMessage: kotlin.String? = null
        /**
         * The time that Config last failed to evaluate your Amazon Web Services resources against the rule.
         */
        public 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.
         */
        public var lastFailedInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The time that Config last successfully evaluated your Amazon Web Services resources against the rule.
         */
        public 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.
         */
        public var lastSuccessfulInvocationTime: aws.smithy.kotlin.runtime.time.Instant? = null

        @PublishedApi
        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)

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy