gitlab.Group
Explore with Pulumi AI
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
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const example = new gitlab.Group("example", {
name: "example",
path: "example",
description: "An example group",
});
// Create a project in the example group
const exampleProject = new gitlab.Project("example", {
name: "example",
description: "An example project",
namespaceId: example.id,
});
// Group with custom push rules
const example_two = new gitlab.Group("example-two", {
name: "example-two",
path: "example-two",
description: "An example group with push rules",
pushRules: {
authorEmailRegex: "@example\\.com$",
commitCommitterCheck: true,
memberCheck: true,
preventSecrets: true,
},
});
// Group with custom default branch protection defaults
const example_three = new gitlab.Group("example-three", {
name: "example-three",
path: "example-three",
description: "An example group with default branch protection defaults",
defaultBranchProtectionDefaults: {
allowedToPushes: ["developer"],
allowForcePush: true,
allowedToMerges: [
"developer",
"maintainer",
],
developerCanInitialPush: true,
},
});
import pulumi
import pulumi_gitlab as gitlab
example = gitlab.Group("example",
name="example",
path="example",
description="An example group")
# Create a project in the example group
example_project = gitlab.Project("example",
name="example",
description="An example project",
namespace_id=example.id)
# Group with custom push rules
example_two = gitlab.Group("example-two",
name="example-two",
path="example-two",
description="An example group with push rules",
push_rules={
"author_email_regex": "@example\\.com$",
"commit_committer_check": True,
"member_check": True,
"prevent_secrets": True,
})
# Group with custom default branch protection defaults
example_three = gitlab.Group("example-three",
name="example-three",
path="example-three",
description="An example group with default branch protection defaults",
default_branch_protection_defaults={
"allowed_to_pushes": ["developer"],
"allow_force_push": True,
"allowed_to_merges": [
"developer",
"maintainer",
],
"developer_can_initial_push": True,
})
package main
import (
"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := gitlab.NewGroup(ctx, "example", &gitlab.GroupArgs{
Name: pulumi.String("example"),
Path: pulumi.String("example"),
Description: pulumi.String("An example group"),
})
if err != nil {
return err
}
// Create a project in the example group
_, err = gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{
Name: pulumi.String("example"),
Description: pulumi.String("An example project"),
NamespaceId: example.ID(),
})
if err != nil {
return err
}
// Group with custom push rules
_, err = gitlab.NewGroup(ctx, "example-two", &gitlab.GroupArgs{
Name: pulumi.String("example-two"),
Path: pulumi.String("example-two"),
Description: pulumi.String("An example group with push rules"),
PushRules: &gitlab.GroupPushRulesArgs{
AuthorEmailRegex: pulumi.String("@example\\.com$"),
CommitCommitterCheck: pulumi.Bool(true),
MemberCheck: pulumi.Bool(true),
PreventSecrets: pulumi.Bool(true),
},
})
if err != nil {
return err
}
// Group with custom default branch protection defaults
_, err = gitlab.NewGroup(ctx, "example-three", &gitlab.GroupArgs{
Name: pulumi.String("example-three"),
Path: pulumi.String("example-three"),
Description: pulumi.String("An example group with default branch protection defaults"),
DefaultBranchProtectionDefaults: &gitlab.GroupDefaultBranchProtectionDefaultsArgs{
AllowedToPushes: pulumi.StringArray{
pulumi.String("developer"),
},
AllowForcePush: pulumi.Bool(true),
AllowedToMerges: pulumi.StringArray{
pulumi.String("developer"),
pulumi.String("maintainer"),
},
DeveloperCanInitialPush: pulumi.Bool(true),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var example = new GitLab.Group("example", new()
{
Name = "example",
Path = "example",
Description = "An example group",
});
// Create a project in the example group
var exampleProject = new GitLab.Project("example", new()
{
Name = "example",
Description = "An example project",
NamespaceId = example.Id,
});
// Group with custom push rules
var example_two = new GitLab.Group("example-two", new()
{
Name = "example-two",
Path = "example-two",
Description = "An example group with push rules",
PushRules = new GitLab.Inputs.GroupPushRulesArgs
{
AuthorEmailRegex = "@example\\.com$",
CommitCommitterCheck = true,
MemberCheck = true,
PreventSecrets = true,
},
});
// Group with custom default branch protection defaults
var example_three = new GitLab.Group("example-three", new()
{
Name = "example-three",
Path = "example-three",
Description = "An example group with default branch protection defaults",
DefaultBranchProtectionDefaults = new GitLab.Inputs.GroupDefaultBranchProtectionDefaultsArgs
{
AllowedToPushes = new[]
{
"developer",
},
AllowForcePush = true,
AllowedToMerges = new[]
{
"developer",
"maintainer",
},
DeveloperCanInitialPush = true,
},
});
});
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 com.pulumi.gitlab.inputs.GroupPushRulesArgs;
import com.pulumi.gitlab.inputs.GroupDefaultBranchProtectionDefaultsArgs;
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 example = new Group("example", GroupArgs.builder()
.name("example")
.path("example")
.description("An example group")
.build());
// Create a project in the example group
var exampleProject = new Project("exampleProject", ProjectArgs.builder()
.name("example")
.description("An example project")
.namespaceId(example.id())
.build());
// Group with custom push rules
var example_two = new Group("example-two", GroupArgs.builder()
.name("example-two")
.path("example-two")
.description("An example group with push rules")
.pushRules(GroupPushRulesArgs.builder()
.authorEmailRegex("@example\\.com$")
.commitCommitterCheck(true)
.memberCheck(true)
.preventSecrets(true)
.build())
.build());
// Group with custom default branch protection defaults
var example_three = new Group("example-three", GroupArgs.builder()
.name("example-three")
.path("example-three")
.description("An example group with default branch protection defaults")
.defaultBranchProtectionDefaults(GroupDefaultBranchProtectionDefaultsArgs.builder()
.allowedToPushes("developer")
.allowForcePush(true)
.allowedToMerges(
"developer",
"maintainer")
.developerCanInitialPush(true)
.build())
.build());
}
}
resources:
example:
type: gitlab:Group
properties:
name: example
path: example
description: An example group
# Create a project in the example group
exampleProject:
type: gitlab:Project
name: example
properties:
name: example
description: An example project
namespaceId: ${example.id}
# Group with custom push rules
example-two:
type: gitlab:Group
properties:
name: example-two
path: example-two
description: An example group with push rules
pushRules:
authorEmailRegex: '@example\.com$'
commitCommitterCheck: true
memberCheck: true
preventSecrets: true
# Group with custom default branch protection defaults
example-three:
type: gitlab:Group
properties:
name: example-three
path: example-three
description: An example group with default branch protection defaults
defaultBranchProtectionDefaults:
allowedToPushes:
- developer
allowForcePush: true
allowedToMerges:
- developer
- maintainer
developerCanInitialPush: true
Create Group Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Group(name: string, args: GroupArgs, opts?: CustomResourceOptions);
@overload
def Group(resource_name: str,
args: GroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Group(resource_name: str,
opts: Optional[ResourceOptions] = None,
path: Optional[str] = None,
extra_shared_runners_minutes_limit: Optional[int] = None,
wiki_access_level: Optional[str] = None,
parent_id: Optional[int] = None,
default_branch_protection_defaults: Optional[GroupDefaultBranchProtectionDefaultsArgs] = None,
description: Optional[str] = None,
emails_enabled: Optional[bool] = None,
auto_devops_enabled: Optional[bool] = None,
ip_restriction_ranges: Optional[Sequence[str]] = None,
lfs_enabled: Optional[bool] = None,
membership_lock: Optional[bool] = None,
mentions_disabled: Optional[bool] = None,
name: Optional[str] = None,
default_branch_protection: Optional[int] = None,
avatar_hash: Optional[str] = None,
shared_runners_minutes_limit: Optional[int] = None,
prevent_forking_outside_group: Optional[bool] = None,
project_creation_level: Optional[str] = None,
push_rules: Optional[GroupPushRulesArgs] = None,
request_access_enabled: Optional[bool] = None,
require_two_factor_authentication: Optional[bool] = None,
share_with_group_lock: Optional[bool] = None,
permanently_remove_on_delete: Optional[bool] = None,
shared_runners_setting: Optional[str] = None,
subgroup_creation_level: Optional[str] = None,
two_factor_grace_period: Optional[int] = None,
visibility_level: Optional[str] = None,
avatar: Optional[str] = None)
func NewGroup(ctx *Context, name string, args GroupArgs, opts ...ResourceOption) (*Group, error)
public Group(string name, GroupArgs args, CustomResourceOptions? opts = null)
type: gitlab:Group
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var groupResource = new GitLab.Group("groupResource", new()
{
Path = "string",
ExtraSharedRunnersMinutesLimit = 0,
WikiAccessLevel = "string",
ParentId = 0,
DefaultBranchProtectionDefaults = new GitLab.Inputs.GroupDefaultBranchProtectionDefaultsArgs
{
AllowForcePush = false,
AllowedToMerges = new[]
{
"string",
},
AllowedToPushes = new[]
{
"string",
},
DeveloperCanInitialPush = false,
},
Description = "string",
EmailsEnabled = false,
AutoDevopsEnabled = false,
IpRestrictionRanges = new[]
{
"string",
},
LfsEnabled = false,
MembershipLock = false,
MentionsDisabled = false,
Name = "string",
AvatarHash = "string",
SharedRunnersMinutesLimit = 0,
PreventForkingOutsideGroup = false,
ProjectCreationLevel = "string",
PushRules = new GitLab.Inputs.GroupPushRulesArgs
{
AuthorEmailRegex = "string",
BranchNameRegex = "string",
CommitCommitterCheck = false,
CommitCommitterNameCheck = false,
CommitMessageNegativeRegex = "string",
CommitMessageRegex = "string",
DenyDeleteTag = false,
FileNameRegex = "string",
MaxFileSize = 0,
MemberCheck = false,
PreventSecrets = false,
RejectNonDcoCommits = false,
RejectUnsignedCommits = false,
},
RequestAccessEnabled = false,
RequireTwoFactorAuthentication = false,
ShareWithGroupLock = false,
PermanentlyRemoveOnDelete = false,
SharedRunnersSetting = "string",
SubgroupCreationLevel = "string",
TwoFactorGracePeriod = 0,
VisibilityLevel = "string",
Avatar = "string",
});
example, err := gitlab.NewGroup(ctx, "groupResource", &gitlab.GroupArgs{
Path: pulumi.String("string"),
ExtraSharedRunnersMinutesLimit: pulumi.Int(0),
WikiAccessLevel: pulumi.String("string"),
ParentId: pulumi.Int(0),
DefaultBranchProtectionDefaults: &gitlab.GroupDefaultBranchProtectionDefaultsArgs{
AllowForcePush: pulumi.Bool(false),
AllowedToMerges: pulumi.StringArray{
pulumi.String("string"),
},
AllowedToPushes: pulumi.StringArray{
pulumi.String("string"),
},
DeveloperCanInitialPush: pulumi.Bool(false),
},
Description: pulumi.String("string"),
EmailsEnabled: pulumi.Bool(false),
AutoDevopsEnabled: pulumi.Bool(false),
IpRestrictionRanges: pulumi.StringArray{
pulumi.String("string"),
},
LfsEnabled: pulumi.Bool(false),
MembershipLock: pulumi.Bool(false),
MentionsDisabled: pulumi.Bool(false),
Name: pulumi.String("string"),
AvatarHash: pulumi.String("string"),
SharedRunnersMinutesLimit: pulumi.Int(0),
PreventForkingOutsideGroup: pulumi.Bool(false),
ProjectCreationLevel: pulumi.String("string"),
PushRules: &gitlab.GroupPushRulesArgs{
AuthorEmailRegex: pulumi.String("string"),
BranchNameRegex: pulumi.String("string"),
CommitCommitterCheck: pulumi.Bool(false),
CommitCommitterNameCheck: pulumi.Bool(false),
CommitMessageNegativeRegex: pulumi.String("string"),
CommitMessageRegex: pulumi.String("string"),
DenyDeleteTag: pulumi.Bool(false),
FileNameRegex: pulumi.String("string"),
MaxFileSize: pulumi.Int(0),
MemberCheck: pulumi.Bool(false),
PreventSecrets: pulumi.Bool(false),
RejectNonDcoCommits: pulumi.Bool(false),
RejectUnsignedCommits: pulumi.Bool(false),
},
RequestAccessEnabled: pulumi.Bool(false),
RequireTwoFactorAuthentication: pulumi.Bool(false),
ShareWithGroupLock: pulumi.Bool(false),
PermanentlyRemoveOnDelete: pulumi.Bool(false),
SharedRunnersSetting: pulumi.String("string"),
SubgroupCreationLevel: pulumi.String("string"),
TwoFactorGracePeriod: pulumi.Int(0),
VisibilityLevel: pulumi.String("string"),
Avatar: pulumi.String("string"),
})
var groupResource = new Group("groupResource", GroupArgs.builder()
.path("string")
.extraSharedRunnersMinutesLimit(0)
.wikiAccessLevel("string")
.parentId(0)
.defaultBranchProtectionDefaults(GroupDefaultBranchProtectionDefaultsArgs.builder()
.allowForcePush(false)
.allowedToMerges("string")
.allowedToPushes("string")
.developerCanInitialPush(false)
.build())
.description("string")
.emailsEnabled(false)
.autoDevopsEnabled(false)
.ipRestrictionRanges("string")
.lfsEnabled(false)
.membershipLock(false)
.mentionsDisabled(false)
.name("string")
.avatarHash("string")
.sharedRunnersMinutesLimit(0)
.preventForkingOutsideGroup(false)
.projectCreationLevel("string")
.pushRules(GroupPushRulesArgs.builder()
.authorEmailRegex("string")
.branchNameRegex("string")
.commitCommitterCheck(false)
.commitCommitterNameCheck(false)
.commitMessageNegativeRegex("string")
.commitMessageRegex("string")
.denyDeleteTag(false)
.fileNameRegex("string")
.maxFileSize(0)
.memberCheck(false)
.preventSecrets(false)
.rejectNonDcoCommits(false)
.rejectUnsignedCommits(false)
.build())
.requestAccessEnabled(false)
.requireTwoFactorAuthentication(false)
.shareWithGroupLock(false)
.permanentlyRemoveOnDelete(false)
.sharedRunnersSetting("string")
.subgroupCreationLevel("string")
.twoFactorGracePeriod(0)
.visibilityLevel("string")
.avatar("string")
.build());
group_resource = gitlab.Group("groupResource",
path="string",
extra_shared_runners_minutes_limit=0,
wiki_access_level="string",
parent_id=0,
default_branch_protection_defaults=gitlab.GroupDefaultBranchProtectionDefaultsArgs(
allow_force_push=False,
allowed_to_merges=["string"],
allowed_to_pushes=["string"],
developer_can_initial_push=False,
),
description="string",
emails_enabled=False,
auto_devops_enabled=False,
ip_restriction_ranges=["string"],
lfs_enabled=False,
membership_lock=False,
mentions_disabled=False,
name="string",
avatar_hash="string",
shared_runners_minutes_limit=0,
prevent_forking_outside_group=False,
project_creation_level="string",
push_rules=gitlab.GroupPushRulesArgs(
author_email_regex="string",
branch_name_regex="string",
commit_committer_check=False,
commit_committer_name_check=False,
commit_message_negative_regex="string",
commit_message_regex="string",
deny_delete_tag=False,
file_name_regex="string",
max_file_size=0,
member_check=False,
prevent_secrets=False,
reject_non_dco_commits=False,
reject_unsigned_commits=False,
),
request_access_enabled=False,
require_two_factor_authentication=False,
share_with_group_lock=False,
permanently_remove_on_delete=False,
shared_runners_setting="string",
subgroup_creation_level="string",
two_factor_grace_period=0,
visibility_level="string",
avatar="string")
const groupResource = new gitlab.Group("groupResource", {
path: "string",
extraSharedRunnersMinutesLimit: 0,
wikiAccessLevel: "string",
parentId: 0,
defaultBranchProtectionDefaults: {
allowForcePush: false,
allowedToMerges: ["string"],
allowedToPushes: ["string"],
developerCanInitialPush: false,
},
description: "string",
emailsEnabled: false,
autoDevopsEnabled: false,
ipRestrictionRanges: ["string"],
lfsEnabled: false,
membershipLock: false,
mentionsDisabled: false,
name: "string",
avatarHash: "string",
sharedRunnersMinutesLimit: 0,
preventForkingOutsideGroup: false,
projectCreationLevel: "string",
pushRules: {
authorEmailRegex: "string",
branchNameRegex: "string",
commitCommitterCheck: false,
commitCommitterNameCheck: false,
commitMessageNegativeRegex: "string",
commitMessageRegex: "string",
denyDeleteTag: false,
fileNameRegex: "string",
maxFileSize: 0,
memberCheck: false,
preventSecrets: false,
rejectNonDcoCommits: false,
rejectUnsignedCommits: false,
},
requestAccessEnabled: false,
requireTwoFactorAuthentication: false,
shareWithGroupLock: false,
permanentlyRemoveOnDelete: false,
sharedRunnersSetting: "string",
subgroupCreationLevel: "string",
twoFactorGracePeriod: 0,
visibilityLevel: "string",
avatar: "string",
});
type: gitlab:Group
properties:
autoDevopsEnabled: false
avatar: string
avatarHash: string
defaultBranchProtectionDefaults:
allowForcePush: false
allowedToMerges:
- string
allowedToPushes:
- string
developerCanInitialPush: false
description: string
emailsEnabled: false
extraSharedRunnersMinutesLimit: 0
ipRestrictionRanges:
- string
lfsEnabled: false
membershipLock: false
mentionsDisabled: false
name: string
parentId: 0
path: string
permanentlyRemoveOnDelete: false
preventForkingOutsideGroup: false
projectCreationLevel: string
pushRules:
authorEmailRegex: string
branchNameRegex: string
commitCommitterCheck: false
commitCommitterNameCheck: false
commitMessageNegativeRegex: string
commitMessageRegex: string
denyDeleteTag: false
fileNameRegex: string
maxFileSize: 0
memberCheck: false
preventSecrets: false
rejectNonDcoCommits: false
rejectUnsignedCommits: false
requestAccessEnabled: false
requireTwoFactorAuthentication: false
shareWithGroupLock: false
sharedRunnersMinutesLimit: 0
sharedRunnersSetting: string
subgroupCreationLevel: string
twoFactorGracePeriod: 0
visibilityLevel: string
wikiAccessLevel: string
Group Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Group resource accepts the following input properties:
- Path string
- The path of the group.
- Auto
Devops boolEnabled - Default to Auto DevOps pipeline for all projects within this group.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Default
Branch intProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - Default
Branch Pulumi.Protection Defaults Git Lab. Inputs. Group Default Branch Protection Defaults - The default branch protection defaults
- Description string
- The group's description.
- Emails
Enabled bool - Enable email notifications.
- int
- Can be set by administrators only. Additional CI/CD minutes for this group.
- Ip
Restriction List<string>Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- Lfs
Enabled bool - Enable/disable Large File Storage (LFS) for the projects in this group.
- Membership
Lock bool - Users cannot be added to projects in this group.
- Mentions
Disabled bool - Disable the capability of a group from getting mentioned.
- Name string
- The name of the group.
- Parent
Id int - Id of the parent group (creates a nested group).
- Permanently
Remove boolOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - Prevent
Forking boolOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- Project
Creation stringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- Push
Rules Pulumi.Git Lab. Inputs. Group Push Rules - Push rules for the group.
- Request
Access boolEnabled - Allow users to request member access.
- Require
Two boolFactor Authentication - Require all users in this group to setup Two-factor authentication.
- bool
- Prevent sharing a project with another group within this group.
- int
- 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.
- string
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - Subgroup
Creation stringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - Two
Factor intGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- Visibility
Level string - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - Wiki
Access stringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- Path string
- The path of the group.
- Auto
Devops boolEnabled - Default to Auto DevOps pipeline for all projects within this group.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Default
Branch intProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - Default
Branch GroupProtection Defaults Default Branch Protection Defaults Args - The default branch protection defaults
- Description string
- The group's description.
- Emails
Enabled bool - Enable email notifications.
- int
- Can be set by administrators only. Additional CI/CD minutes for this group.
- Ip
Restriction []stringRanges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- Lfs
Enabled bool - Enable/disable Large File Storage (LFS) for the projects in this group.
- Membership
Lock bool - Users cannot be added to projects in this group.
- Mentions
Disabled bool - Disable the capability of a group from getting mentioned.
- Name string
- The name of the group.
- Parent
Id int - Id of the parent group (creates a nested group).
- Permanently
Remove boolOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - Prevent
Forking boolOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- Project
Creation stringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- Push
Rules GroupPush Rules Args - Push rules for the group.
- Request
Access boolEnabled - Allow users to request member access.
- Require
Two boolFactor Authentication - Require all users in this group to setup Two-factor authentication.
- bool
- Prevent sharing a project with another group within this group.
- int
- 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.
- string
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - Subgroup
Creation stringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - Two
Factor intGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- Visibility
Level string - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - Wiki
Access stringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- path String
- The path of the group.
- auto
Devops BooleanEnabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - default
Branch IntegerProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default
Branch GroupProtection Defaults Default Branch Protection Defaults - The default branch protection defaults
- description String
- The group's description.
- emails
Enabled Boolean - Enable email notifications.
- Integer
- Can be set by administrators only. Additional CI/CD minutes for this group.
- ip
Restriction List<String>Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs
Enabled Boolean - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership
Lock Boolean - Users cannot be added to projects in this group.
- mentions
Disabled Boolean - Disable the capability of a group from getting mentioned.
- name String
- The name of the group.
- parent
Id Integer - Id of the parent group (creates a nested group).
- permanently
Remove BooleanOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent
Forking BooleanOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project
Creation StringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push
Rules GroupPush Rules - Push rules for the group.
- request
Access BooleanEnabled - Allow users to request member access.
- require
Two BooleanFactor Authentication - Require all users in this group to setup Two-factor authentication.
- Boolean
- Prevent sharing a project with another group within this group.
- Integer
- 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.
- String
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup
Creation StringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two
Factor IntegerGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility
Level String - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - wiki
Access StringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- path string
- The path of the group.
- auto
Devops booleanEnabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - default
Branch numberProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default
Branch GroupProtection Defaults Default Branch Protection Defaults - The default branch protection defaults
- description string
- The group's description.
- emails
Enabled boolean - Enable email notifications.
- number
- Can be set by administrators only. Additional CI/CD minutes for this group.
- ip
Restriction string[]Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs
Enabled boolean - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership
Lock boolean - Users cannot be added to projects in this group.
- mentions
Disabled boolean - Disable the capability of a group from getting mentioned.
- name string
- The name of the group.
- parent
Id number - Id of the parent group (creates a nested group).
- permanently
Remove booleanOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent
Forking booleanOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project
Creation stringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push
Rules GroupPush Rules - Push rules for the group.
- request
Access booleanEnabled - Allow users to request member access.
- require
Two booleanFactor Authentication - Require all users in this group to setup Two-factor authentication.
- boolean
- Prevent sharing a project with another group within this group.
- number
- 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.
- string
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup
Creation stringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two
Factor numberGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility
Level string - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - wiki
Access stringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- path str
- The path of the group.
- auto_
devops_ boolenabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar str
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar_
hash str - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - default_
branch_ intprotection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default_
branch_ Groupprotection_ defaults Default Branch Protection Defaults Args - The default branch protection defaults
- description str
- The group's description.
- emails_
enabled bool - Enable email notifications.
- int
- Can be set by administrators only. Additional CI/CD minutes for this group.
- ip_
restriction_ Sequence[str]ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs_
enabled bool - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership_
lock bool - Users cannot be added to projects in this group.
- mentions_
disabled bool - Disable the capability of a group from getting mentioned.
- name str
- The name of the group.
- parent_
id int - Id of the parent group (creates a nested group).
- permanently_
remove_ boolon_ delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent_
forking_ booloutside_ group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project_
creation_ strlevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push_
rules GroupPush Rules Args - Push rules for the group.
- request_
access_ boolenabled - Allow users to request member access.
- require_
two_ boolfactor_ authentication - Require all users in this group to setup Two-factor authentication.
- bool
- Prevent sharing a project with another group within this group.
- int
- 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.
- str
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup_
creation_ strlevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two_
factor_ intgrace_ period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility_
level str - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - wiki_
access_ strlevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- path String
- The path of the group.
- auto
Devops BooleanEnabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - default
Branch NumberProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default
Branch Property MapProtection Defaults - The default branch protection defaults
- description String
- The group's description.
- emails
Enabled Boolean - Enable email notifications.
- Number
- Can be set by administrators only. Additional CI/CD minutes for this group.
- ip
Restriction List<String>Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs
Enabled Boolean - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership
Lock Boolean - Users cannot be added to projects in this group.
- mentions
Disabled Boolean - Disable the capability of a group from getting mentioned.
- name String
- The name of the group.
- parent
Id Number - Id of the parent group (creates a nested group).
- permanently
Remove BooleanOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent
Forking BooleanOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project
Creation StringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push
Rules Property Map - Push rules for the group.
- request
Access BooleanEnabled - Allow users to request member access.
- require
Two BooleanFactor Authentication - Require all users in this group to setup Two-factor authentication.
- Boolean
- Prevent sharing a project with another group within this group.
- Number
- 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.
- String
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup
Creation StringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two
Factor NumberGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility
Level String - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - wiki
Access StringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
Outputs
All input properties are implicitly available as output properties. Additionally, the Group resource produces the following output properties:
- Avatar
Url string - The URL of the avatar image.
- Full
Name string - The full name of the group.
- Full
Path string - The full path of the group.
- Id string
- The provider-assigned unique ID for this managed resource.
- Runners
Token string - The group level registration token to use during runner setup.
- Web
Url string - Web URL of the group.
- Avatar
Url string - The URL of the avatar image.
- Full
Name string - The full name of the group.
- Full
Path string - The full path of the group.
- Id string
- The provider-assigned unique ID for this managed resource.
- Runners
Token string - The group level registration token to use during runner setup.
- Web
Url string - Web URL of the group.
- avatar
Url String - The URL of the avatar image.
- full
Name String - The full name of the group.
- full
Path String - The full path of the group.
- id String
- The provider-assigned unique ID for this managed resource.
- runners
Token String - The group level registration token to use during runner setup.
- web
Url String - Web URL of the group.
- avatar
Url string - The URL of the avatar image.
- full
Name string - The full name of the group.
- full
Path string - The full path of the group.
- id string
- The provider-assigned unique ID for this managed resource.
- runners
Token string - The group level registration token to use during runner setup.
- web
Url string - Web URL of the group.
- avatar_
url str - The URL of the avatar image.
- full_
name str - The full name of the group.
- full_
path str - The full path of the group.
- id str
- The provider-assigned unique ID for this managed resource.
- runners_
token str - The group level registration token to use during runner setup.
- web_
url str - Web URL of the group.
- avatar
Url String - The URL of the avatar image.
- full
Name String - The full name of the group.
- full
Path String - The full path of the group.
- id String
- The provider-assigned unique ID for this managed resource.
- runners
Token String - The group level registration token to use during runner setup.
- web
Url String - Web URL of the group.
Look up Existing Group Resource
Get an existing Group resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: GroupState, opts?: CustomResourceOptions): Group
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
auto_devops_enabled: Optional[bool] = None,
avatar: Optional[str] = None,
avatar_hash: Optional[str] = None,
avatar_url: Optional[str] = None,
default_branch_protection: Optional[int] = None,
default_branch_protection_defaults: Optional[GroupDefaultBranchProtectionDefaultsArgs] = None,
description: Optional[str] = None,
emails_enabled: Optional[bool] = None,
extra_shared_runners_minutes_limit: Optional[int] = None,
full_name: Optional[str] = None,
full_path: Optional[str] = None,
ip_restriction_ranges: Optional[Sequence[str]] = None,
lfs_enabled: Optional[bool] = None,
membership_lock: Optional[bool] = None,
mentions_disabled: Optional[bool] = None,
name: Optional[str] = None,
parent_id: Optional[int] = None,
path: Optional[str] = None,
permanently_remove_on_delete: Optional[bool] = None,
prevent_forking_outside_group: Optional[bool] = None,
project_creation_level: Optional[str] = None,
push_rules: Optional[GroupPushRulesArgs] = None,
request_access_enabled: Optional[bool] = None,
require_two_factor_authentication: Optional[bool] = None,
runners_token: Optional[str] = None,
share_with_group_lock: Optional[bool] = None,
shared_runners_minutes_limit: Optional[int] = None,
shared_runners_setting: Optional[str] = None,
subgroup_creation_level: Optional[str] = None,
two_factor_grace_period: Optional[int] = None,
visibility_level: Optional[str] = None,
web_url: Optional[str] = None,
wiki_access_level: Optional[str] = None) -> Group
func GetGroup(ctx *Context, name string, id IDInput, state *GroupState, opts ...ResourceOption) (*Group, error)
public static Group Get(string name, Input<string> id, GroupState? state, CustomResourceOptions? opts = null)
public static Group get(String name, Output<String> id, GroupState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Auto
Devops boolEnabled - Default to Auto DevOps pipeline for all projects within this group.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Avatar
Url string - The URL of the avatar image.
- Default
Branch intProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - Default
Branch Pulumi.Protection Defaults Git Lab. Inputs. Group Default Branch Protection Defaults - The default branch protection defaults
- Description string
- The group's description.
- Emails
Enabled bool - Enable email notifications.
- int
- Can be set by administrators only. Additional CI/CD minutes for this group.
- Full
Name string - The full name of the group.
- Full
Path string - The full path of the group.
- Ip
Restriction List<string>Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- Lfs
Enabled bool - Enable/disable Large File Storage (LFS) for the projects in this group.
- Membership
Lock bool - Users cannot be added to projects in this group.
- Mentions
Disabled bool - Disable the capability of a group from getting mentioned.
- Name string
- The name of the group.
- Parent
Id int - Id of the parent group (creates a nested group).
- Path string
- The path of the group.
- Permanently
Remove boolOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - Prevent
Forking boolOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- Project
Creation stringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- Push
Rules Pulumi.Git Lab. Inputs. Group Push Rules - Push rules for the group.
- Request
Access boolEnabled - Allow users to request member access.
- Require
Two boolFactor Authentication - Require all users in this group to setup Two-factor authentication.
- Runners
Token string - The group level registration token to use during runner setup.
- bool
- Prevent sharing a project with another group within this group.
- int
- 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.
- string
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - Subgroup
Creation stringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - Two
Factor intGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- Visibility
Level string - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - Web
Url string - Web URL of the group.
- Wiki
Access stringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- Auto
Devops boolEnabled - Default to Auto DevOps pipeline for all projects within this group.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Avatar
Url string - The URL of the avatar image.
- Default
Branch intProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - Default
Branch GroupProtection Defaults Default Branch Protection Defaults Args - The default branch protection defaults
- Description string
- The group's description.
- Emails
Enabled bool - Enable email notifications.
- int
- Can be set by administrators only. Additional CI/CD minutes for this group.
- Full
Name string - The full name of the group.
- Full
Path string - The full path of the group.
- Ip
Restriction []stringRanges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- Lfs
Enabled bool - Enable/disable Large File Storage (LFS) for the projects in this group.
- Membership
Lock bool - Users cannot be added to projects in this group.
- Mentions
Disabled bool - Disable the capability of a group from getting mentioned.
- Name string
- The name of the group.
- Parent
Id int - Id of the parent group (creates a nested group).
- Path string
- The path of the group.
- Permanently
Remove boolOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - Prevent
Forking boolOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- Project
Creation stringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- Push
Rules GroupPush Rules Args - Push rules for the group.
- Request
Access boolEnabled - Allow users to request member access.
- Require
Two boolFactor Authentication - Require all users in this group to setup Two-factor authentication.
- Runners
Token string - The group level registration token to use during runner setup.
- bool
- Prevent sharing a project with another group within this group.
- int
- 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.
- string
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - Subgroup
Creation stringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - Two
Factor intGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- Visibility
Level string - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - Web
Url string - Web URL of the group.
- Wiki
Access stringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- auto
Devops BooleanEnabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar
Url String - The URL of the avatar image.
- default
Branch IntegerProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default
Branch GroupProtection Defaults Default Branch Protection Defaults - The default branch protection defaults
- description String
- The group's description.
- emails
Enabled Boolean - Enable email notifications.
- Integer
- Can be set by administrators only. Additional CI/CD minutes for this group.
- full
Name String - The full name of the group.
- full
Path String - The full path of the group.
- ip
Restriction List<String>Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs
Enabled Boolean - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership
Lock Boolean - Users cannot be added to projects in this group.
- mentions
Disabled Boolean - Disable the capability of a group from getting mentioned.
- name String
- The name of the group.
- parent
Id Integer - Id of the parent group (creates a nested group).
- path String
- The path of the group.
- permanently
Remove BooleanOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent
Forking BooleanOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project
Creation StringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push
Rules GroupPush Rules - Push rules for the group.
- request
Access BooleanEnabled - Allow users to request member access.
- require
Two BooleanFactor Authentication - Require all users in this group to setup Two-factor authentication.
- runners
Token String - The group level registration token to use during runner setup.
- Boolean
- Prevent sharing a project with another group within this group.
- Integer
- 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.
- String
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup
Creation StringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two
Factor IntegerGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility
Level String - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - web
Url String - Web URL of the group.
- wiki
Access StringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- auto
Devops booleanEnabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar
Url string - The URL of the avatar image.
- default
Branch numberProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default
Branch GroupProtection Defaults Default Branch Protection Defaults - The default branch protection defaults
- description string
- The group's description.
- emails
Enabled boolean - Enable email notifications.
- number
- Can be set by administrators only. Additional CI/CD minutes for this group.
- full
Name string - The full name of the group.
- full
Path string - The full path of the group.
- ip
Restriction string[]Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs
Enabled boolean - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership
Lock boolean - Users cannot be added to projects in this group.
- mentions
Disabled boolean - Disable the capability of a group from getting mentioned.
- name string
- The name of the group.
- parent
Id number - Id of the parent group (creates a nested group).
- path string
- The path of the group.
- permanently
Remove booleanOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent
Forking booleanOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project
Creation stringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push
Rules GroupPush Rules - Push rules for the group.
- request
Access booleanEnabled - Allow users to request member access.
- require
Two booleanFactor Authentication - Require all users in this group to setup Two-factor authentication.
- runners
Token string - The group level registration token to use during runner setup.
- boolean
- Prevent sharing a project with another group within this group.
- number
- 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.
- string
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup
Creation stringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two
Factor numberGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility
Level string - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - web
Url string - Web URL of the group.
- wiki
Access stringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- auto_
devops_ boolenabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar str
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar_
hash str - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar_
url str - The URL of the avatar image.
- default_
branch_ intprotection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default_
branch_ Groupprotection_ defaults Default Branch Protection Defaults Args - The default branch protection defaults
- description str
- The group's description.
- emails_
enabled bool - Enable email notifications.
- int
- Can be set by administrators only. Additional CI/CD minutes for this group.
- full_
name str - The full name of the group.
- full_
path str - The full path of the group.
- ip_
restriction_ Sequence[str]ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs_
enabled bool - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership_
lock bool - Users cannot be added to projects in this group.
- mentions_
disabled bool - Disable the capability of a group from getting mentioned.
- name str
- The name of the group.
- parent_
id int - Id of the parent group (creates a nested group).
- path str
- The path of the group.
- permanently_
remove_ boolon_ delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent_
forking_ booloutside_ group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project_
creation_ strlevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push_
rules GroupPush Rules Args - Push rules for the group.
- request_
access_ boolenabled - Allow users to request member access.
- require_
two_ boolfactor_ authentication - Require all users in this group to setup Two-factor authentication.
- runners_
token str - The group level registration token to use during runner setup.
- bool
- Prevent sharing a project with another group within this group.
- int
- 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.
- str
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup_
creation_ strlevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two_
factor_ intgrace_ period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility_
level str - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - web_
url str - Web URL of the group.
- wiki_
access_ strlevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
- auto
Devops BooleanEnabled - Default to Auto DevOps pipeline for all projects within this group.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar
Url String - The URL of the avatar image.
- default
Branch NumberProtection - See https://docs.gitlab.com/ee/api/groups.html#options-for-defaultbranchprotection. Valid values are:
0
,1
,2
,3
,4
. - default
Branch Property MapProtection Defaults - The default branch protection defaults
- description String
- The group's description.
- emails
Enabled Boolean - Enable email notifications.
- Number
- Can be set by administrators only. Additional CI/CD minutes for this group.
- full
Name String - The full name of the group.
- full
Path String - The full path of the group.
- ip
Restriction List<String>Ranges - A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups.
- lfs
Enabled Boolean - Enable/disable Large File Storage (LFS) for the projects in this group.
- membership
Lock Boolean - Users cannot be added to projects in this group.
- mentions
Disabled Boolean - Disable the capability of a group from getting mentioned.
- name String
- The name of the group.
- parent
Id Number - Id of the parent group (creates a nested group).
- path String
- The path of the group.
- permanently
Remove BooleanOn Delete - Whether the group should be permanently removed during a
delete
operation. This only works with subgroups. Must be configured via anapply
before thedestroy
is run. - prevent
Forking BooleanOutside Group - Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
- project
Creation StringLevel - Determine if developers can create projects in the group. Valid values are:
noone
,maintainer
,developer
- push
Rules Property Map - Push rules for the group.
- request
Access BooleanEnabled - Allow users to request member access.
- require
Two BooleanFactor Authentication - Require all users in this group to setup Two-factor authentication.
- runners
Token String - The group level registration token to use during runner setup.
- Boolean
- Prevent sharing a project with another group within this group.
- Number
- 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.
- String
- Enable or disable shared runners for a group’s subgroups and projects. Valid values are:
enabled
,disabled_and_overridable
,disabled_and_unoverridable
,disabled_with_override
. - subgroup
Creation StringLevel - Allowed to create subgroups. Valid values are:
owner
,maintainer
. - two
Factor NumberGrace Period - Defaults to 48. Time before Two-factor authentication is enforced (in hours).
- visibility
Level String - The group's visibility. Can be
private
,internal
, orpublic
. Valid values are:private
,internal
,public
. - web
Url String - Web URL of the group.
- wiki
Access StringLevel - The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are
disabled
,private
,enabled
.
Supporting Types
GroupDefaultBranchProtectionDefaults, GroupDefaultBranchProtectionDefaultsArgs
- Allow
Force boolPush - Allow force push for all users with push access.
- Allowed
To List<string>Merges - An array of access levels allowed to merge. Valid values are:
developer
,maintainer
. - Allowed
To List<string>Pushes - An array of access levels allowed to push. Valid values are:
developer
,maintainer
. - Developer
Can boolInitial Push - Allow developers to initial push.
- Allow
Force boolPush - Allow force push for all users with push access.
- Allowed
To []stringMerges - An array of access levels allowed to merge. Valid values are:
developer
,maintainer
. - Allowed
To []stringPushes - An array of access levels allowed to push. Valid values are:
developer
,maintainer
. - Developer
Can boolInitial Push - Allow developers to initial push.
- allow
Force BooleanPush - Allow force push for all users with push access.
- allowed
To List<String>Merges - An array of access levels allowed to merge. Valid values are:
developer
,maintainer
. - allowed
To List<String>Pushes - An array of access levels allowed to push. Valid values are:
developer
,maintainer
. - developer
Can BooleanInitial Push - Allow developers to initial push.
- allow
Force booleanPush - Allow force push for all users with push access.
- allowed
To string[]Merges - An array of access levels allowed to merge. Valid values are:
developer
,maintainer
. - allowed
To string[]Pushes - An array of access levels allowed to push. Valid values are:
developer
,maintainer
. - developer
Can booleanInitial Push - Allow developers to initial push.
- allow_
force_ boolpush - Allow force push for all users with push access.
- allowed_
to_ Sequence[str]merges - An array of access levels allowed to merge. Valid values are:
developer
,maintainer
. - allowed_
to_ Sequence[str]pushes - An array of access levels allowed to push. Valid values are:
developer
,maintainer
. - developer_
can_ boolinitial_ push - Allow developers to initial push.
- allow
Force BooleanPush - Allow force push for all users with push access.
- allowed
To List<String>Merges - An array of access levels allowed to merge. Valid values are:
developer
,maintainer
. - allowed
To List<String>Pushes - An array of access levels allowed to push. Valid values are:
developer
,maintainer
. - developer
Can BooleanInitial Push - Allow developers to initial push.
GroupPushRules, GroupPushRulesArgs
- string
- All commit author emails must match this regex, e.g.
@my-company.com$
. - Branch
Name stringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - Commit
Committer boolCheck - Only commits pushed using verified emails are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- Commit
Committer boolName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- Commit
Message stringNegative Regex - No commit message is allowed to match this regex, for example
ssh\:\/\/
. - Commit
Message stringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - Deny
Delete boolTag - Deny deleting a tag.
- File
Name stringRegex - Filenames matching the regular expression provided in this attribute are not allowed, for example,
(jar|exe)$
. - Max
File intSize - Maximum file size (MB) allowed.
- Member
Check bool - Allows only GitLab users to author commits.
- Prevent
Secrets bool - GitLab will reject any files that are likely to contain secrets.
- Reject
Non boolDco Commits - Reject commit when it’s not DCO certified.
- Reject
Unsigned boolCommits - Only commits signed through GPG are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- string
- All commit author emails must match this regex, e.g.
@my-company.com$
. - Branch
Name stringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - Commit
Committer boolCheck - Only commits pushed using verified emails are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- Commit
Committer boolName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- Commit
Message stringNegative Regex - No commit message is allowed to match this regex, for example
ssh\:\/\/
. - Commit
Message stringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - Deny
Delete boolTag - Deny deleting a tag.
- File
Name stringRegex - Filenames matching the regular expression provided in this attribute are not allowed, for example,
(jar|exe)$
. - Max
File intSize - Maximum file size (MB) allowed.
- Member
Check bool - Allows only GitLab users to author commits.
- Prevent
Secrets bool - GitLab will reject any files that are likely to contain secrets.
- Reject
Non boolDco Commits - Reject commit when it’s not DCO certified.
- Reject
Unsigned boolCommits - Only commits signed through GPG are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- String
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch
Name StringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit
Committer BooleanCheck - Only commits pushed using verified emails are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- commit
Committer BooleanName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit
Message StringNegative Regex - No commit message is allowed to match this regex, for example
ssh\:\/\/
. - commit
Message StringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny
Delete BooleanTag - Deny deleting a tag.
- file
Name StringRegex - Filenames matching the regular expression provided in this attribute are not allowed, for example,
(jar|exe)$
. - max
File IntegerSize - Maximum file size (MB) allowed.
- member
Check Boolean - Allows only GitLab users to author commits.
- prevent
Secrets Boolean - GitLab will reject any files that are likely to contain secrets.
- reject
Non BooleanDco Commits - Reject commit when it’s not DCO certified.
- reject
Unsigned BooleanCommits - Only commits signed through GPG are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- string
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch
Name stringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit
Committer booleanCheck - Only commits pushed using verified emails are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- commit
Committer booleanName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit
Message stringNegative Regex - No commit message is allowed to match this regex, for example
ssh\:\/\/
. - commit
Message stringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny
Delete booleanTag - Deny deleting a tag.
- file
Name stringRegex - Filenames matching the regular expression provided in this attribute are not allowed, for example,
(jar|exe)$
. - max
File numberSize - Maximum file size (MB) allowed.
- member
Check boolean - Allows only GitLab users to author commits.
- prevent
Secrets boolean - GitLab will reject any files that are likely to contain secrets.
- reject
Non booleanDco Commits - Reject commit when it’s not DCO certified.
- reject
Unsigned booleanCommits - Only commits signed through GPG are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- str
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch_
name_ strregex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit_
committer_ boolcheck - Only commits pushed using verified emails are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- commit_
committer_ boolname_ check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit_
message_ strnegative_ regex - No commit message is allowed to match this regex, for example
ssh\:\/\/
. - commit_
message_ strregex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny_
delete_ booltag - Deny deleting a tag.
- file_
name_ strregex - Filenames matching the regular expression provided in this attribute are not allowed, for example,
(jar|exe)$
. - max_
file_ intsize - Maximum file size (MB) allowed.
- member_
check bool - Allows only GitLab users to author commits.
- prevent_
secrets bool - GitLab will reject any files that are likely to contain secrets.
- reject_
non_ booldco_ commits - Reject commit when it’s not DCO certified.
- reject_
unsigned_ boolcommits - Only commits signed through GPG are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- String
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch
Name StringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit
Committer BooleanCheck - Only commits pushed using verified emails are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
- commit
Committer BooleanName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit
Message StringNegative Regex - No commit message is allowed to match this regex, for example
ssh\:\/\/
. - commit
Message StringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny
Delete BooleanTag - Deny deleting a tag.
- file
Name StringRegex - Filenames matching the regular expression provided in this attribute are not allowed, for example,
(jar|exe)$
. - max
File NumberSize - Maximum file size (MB) allowed.
- member
Check Boolean - Allows only GitLab users to author commits.
- prevent
Secrets Boolean - GitLab will reject any files that are likely to contain secrets.
- reject
Non BooleanDco Commits - Reject commit when it’s not DCO certified.
- reject
Unsigned BooleanCommits - Only commits signed through GPG are allowed. Note This attribute is only supported in GitLab versions >= 16.4.
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][details_of_a_group] api takes for
its :id
value, so for example:
$ pulumi import gitlab:index/group:Group example example
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- GitLab pulumi/pulumi-gitlab
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
gitlab
Terraform Provider.