All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.configuration.kotlin.outputs.GetConfigRuleResult.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.configuration.kotlin.outputs

import kotlin.Any
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property arn The Amazon Resource Name (ARN) of the AWS Config rule, such as `arn:aws:config:us-east-1:123456789012:config-rule/config-rule-a1bzhi` .
 * @property compliance Indicates whether an AWS resource or CC rule is compliant and provides the number of contributors that affect the compliance.
 * @property configRuleId The ID of the AWS Config rule, such as `config-rule-a1bzhi` .
 * @property description The description that you provide for the CC rule.
 * @property evaluationModes The modes the CC rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.
 * @property inputParameters A string, in JSON format, that is passed to the CC rule Lambda function.
 * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Config::ConfigRule` for more information about the expected schema for this property.
 * @property maximumExecutionFrequency The maximum frequency with which CC runs evaluations for a rule. You can specify a value for ``MaximumExecutionFrequency`` when:
 *   +  You are using an AWS managed rule that is triggered at a periodic frequency.
 *   +  Your custom rule is triggered when CC delivers the configuration snapshot. For more information, see [ConfigSnapshotDeliveryProperties](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html).
 *   By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the ``MaximumExecutionFrequency`` parameter.
 * @property scope Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.
 *   The scope can be empty.
 * @property source Provides the rule owner (```` for managed rules, ``CUSTOM_POLICY`` for Custom Policy rules, and ``CUSTOM_LAMBDA`` for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.
 */
public data class GetConfigRuleResult(
    public val arn: String? = null,
    public val compliance: ComplianceProperties? = null,
    public val configRuleId: String? = null,
    public val description: String? = null,
    public val evaluationModes: List? = null,
    public val inputParameters: Any? = null,
    public val maximumExecutionFrequency: String? = null,
    public val scope: ConfigRuleScope? = null,
    public val source: ConfigRuleSource? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.configuration.outputs.GetConfigRuleResult): GetConfigRuleResult = GetConfigRuleResult(
            arn = javaType.arn().map({ args0 -> args0 }).orElse(null),
            compliance = javaType.compliance().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.configuration.kotlin.outputs.ComplianceProperties.Companion.toKotlin(args0)
                })
            }).orElse(null),
            configRuleId = javaType.configRuleId().map({ args0 -> args0 }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            evaluationModes = javaType.evaluationModes().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.configuration.kotlin.outputs.ConfigRuleEvaluationModeConfiguration.Companion.toKotlin(args0)
                })
            }),
            inputParameters = javaType.inputParameters().map({ args0 -> args0 }).orElse(null),
            maximumExecutionFrequency = javaType.maximumExecutionFrequency().map({ args0 ->
                args0
            }).orElse(null),
            scope = javaType.scope().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.configuration.kotlin.outputs.ConfigRuleScope.Companion.toKotlin(args0)
                })
            }).orElse(null),
            source = javaType.source().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.configuration.kotlin.outputs.ConfigRuleSource.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy