
commonMain.aws.sdk.kotlin.services.configservice.model.Evaluation.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
/**
* Identifies an Amazon Web Services resource and indicates whether it complies with the Config rule that it was evaluated against.
*/
class Evaluation private constructor(builder: Builder) {
/**
* Supplementary information about how the evaluation determined the compliance.
*/
val annotation: kotlin.String? = builder.annotation
/**
* The ID of the Amazon Web Services resource that was evaluated.
*/
val complianceResourceId: kotlin.String? = builder.complianceResourceId
/**
* The type of Amazon Web Services resource that was evaluated.
*/
val complianceResourceType: kotlin.String? = builder.complianceResourceType
/**
* Indicates whether the Amazon Web Services resource complies with the Config rule that it was evaluated against.
*
* For the `Evaluation` data type, Config supports only the `COMPLIANT`, `NON_COMPLIANT`, and `NOT_APPLICABLE` values. Config does not support the `INSUFFICIENT_DATA` value for this data type.
*
* Similarly, Config does not accept `INSUFFICIENT_DATA` as the value for `ComplianceType` from a `PutEvaluations` request. For example, an Lambda function for a custom Config rule cannot pass an `INSUFFICIENT_DATA` value to Config.
*/
val complianceType: aws.sdk.kotlin.services.configservice.model.ComplianceType? = builder.complianceType
/**
* The time of the event in Config that triggered the evaluation. For event-based evaluations, the time indicates when Config created the configuration item that triggered the evaluation. For periodic evaluations, the time indicates when Config triggered the evaluation at the frequency that you specified (for example, every 24 hours).
*/
val orderingTimestamp: aws.smithy.kotlin.runtime.time.Instant? = builder.orderingTimestamp
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.configservice.model.Evaluation = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Evaluation(")
append("annotation=$annotation,")
append("complianceResourceId=$complianceResourceId,")
append("complianceResourceType=$complianceResourceType,")
append("complianceType=$complianceType,")
append("orderingTimestamp=$orderingTimestamp)")
}
override fun hashCode(): kotlin.Int {
var result = annotation?.hashCode() ?: 0
result = 31 * result + (complianceResourceId?.hashCode() ?: 0)
result = 31 * result + (complianceResourceType?.hashCode() ?: 0)
result = 31 * result + (complianceType?.hashCode() ?: 0)
result = 31 * result + (orderingTimestamp?.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 Evaluation
if (annotation != other.annotation) return false
if (complianceResourceId != other.complianceResourceId) return false
if (complianceResourceType != other.complianceResourceType) return false
if (complianceType != other.complianceType) return false
if (orderingTimestamp != other.orderingTimestamp) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.configservice.model.Evaluation = Builder(this).apply(block).build()
class Builder {
/**
* Supplementary information about how the evaluation determined the compliance.
*/
var annotation: kotlin.String? = null
/**
* The ID of the Amazon Web Services resource that was evaluated.
*/
var complianceResourceId: kotlin.String? = null
/**
* The type of Amazon Web Services resource that was evaluated.
*/
var complianceResourceType: kotlin.String? = null
/**
* Indicates whether the Amazon Web Services resource complies with the Config rule that it was evaluated against.
*
* For the `Evaluation` data type, Config supports only the `COMPLIANT`, `NON_COMPLIANT`, and `NOT_APPLICABLE` values. Config does not support the `INSUFFICIENT_DATA` value for this data type.
*
* Similarly, Config does not accept `INSUFFICIENT_DATA` as the value for `ComplianceType` from a `PutEvaluations` request. For example, an Lambda function for a custom Config rule cannot pass an `INSUFFICIENT_DATA` value to Config.
*/
var complianceType: aws.sdk.kotlin.services.configservice.model.ComplianceType? = null
/**
* The time of the event in Config that triggered the evaluation. For event-based evaluations, the time indicates when Config created the configuration item that triggered the evaluation. For periodic evaluations, the time indicates when Config triggered the evaluation at the frequency that you specified (for example, every 24 hours).
*/
var orderingTimestamp: aws.smithy.kotlin.runtime.time.Instant? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.configservice.model.Evaluation) : this() {
this.annotation = x.annotation
this.complianceResourceId = x.complianceResourceId
this.complianceResourceType = x.complianceResourceType
this.complianceType = x.complianceType
this.orderingTimestamp = x.orderingTimestamp
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.configservice.model.Evaluation = Evaluation(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy