com.pulumi.gitlab.kotlin.ProjectIssueBoardArgs.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
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gitlab.ProjectIssueBoardArgs.builder
import com.pulumi.gitlab.kotlin.inputs.ProjectIssueBoardListArgs
import com.pulumi.gitlab.kotlin.inputs.ProjectIssueBoardListArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The `gitlab.ProjectIssueBoard` resource allows to manage the lifecycle of a Project Issue Board.
* > **NOTE:** If the board lists are changed all lists will be recreated.
* **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/boards.html)
* ## Example Usage
*
* ```yaml
* resources:
* example:
* type: gitlab:Project
* properties:
* name: example project
* description: Lorem Ipsum
* visibilityLevel: public
* exampleUser:
* type: gitlab:User
* name: example
* properties:
* name: example
* username: example
* email: [email protected]
* password: example1$$$
* exampleProjectMembership:
* type: gitlab:ProjectMembership
* name: example
* properties:
* projectId: ${example.id}
* userId: ${exampleUser.id}
* accessLevel: developer
* exampleProjectMilestone:
* type: gitlab:ProjectMilestone
* name: example
* properties:
* project: ${example.id}
* title: m1
* this:
* type: gitlab:ProjectIssueBoard
* properties:
* project: ${example.id}
* name: Test Issue Board
* lists:
* - assigneeId: ${exampleUser.id}
* - milestoneId: ${exampleProjectMilestone.milestoneId}
* options:
* dependson:
* - ${exampleProjectMembership}
* listSyntax:
* type: gitlab:ProjectIssueBoard
* name: list_syntax
* properties:
* project: ${example.id}
* name: Test Issue Board with list syntax
* lists:
* - assigneeId: ${exampleUser.id}
* - milestoneId: ${exampleProjectMilestone.milestoneId}
* options:
* dependson:
* - ${exampleProjectMembership}
* ```
*
* ## Import
* You can import this resource with an id made up of `{project-id}:{issue-board-id}`, e.g.
* ```sh
* $ pulumi import gitlab:index/projectIssueBoard:ProjectIssueBoard kanban 42:1
* ```
* @property assigneeId The assignee the board should be scoped to. Requires a GitLab EE license.
* @property labels The list of label names which the board should be scoped to. Requires a GitLab EE license.
* @property lists The list of issue board lists
* @property milestoneId The milestone the board should be scoped to. Requires a GitLab EE license.
* @property name The name of the board.
* @property project The ID or full path of the project maintained by the authenticated user.
* @property weight The weight range from 0 to 9, to which the board should be scoped to. Requires a GitLab EE license.
*/
public data class ProjectIssueBoardArgs(
public val assigneeId: Output? = null,
public val labels: Output>? = null,
public val lists: Output>? = null,
public val milestoneId: Output? = null,
public val name: Output? = null,
public val project: Output? = null,
public val weight: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gitlab.ProjectIssueBoardArgs =
com.pulumi.gitlab.ProjectIssueBoardArgs.builder()
.assigneeId(assigneeId?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.lists(lists?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.milestoneId(milestoneId?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.project(project?.applyValue({ args0 -> args0 }))
.weight(weight?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ProjectIssueBoardArgs].
*/
@PulumiTagMarker
public class ProjectIssueBoardArgsBuilder internal constructor() {
private var assigneeId: Output? = null
private var labels: Output>? = null
private var lists: Output>? = null
private var milestoneId: Output? = null
private var name: Output? = null
private var project: Output? = null
private var weight: Output? = null
/**
* @param value The assignee the board should be scoped to. Requires a GitLab EE license.
*/
@JvmName("lfeevxevjlqspdvy")
public suspend fun assigneeId(`value`: Output) {
this.assigneeId = value
}
/**
* @param value The list of label names which the board should be scoped to. Requires a GitLab EE license.
*/
@JvmName("xwfxyegwadibenjm")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
@JvmName("pomleeuptsuicwti")
public suspend fun labels(vararg values: Output) {
this.labels = Output.all(values.asList())
}
/**
* @param values The list of label names which the board should be scoped to. Requires a GitLab EE license.
*/
@JvmName("hxftnoupjpqkbddw")
public suspend fun labels(values: List