GroupArgs

data class GroupArgs(val autoDevopsEnabled: Output<Boolean>? = null, val defaultBranchProtection: Output<Int>? = null, val description: Output<String>? = null, val emailsDisabled: Output<Boolean>? = null, val extraSharedRunnersMinutesLimit: Output<Int>? = null, val lfsEnabled: Output<Boolean>? = null, val membershipLock: Output<Boolean>? = null, val mentionsDisabled: Output<Boolean>? = null, val name: Output<String>? = null, val parentId: Output<Int>? = null, val path: Output<String>? = null, val preventForkingOutsideGroup: Output<Boolean>? = null, val projectCreationLevel: Output<String>? = null, val requestAccessEnabled: Output<Boolean>? = null, val requireTwoFactorAuthentication: Output<Boolean>? = null, val shareWithGroupLock: Output<Boolean>? = null, val sharedRunnersMinutesLimit: Output<Int>? = null, val subgroupCreationLevel: Output<String>? = null, val twoFactorGracePeriod: Output<Int>? = null, val visibilityLevel: Output<String>? = null) : ConvertibleToJava<GroupArgs>

The gitlab.Group resource allows to manage the lifecycle of a group.

On GitLab SaaS, you must use the GitLab UI to create groups without a parent group. You cannot use this provider nor the API to do this. Upstream API: GitLab REST API docs

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gitlab.Group;
import com.pulumi.gitlab.GroupArgs;
import com.pulumi.gitlab.Project;
import com.pulumi.gitlab.ProjectArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
.path("example")
.description("An example group")
.build());
var exampleProject = new Project("exampleProject", ProjectArgs.builder()
.description("An example project")
.namespaceId(exampleGroup.id())
.build());
}
}

Import

$ pulumi import gitlab:index/group:Group You can import a group state using `<resource> <id>`. The

id can be whatever the details_of_a_group api takes for its :id value, so for example

$ pulumi import gitlab:index/group:Group example example

Constructors

Link copied to clipboard
constructor(autoDevopsEnabled: Output<Boolean>? = null, defaultBranchProtection: Output<Int>? = null, description: Output<String>? = null, emailsDisabled: Output<Boolean>? = null, extraSharedRunnersMinutesLimit: Output<Int>? = null, lfsEnabled: Output<Boolean>? = null, membershipLock: Output<Boolean>? = null, mentionsDisabled: Output<Boolean>? = null, name: Output<String>? = null, parentId: Output<Int>? = null, path: Output<String>? = null, preventForkingOutsideGroup: Output<Boolean>? = null, projectCreationLevel: Output<String>? = null, requestAccessEnabled: Output<Boolean>? = null, requireTwoFactorAuthentication: Output<Boolean>? = null, shareWithGroupLock: Output<Boolean>? = null, sharedRunnersMinutesLimit: Output<Int>? = null, subgroupCreationLevel: Output<String>? = null, twoFactorGracePeriod: Output<Int>? = null, visibilityLevel: Output<String>? = null)

Properties

Link copied to clipboard
val autoDevopsEnabled: Output<Boolean>? = null

Defaults to false. Default to Auto DevOps pipeline for all projects within this group.

Link copied to clipboard
val defaultBranchProtection: Output<Int>? = null

Defaults to 2. See https://docs.gitlab.com/ee/api/groups.html#options-for-default*branch*protection

Link copied to clipboard
val description: Output<String>? = null

The description of the group.

Link copied to clipboard
val emailsDisabled: Output<Boolean>? = null

Defaults to false. Disable email notifications.

Link copied to clipboard
val extraSharedRunnersMinutesLimit: Output<Int>? = null

Can be set by administrators only. Additional CI/CD minutes for this group.

Link copied to clipboard
val lfsEnabled: Output<Boolean>? = null

Defaults to true. Enable/disable Large File Storage (LFS) for the projects in this group.

Link copied to clipboard
val membershipLock: Output<Boolean>? = null

Users cannot be added to projects in this group.

Link copied to clipboard
val mentionsDisabled: Output<Boolean>? = null

Defaults to false. Disable the capability of a group from getting mentioned.

Link copied to clipboard
val name: Output<String>? = null

The name of this group.

Link copied to clipboard
val parentId: Output<Int>? = null

Id of the parent group (creates a nested group).

Link copied to clipboard
val path: Output<String>? = null

The path of the group.

Link copied to clipboard
val preventForkingOutsideGroup: Output<Boolean>? = null

Defaults to false. When enabled, users can not fork projects from this group to external namespaces.

Link copied to clipboard
val projectCreationLevel: Output<String>? = null

Defaults to maintainer. Determine if developers can create projects in the group.

Link copied to clipboard
val requestAccessEnabled: Output<Boolean>? = null

Defaults to false. Allow users to request member access.

Link copied to clipboard

Defaults to false. Require all users in this group to setup Two-factor authentication.

Link copied to clipboard
val sharedRunnersMinutesLimit: Output<Int>? = null

Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or 0.

Link copied to clipboard
val shareWithGroupLock: Output<Boolean>? = null

Defaults to false. Prevent sharing a project with another group within this group.

Link copied to clipboard
val subgroupCreationLevel: Output<String>? = null

Defaults to owner. Allowed to create subgroups.

Link copied to clipboard
val twoFactorGracePeriod: Output<Int>? = null

Defaults to 48. Time before Two-factor authentication is enforced (in hours).

Link copied to clipboard
val visibilityLevel: Output<String>? = null

The group's visibility. Can be private, internal, or public.

Functions

Link copied to clipboard
open override fun toJava(): GroupArgs