commonMain.aws.sdk.kotlin.services.configservice.model.OrganizationManagedRuleMetadata.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of configservice-jvm Show documentation
Show all versions of configservice-jvm Show documentation
The AWS Kotlin client for Config Service
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.configservice.model
/**
* An object that specifies organization managed rule metadata such as resource type and ID of Amazon Web Services resource along with the rule identifier. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.
*/
public class OrganizationManagedRuleMetadata private constructor(builder: Builder) {
/**
* The description that you provide for your organization Config rule.
*/
public val description: kotlin.String? = builder.description
/**
* A string, in JSON format, that is passed to your organization Config rule Lambda function.
*/
public val inputParameters: kotlin.String? = builder.inputParameters
/**
* The maximum frequency with which Config runs evaluations for a rule. This is for an Config managed rule that is triggered at a periodic frequency.
*
* By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.
*/
public val maximumExecutionFrequency: aws.sdk.kotlin.services.configservice.model.MaximumExecutionFrequency? = builder.maximumExecutionFrequency
/**
* The ID of the Amazon Web Services resource that was evaluated.
*/
public val resourceIdScope: kotlin.String? = builder.resourceIdScope
/**
* The type of the Amazon Web Services resource that was evaluated.
*/
public val resourceTypesScope: List? = builder.resourceTypesScope
/**
* For organization config managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [Using Config managed rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
*/
public val ruleIdentifier: kotlin.String = requireNotNull(builder.ruleIdentifier) { "A non-null value must be provided for ruleIdentifier" }
/**
* One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
*/
public val tagKeyScope: kotlin.String? = builder.tagKeyScope
/**
* The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
*/
public val tagValueScope: kotlin.String? = builder.tagValueScope
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.configservice.model.OrganizationManagedRuleMetadata = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("OrganizationManagedRuleMetadata(")
append("description=$description,")
append("inputParameters=$inputParameters,")
append("maximumExecutionFrequency=$maximumExecutionFrequency,")
append("resourceIdScope=$resourceIdScope,")
append("resourceTypesScope=$resourceTypesScope,")
append("ruleIdentifier=$ruleIdentifier,")
append("tagKeyScope=$tagKeyScope,")
append("tagValueScope=$tagValueScope")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = description?.hashCode() ?: 0
result = 31 * result + (inputParameters?.hashCode() ?: 0)
result = 31 * result + (maximumExecutionFrequency?.hashCode() ?: 0)
result = 31 * result + (resourceIdScope?.hashCode() ?: 0)
result = 31 * result + (resourceTypesScope?.hashCode() ?: 0)
result = 31 * result + (ruleIdentifier.hashCode())
result = 31 * result + (tagKeyScope?.hashCode() ?: 0)
result = 31 * result + (tagValueScope?.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 OrganizationManagedRuleMetadata
if (description != other.description) return false
if (inputParameters != other.inputParameters) return false
if (maximumExecutionFrequency != other.maximumExecutionFrequency) return false
if (resourceIdScope != other.resourceIdScope) return false
if (resourceTypesScope != other.resourceTypesScope) return false
if (ruleIdentifier != other.ruleIdentifier) return false
if (tagKeyScope != other.tagKeyScope) return false
if (tagValueScope != other.tagValueScope) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.configservice.model.OrganizationManagedRuleMetadata = Builder(this).apply(block).build()
public class Builder {
/**
* The description that you provide for your organization Config rule.
*/
public var description: kotlin.String? = null
/**
* A string, in JSON format, that is passed to your organization Config rule Lambda function.
*/
public var inputParameters: kotlin.String? = null
/**
* The maximum frequency with which Config runs evaluations for a rule. This is for an Config managed rule that is triggered at a periodic frequency.
*
* By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.
*/
public var maximumExecutionFrequency: aws.sdk.kotlin.services.configservice.model.MaximumExecutionFrequency? = null
/**
* The ID of the Amazon Web Services resource that was evaluated.
*/
public var resourceIdScope: kotlin.String? = null
/**
* The type of the Amazon Web Services resource that was evaluated.
*/
public var resourceTypesScope: List? = null
/**
* For organization config managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [Using Config managed rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
*/
public var ruleIdentifier: kotlin.String? = null
/**
* One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
*/
public var tagKeyScope: kotlin.String? = null
/**
* The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
*/
public var tagValueScope: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.configservice.model.OrganizationManagedRuleMetadata) : this() {
this.description = x.description
this.inputParameters = x.inputParameters
this.maximumExecutionFrequency = x.maximumExecutionFrequency
this.resourceIdScope = x.resourceIdScope
this.resourceTypesScope = x.resourceTypesScope
this.ruleIdentifier = x.ruleIdentifier
this.tagKeyScope = x.tagKeyScope
this.tagValueScope = x.tagValueScope
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.configservice.model.OrganizationManagedRuleMetadata = OrganizationManagedRuleMetadata(this)
internal fun correctErrors(): Builder {
if (ruleIdentifier == null) ruleIdentifier = ""
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy