com.pulumi.gitlab.kotlin.inputs.ProjectProtectedEnvironmentApprovalRuleArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gitlab-kotlin Show documentation
Show all versions of pulumi-gitlab-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gitlab.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentApprovalRuleArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property accessLevel Levels of access allowed to approve a deployment to this protected environment. 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. The project must be shared with the group. This is mutually exclusive with user_id.
* @property groupInheritanceType Group inheritance allows deploy access levels 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 project. This is mutually exclusive with group*id and required*approvals.
*/
public data class ProjectProtectedEnvironmentApprovalRuleArgs(
public val accessLevel: Output? = null,
public val accessLevelDescription: Output? = null,
public val groupId: Output? = null,
public val groupInheritanceType: Output? = null,
public val id: Output? = null,
public val requiredApprovals: Output? = null,
public val userId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentApprovalRuleArgs =
com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentApprovalRuleArgs.builder()
.accessLevel(accessLevel?.applyValue({ args0 -> args0 }))
.accessLevelDescription(accessLevelDescription?.applyValue({ args0 -> args0 }))
.groupId(groupId?.applyValue({ args0 -> args0 }))
.groupInheritanceType(groupInheritanceType?.applyValue({ args0 -> args0 }))
.id(id?.applyValue({ args0 -> args0 }))
.requiredApprovals(requiredApprovals?.applyValue({ args0 -> args0 }))
.userId(userId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ProjectProtectedEnvironmentApprovalRuleArgs].
*/
@PulumiTagMarker
public class ProjectProtectedEnvironmentApprovalRuleArgsBuilder internal constructor() {
private var accessLevel: Output? = null
private var accessLevelDescription: Output? = null
private var groupId: Output? = null
private var groupInheritanceType: Output? = null
private var id: Output? = null
private var requiredApprovals: Output? = null
private var userId: Output? = null
/**
* @param value Levels of access allowed to approve a deployment to this protected environment. Valid values are `developer`, `maintainer`.
*/
@JvmName("ggypkeiswwpvntco")
public suspend fun accessLevel(`value`: Output) {
this.accessLevel = value
}
/**
* @param value Readable description of level of access.
*/
@JvmName("ecmwhobqfivrdvak")
public suspend fun accessLevelDescription(`value`: Output) {
this.accessLevelDescription = value
}
/**
* @param value The ID of the group allowed to approve a deployment to this protected environment. The project must be shared with the group. This is mutually exclusive with user_id.
*/
@JvmName("malythttpbmrvgpy")
public suspend fun groupId(`value`: Output) {
this.groupId = value
}
/**
* @param value Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0`
*/
@JvmName("appnpilacrkspmda")
public suspend fun groupInheritanceType(`value`: Output) {
this.groupInheritanceType = value
}
/**
* @param value The unique ID of the Approval Rules object.
*/
@JvmName("qfjcvbuhkbashuvv")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
*/
@JvmName("xadomdyuoiokwafr")
public suspend fun requiredApprovals(`value`: Output) {
this.requiredApprovals = value
}
/**
* @param value The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the project. This is mutually exclusive with group*id and required*approvals.
*/
@JvmName("stiaejmymykeqsyf")
public suspend fun userId(`value`: Output) {
this.userId = value
}
/**
* @param value Levels of access allowed to approve a deployment to this protected environment. Valid values are `developer`, `maintainer`.
*/
@JvmName("nimoqlgmyocvrkyf")
public suspend fun accessLevel(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.accessLevel = mapped
}
/**
* @param value Readable description of level of access.
*/
@JvmName("yrybwqelscydiqnt")
public suspend fun accessLevelDescription(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.accessLevelDescription = mapped
}
/**
* @param value The ID of the group allowed to approve a deployment to this protected environment. The project must be shared with the group. This is mutually exclusive with user_id.
*/
@JvmName("goacekgokathqkfo")
public suspend fun groupId(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.groupId = mapped
}
/**
* @param value Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0`
*/
@JvmName("xxarburxljovodgt")
public suspend fun groupInheritanceType(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.groupInheritanceType = mapped
}
/**
* @param value The unique ID of the Approval Rules object.
*/
@JvmName("mvcgabfoxtqgxsnb")
public suspend fun id(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.id = mapped
}
/**
* @param value The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
*/
@JvmName("kkwwpejsfhojnciw")
public suspend fun requiredApprovals(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requiredApprovals = mapped
}
/**
* @param value The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the project. This is mutually exclusive with group*id and required*approvals.
*/
@JvmName("euqivivyirifipxu")
public suspend fun userId(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.userId = mapped
}
internal fun build(): ProjectProtectedEnvironmentApprovalRuleArgs =
ProjectProtectedEnvironmentApprovalRuleArgs(
accessLevel = accessLevel,
accessLevelDescription = accessLevelDescription,
groupId = groupId,
groupInheritanceType = groupInheritanceType,
id = id,
requiredApprovals = requiredApprovals,
userId = userId,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy