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
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var exampleGroup = new GitLab.Group("exampleGroup", new()
{
Path = "example",
Description = "An example group",
});
// Create a project in the example group
var exampleProject = new GitLab.Project("exampleProject", new()
{
Description = "An example project",
NamespaceId = exampleGroup.Id,
});
// Group with custom push rules
var example_two = new GitLab.Group("example-two", new()
{
Path = "example-two",
Description = "An example group with push rules",
PushRules = new GitLab.Inputs.GroupPushRulesArgs
{
AuthorEmailRegex = "@example\\.com$",
CommitCommitterCheck = true,
MemberCheck = true,
PreventSecrets = true,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gitlab/sdk/v6/go/gitlab"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleGroup, err := gitlab.NewGroup(ctx, "exampleGroup", &gitlab.GroupArgs{
Path: pulumi.String("example"),
Description: pulumi.String("An example group"),
})
if err != nil {
return err
}
_, err = gitlab.NewProject(ctx, "exampleProject", &gitlab.ProjectArgs{
Description: pulumi.String("An example project"),
NamespaceId: exampleGroup.ID(),
})
if err != nil {
return err
}
_, err = gitlab.NewGroup(ctx, "example-two", &gitlab.GroupArgs{
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
}
return nil
})
}
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 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());
var example_two = new Group("example-two", GroupArgs.builder()
.path("example-two")
.description("An example group with push rules")
.pushRules(GroupPushRulesArgs.builder()
.authorEmailRegex("@example\\.com$")
.commitCommitterCheck(true)
.memberCheck(true)
.preventSecrets(true)
.build())
.build());
}
}
import pulumi
import pulumi_gitlab as gitlab
example_group = gitlab.Group("exampleGroup",
path="example",
description="An example group")
# Create a project in the example group
example_project = gitlab.Project("exampleProject",
description="An example project",
namespace_id=example_group.id)
# Group with custom push rules
example_two = gitlab.Group("example-two",
path="example-two",
description="An example group with push rules",
push_rules=gitlab.GroupPushRulesArgs(
author_email_regex="@example\\.com$",
commit_committer_check=True,
member_check=True,
prevent_secrets=True,
))
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const exampleGroup = new gitlab.Group("exampleGroup", {
path: "example",
description: "An example group",
});
// Create a project in the example group
const exampleProject = new gitlab.Project("exampleProject", {
description: "An example project",
namespaceId: exampleGroup.id,
});
// Group with custom push rules
const example_two = new gitlab.Group("example-two", {
path: "example-two",
description: "An example group with push rules",
pushRules: {
authorEmailRegex: "@example\\.com$",
commitCommitterCheck: true,
memberCheck: true,
preventSecrets: true,
},
});
resources:
exampleGroup:
type: gitlab:Group
properties:
path: example
description: An example group
# Create a project in the example group
exampleProject:
type: gitlab:Project
properties:
description: An example project
namespaceId: ${exampleGroup.id}
# Group with custom push rules
example-two:
type: gitlab:Group
properties:
path: example-two
description: An example group with push rules
pushRules:
authorEmailRegex: '@example\.com$'
commitCommitterCheck: true
memberCheck: true
preventSecrets: true
Create Group Resource
new Group(name: string, args: GroupArgs, opts?: CustomResourceOptions);
@overload
def Group(resource_name: str,
opts: Optional[ResourceOptions] = None,
auto_devops_enabled: Optional[bool] = None,
avatar: Optional[str] = None,
avatar_hash: Optional[str] = None,
default_branch_protection: Optional[int] = None,
description: Optional[str] = None,
emails_disabled: Optional[bool] = None,
extra_shared_runners_minutes_limit: Optional[int] = 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,
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,
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,
wiki_access_level: Optional[str] = None)
@overload
def Group(resource_name: str,
args: GroupArgs,
opts: Optional[ResourceOptions] = 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.
- 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.
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
.- Description string
The group's description.
- Emails
Disabled bool Disable 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).
- 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
.- Description string
The group's description.
- Emails
Disabled bool Disable 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).
- 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
.- description String
The group's description.
- emails
Disabled Boolean Disable 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).
- 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
.- description string
The group's description.
- emails
Disabled boolean Disable 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).
- 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
.- description str
The group's description.
- emails_
disabled bool Disable 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).
- 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
.- description String
The group's description.
- emails
Disabled Boolean Disable 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).
- 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,
description: Optional[str] = None,
emails_disabled: 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,
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
.- Description string
The group's description.
- Emails
Disabled bool Disable 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.
- 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
.- Description string
The group's description.
- Emails
Disabled bool Disable 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.
- 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
.- description String
The group's description.
- emails
Disabled Boolean Disable 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.
- 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
.- description string
The group's description.
- emails
Disabled boolean Disable 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.
- 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
.- description str
The group's description.
- emails_
disabled bool Disable 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.
- 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
.- description String
The group's description.
- emails
Disabled Boolean Disable 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.
- 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
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
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
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
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
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
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
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
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
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_
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_
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
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
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
Package Details
- Repository
- GitLab pulumi/pulumi-gitlab
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
gitlab
Terraform Provider.