
commonMain.aws.sdk.kotlin.services.configservice.model.AggregateConformancePackCompliance.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.configservice.model
/**
* Provides the number of compliant and noncompliant rules within a conformance pack. Also provides the compliance status of the conformance pack and the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.
*
* A conformance pack is compliant if all of the rules in a conformance packs are compliant. It is noncompliant if any of the rules are not compliant. The compliance status of a conformance pack is INSUFFICIENT_DATA only if all rules within a conformance pack cannot be evaluated due to insufficient data. If some of the rules in a conformance pack are compliant but the compliance status of other rules in that same conformance pack is INSUFFICIENT_DATA, the conformance pack shows compliant.
*/
class AggregateConformancePackCompliance private constructor(builder: Builder) {
/**
* The compliance status of the conformance pack.
*/
val complianceType: aws.sdk.kotlin.services.configservice.model.ConformancePackComplianceType? = builder.complianceType
/**
* The number of compliant Config Rules.
*/
val compliantRuleCount: kotlin.Int = builder.compliantRuleCount
/**
* The number of noncompliant Config Rules.
*/
val nonCompliantRuleCount: kotlin.Int = builder.nonCompliantRuleCount
/**
* Total number of compliant rules, noncompliant rules, and the rules that do not have any applicable resources to evaluate upon resulting in insufficient data.
*/
val totalRuleCount: kotlin.Int = builder.totalRuleCount
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.configservice.model.AggregateConformancePackCompliance = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AggregateConformancePackCompliance(")
append("complianceType=$complianceType,")
append("compliantRuleCount=$compliantRuleCount,")
append("nonCompliantRuleCount=$nonCompliantRuleCount,")
append("totalRuleCount=$totalRuleCount)")
}
override fun hashCode(): kotlin.Int {
var result = complianceType?.hashCode() ?: 0
result = 31 * result + (compliantRuleCount)
result = 31 * result + (nonCompliantRuleCount)
result = 31 * result + (totalRuleCount)
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 AggregateConformancePackCompliance
if (complianceType != other.complianceType) return false
if (compliantRuleCount != other.compliantRuleCount) return false
if (nonCompliantRuleCount != other.nonCompliantRuleCount) return false
if (totalRuleCount != other.totalRuleCount) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.configservice.model.AggregateConformancePackCompliance = Builder(this).apply(block).build()
class Builder {
/**
* The compliance status of the conformance pack.
*/
var complianceType: aws.sdk.kotlin.services.configservice.model.ConformancePackComplianceType? = null
/**
* The number of compliant Config Rules.
*/
var compliantRuleCount: kotlin.Int = 0
/**
* The number of noncompliant Config Rules.
*/
var nonCompliantRuleCount: kotlin.Int = 0
/**
* Total number of compliant rules, noncompliant rules, and the rules that do not have any applicable resources to evaluate upon resulting in insufficient data.
*/
var totalRuleCount: kotlin.Int = 0
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.configservice.model.AggregateConformancePackCompliance) : this() {
this.complianceType = x.complianceType
this.compliantRuleCount = x.compliantRuleCount
this.nonCompliantRuleCount = x.nonCompliantRuleCount
this.totalRuleCount = x.totalRuleCount
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.configservice.model.AggregateConformancePackCompliance = AggregateConformancePackCompliance(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy