
commonMain.aws.sdk.kotlin.services.configservice.model.OrganizationCustomRuleMetadata.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.configservice.model
/**
* An object that specifies organization custom rule metadata such as resource type, resource ID of Amazon Web Services resource, Lambda function ARN, and organization trigger types that trigger Config to evaluate your Amazon Web Services resources against a rule. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.
*/
class OrganizationCustomRuleMetadata private constructor(builder: Builder) {
/**
* The description that you provide for your organization Config rule.
*/
val description: kotlin.String? = builder.description
/**
* A string, in JSON format, that is passed to your organization Config rule Lambda function.
*/
val inputParameters: kotlin.String? = builder.inputParameters
/**
* The lambda function ARN.
*/
val lambdaFunctionArn: kotlin.String? = builder.lambdaFunctionArn
/**
* The maximum frequency with which Config runs evaluations for a rule. Your custom rule is triggered when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.
*
* By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.
*/
val maximumExecutionFrequency: aws.sdk.kotlin.services.configservice.model.MaximumExecutionFrequency? = builder.maximumExecutionFrequency
/**
* The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:
* + `ConfigurationItemChangeNotification` - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.
* + `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
* + `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency`.
*/
val organizationConfigRuleTriggerTypes: List? = builder.organizationConfigRuleTriggerTypes
/**
* The ID of the Amazon Web Services resource that was evaluated.
*/
val resourceIdScope: kotlin.String? = builder.resourceIdScope
/**
* The type of the Amazon Web Services resource that was evaluated.
*/
val resourceTypesScope: List? = builder.resourceTypesScope
/**
* 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.
*/
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).
*/
val tagValueScope: kotlin.String? = builder.tagValueScope
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.configservice.model.OrganizationCustomRuleMetadata = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("OrganizationCustomRuleMetadata(")
append("description=$description,")
append("inputParameters=$inputParameters,")
append("lambdaFunctionArn=$lambdaFunctionArn,")
append("maximumExecutionFrequency=$maximumExecutionFrequency,")
append("organizationConfigRuleTriggerTypes=$organizationConfigRuleTriggerTypes,")
append("resourceIdScope=$resourceIdScope,")
append("resourceTypesScope=$resourceTypesScope,")
append("tagKeyScope=$tagKeyScope,")
append("tagValueScope=$tagValueScope)")
}
override fun hashCode(): kotlin.Int {
var result = description?.hashCode() ?: 0
result = 31 * result + (inputParameters?.hashCode() ?: 0)
result = 31 * result + (lambdaFunctionArn?.hashCode() ?: 0)
result = 31 * result + (maximumExecutionFrequency?.hashCode() ?: 0)
result = 31 * result + (organizationConfigRuleTriggerTypes?.hashCode() ?: 0)
result = 31 * result + (resourceIdScope?.hashCode() ?: 0)
result = 31 * result + (resourceTypesScope?.hashCode() ?: 0)
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 OrganizationCustomRuleMetadata
if (description != other.description) return false
if (inputParameters != other.inputParameters) return false
if (lambdaFunctionArn != other.lambdaFunctionArn) return false
if (maximumExecutionFrequency != other.maximumExecutionFrequency) return false
if (organizationConfigRuleTriggerTypes != other.organizationConfigRuleTriggerTypes) return false
if (resourceIdScope != other.resourceIdScope) return false
if (resourceTypesScope != other.resourceTypesScope) return false
if (tagKeyScope != other.tagKeyScope) return false
if (tagValueScope != other.tagValueScope) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.configservice.model.OrganizationCustomRuleMetadata = Builder(this).apply(block).build()
class Builder {
/**
* The description that you provide for your organization Config rule.
*/
var description: kotlin.String? = null
/**
* A string, in JSON format, that is passed to your organization Config rule Lambda function.
*/
var inputParameters: kotlin.String? = null
/**
* The lambda function ARN.
*/
var lambdaFunctionArn: kotlin.String? = null
/**
* The maximum frequency with which Config runs evaluations for a rule. Your custom rule is triggered when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.
*
* By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.
*/
var maximumExecutionFrequency: aws.sdk.kotlin.services.configservice.model.MaximumExecutionFrequency? = null
/**
* The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:
* + `ConfigurationItemChangeNotification` - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.
* + `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
* + `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency`.
*/
var organizationConfigRuleTriggerTypes: List? = null
/**
* The ID of the Amazon Web Services resource that was evaluated.
*/
var resourceIdScope: kotlin.String? = null
/**
* The type of the Amazon Web Services resource that was evaluated.
*/
var resourceTypesScope: List? = 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.
*/
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).
*/
var tagValueScope: kotlin.String? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.configservice.model.OrganizationCustomRuleMetadata) : this() {
this.description = x.description
this.inputParameters = x.inputParameters
this.lambdaFunctionArn = x.lambdaFunctionArn
this.maximumExecutionFrequency = x.maximumExecutionFrequency
this.organizationConfigRuleTriggerTypes = x.organizationConfigRuleTriggerTypes
this.resourceIdScope = x.resourceIdScope
this.resourceTypesScope = x.resourceTypesScope
this.tagKeyScope = x.tagKeyScope
this.tagValueScope = x.tagValueScope
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.configservice.model.OrganizationCustomRuleMetadata = OrganizationCustomRuleMetadata(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy