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

com.pulumi.gcp.gkehub.kotlin.outputs.FeatureMembershipConfigmanagementPolicyController.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.gkehub.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property auditIntervalSeconds Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
 * @property enabled Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
 * @property exemptableNamespaces The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
 * @property logDeniesEnabled Logs all denies and dry run failures.
 * @property monitoring Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]
 * @property mutationEnabled Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.
 * @property referentialRulesEnabled Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
 * @property templateLibraryInstalled Installs the default template library along with Policy Controller.
 */
public data class FeatureMembershipConfigmanagementPolicyController(
    public val auditIntervalSeconds: String? = null,
    public val enabled: Boolean? = null,
    public val exemptableNamespaces: List? = null,
    public val logDeniesEnabled: Boolean? = null,
    public val monitoring: FeatureMembershipConfigmanagementPolicyControllerMonitoring? = null,
    public val mutationEnabled: Boolean? = null,
    public val referentialRulesEnabled: Boolean? = null,
    public val templateLibraryInstalled: Boolean? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.gkehub.outputs.FeatureMembershipConfigmanagementPolicyController): FeatureMembershipConfigmanagementPolicyController =
            FeatureMembershipConfigmanagementPolicyController(
                auditIntervalSeconds = javaType.auditIntervalSeconds().map({ args0 -> args0 }).orElse(null),
                enabled = javaType.enabled().map({ args0 -> args0 }).orElse(null),
                exemptableNamespaces = javaType.exemptableNamespaces().map({ args0 -> args0 }),
                logDeniesEnabled = javaType.logDeniesEnabled().map({ args0 -> args0 }).orElse(null),
                monitoring = javaType.monitoring().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.gkehub.kotlin.outputs.FeatureMembershipConfigmanagementPolicyControllerMonitoring.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                mutationEnabled = javaType.mutationEnabled().map({ args0 -> args0 }).orElse(null),
                referentialRulesEnabled = javaType.referentialRulesEnabled().map({ args0 -> args0 }).orElse(null),
                templateLibraryInstalled = javaType.templateLibraryInstalled().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy