com.pulumi.googlenative.dns.v1.kotlin.inputs.GoogleIamV1AuditConfigArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.dns.v1.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.dns.v1.inputs.GoogleIamV1AuditConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `[email protected]` from DATA_READ logging, and `[email protected]` from DATA_WRITE logging.
* @property auditLogConfigs The configuration for logging of each type of permission.
* @property service Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
*/
public data class GoogleIamV1AuditConfigArgs(
public val auditLogConfigs: Output>? = null,
public val service: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.dns.v1.inputs.GoogleIamV1AuditConfigArgs =
com.pulumi.googlenative.dns.v1.inputs.GoogleIamV1AuditConfigArgs.builder()
.auditLogConfigs(
auditLogConfigs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.service(service?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [GoogleIamV1AuditConfigArgs].
*/
@PulumiTagMarker
public class GoogleIamV1AuditConfigArgsBuilder internal constructor() {
private var auditLogConfigs: Output>? = null
private var service: Output? = null
/**
* @param value The configuration for logging of each type of permission.
*/
@JvmName("utpcgyljfufyyxyk")
public suspend fun auditLogConfigs(`value`: Output>) {
this.auditLogConfigs = value
}
@JvmName("tucjgfstttoufhps")
public suspend fun auditLogConfigs(vararg values: Output) {
this.auditLogConfigs = Output.all(values.asList())
}
/**
* @param values The configuration for logging of each type of permission.
*/
@JvmName("kmkereoakrixvcgh")
public suspend fun auditLogConfigs(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy