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

com.pulumi.gcp.securitycenter.kotlin.outputs.ProjectCustomModuleCustomConfig.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.securitycenter.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property customOutput Custom output properties.
 * Structure is documented below.
 * @property description Text that describes the vulnerability or misconfiguration that the custom
 * module detects. This explanation is returned with each finding instance to
 * help investigators understand the detected issue. The text must be enclosed in quotation marks.
 * @property predicate The CEL expression to evaluate to produce findings. When the expression evaluates
 * to true against a resource, a finding is generated.
 * Structure is documented below.
 * @property recommendation An explanation of the recommended steps that security teams can take to resolve
 * the detected issue. This explanation is returned with each finding generated by
 * this module in the nextSteps property of the finding JSON.
 * @property resourceSelector The resource types that the custom module operates on. Each custom module
 * can specify up to 5 resource types.
 * Structure is documented below.
 * @property severity The severity to assign to findings generated by the module.
 * Possible values are: `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`.
 */
public data class ProjectCustomModuleCustomConfig(
    public val customOutput: ProjectCustomModuleCustomConfigCustomOutput? = null,
    public val description: String? = null,
    public val predicate: ProjectCustomModuleCustomConfigPredicate,
    public val recommendation: String,
    public val resourceSelector: ProjectCustomModuleCustomConfigResourceSelector,
    public val severity: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.securitycenter.outputs.ProjectCustomModuleCustomConfig): ProjectCustomModuleCustomConfig = ProjectCustomModuleCustomConfig(
            customOutput = javaType.customOutput().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.securitycenter.kotlin.outputs.ProjectCustomModuleCustomConfigCustomOutput.Companion.toKotlin(args0)
                })
            }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            predicate = javaType.predicate().let({ args0 ->
                com.pulumi.gcp.securitycenter.kotlin.outputs.ProjectCustomModuleCustomConfigPredicate.Companion.toKotlin(args0)
            }),
            recommendation = javaType.recommendation(),
            resourceSelector = javaType.resourceSelector().let({ args0 ->
                com.pulumi.gcp.securitycenter.kotlin.outputs.ProjectCustomModuleCustomConfigResourceSelector.Companion.toKotlin(args0)
            }),
            severity = javaType.severity(),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy