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

com.pulumi.gitlab.kotlin.outputs.GroupProtectedEnvironmentApprovalRule.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.4.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gitlab.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property accessLevel Levels of access allowed to approve a deployment to this protected environment. Mutually exclusive with `user_id` and `group_id`. Valid values are `developer`, `maintainer`.
 * @property accessLevelDescription Readable description of level of access.
 * @property groupId The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. Mutually exclusive with `access_level` and `user_id`.
 * @property groupInheritanceType Group inheritance allows access rules to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0`
 * @property id The unique ID of the Approval Rules object.
 * @property requiredApprovals The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
 * @property userId The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. Mutually exclusive with `access_level` and `group_id`.
 */
public data class GroupProtectedEnvironmentApprovalRule(
    public val accessLevel: String? = null,
    public val accessLevelDescription: String? = null,
    public val groupId: Int? = null,
    public val groupInheritanceType: Int? = null,
    public val id: Int? = null,
    public val requiredApprovals: Int? = null,
    public val userId: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gitlab.outputs.GroupProtectedEnvironmentApprovalRule): GroupProtectedEnvironmentApprovalRule = GroupProtectedEnvironmentApprovalRule(
            accessLevel = javaType.accessLevel().map({ args0 -> args0 }).orElse(null),
            accessLevelDescription = javaType.accessLevelDescription().map({ args0 -> args0 }).orElse(null),
            groupId = javaType.groupId().map({ args0 -> args0 }).orElse(null),
            groupInheritanceType = javaType.groupInheritanceType().map({ args0 -> args0 }).orElse(null),
            id = javaType.id().map({ args0 -> args0 }).orElse(null),
            requiredApprovals = javaType.requiredApprovals().map({ args0 -> args0 }).orElse(null),
            userId = javaType.userId().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy