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

com.pulumi.gcp.gkehub.kotlin.outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfig.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.Int
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 constraintViolationLimit The maximum number of audit violations to be stored in a constraint. If not set, the  default of 20 will be used.
 * @property deploymentConfigs Map of deployment configs to deployments ("admission", "audit", "mutation").
 * @property exemptableNamespaces The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
 * @property installSpec Configures the mode of the Policy Controller installation. Must be one of `INSTALL_SPEC_NOT_INSTALLED`, `INSTALL_SPEC_ENABLED`, `INSTALL_SPEC_SUSPENDED` or `INSTALL_SPEC_DETACHED`.
 * @property logDeniesEnabled Logs all denies and dry run failures.
 * @property monitoring Specifies the backends Policy Controller should export metrics to. Structure is documented below.
 * @property mutationEnabled Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.
 * @property policyContent Specifies the desired policy content on the cluster. Structure is documented below.
 * @property referentialRulesEnabled Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
 */
public data class FeatureMembershipPolicycontrollerPolicyControllerHubConfig(
    public val auditIntervalSeconds: Int? = null,
    public val constraintViolationLimit: Int? = null,
    public val deploymentConfigs: List? = null,
    public val exemptableNamespaces: List? = null,
    public val installSpec: String? = null,
    public val logDeniesEnabled: Boolean? = null,
    public val monitoring: FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring? =
        null,
    public val mutationEnabled: Boolean? = null,
    public val policyContent: FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent? =
        null,
    public val referentialRulesEnabled: Boolean? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.gkehub.outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfig): FeatureMembershipPolicycontrollerPolicyControllerHubConfig =
            FeatureMembershipPolicycontrollerPolicyControllerHubConfig(
                auditIntervalSeconds = javaType.auditIntervalSeconds().map({ args0 -> args0 }).orElse(null),
                constraintViolationLimit = javaType.constraintViolationLimit().map({ args0 -> args0 }).orElse(null),
                deploymentConfigs = javaType.deploymentConfigs().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.gkehub.kotlin.outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfig.Companion.toKotlin(args0)
                    })
                }),
                exemptableNamespaces = javaType.exemptableNamespaces().map({ args0 -> args0 }),
                installSpec = javaType.installSpec().map({ args0 -> args0 }).orElse(null),
                logDeniesEnabled = javaType.logDeniesEnabled().map({ args0 -> args0 }).orElse(null),
                monitoring = javaType.monitoring().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.gkehub.kotlin.outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                mutationEnabled = javaType.mutationEnabled().map({ args0 -> args0 }).orElse(null),
                policyContent = javaType.policyContent().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.gkehub.kotlin.outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                referentialRulesEnabled = javaType.referentialRulesEnabled().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy