ProjectMembership

class ProjectMembership : KotlinCustomResource

The gitlab.ProjectMembership resource allows to manage the lifecycle of a users project membership.

If a project should grant membership to an entire group use the gitlab.ProjectShareGroup resource instead. Upstream API: GitLab REST API docs

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const test = new gitlab.ProjectMembership("test", {
project: "12345",
userId: 1337,
accessLevel: "guest",
});
const example = new gitlab.ProjectMembership("example", {
project: "67890",
userId: 1234,
accessLevel: "guest",
expiresAt: "2022-12-31",
});
import pulumi
import pulumi_gitlab as gitlab
test = gitlab.ProjectMembership("test",
project="12345",
user_id=1337,
access_level="guest")
example = gitlab.ProjectMembership("example",
project="67890",
user_id=1234,
access_level="guest",
expires_at="2022-12-31")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var test = new GitLab.ProjectMembership("test", new()
{
Project = "12345",
UserId = 1337,
AccessLevel = "guest",
});
var example = new GitLab.ProjectMembership("example", new()
{
Project = "67890",
UserId = 1234,
AccessLevel = "guest",
ExpiresAt = "2022-12-31",
});
});
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 {
_, err := gitlab.NewProjectMembership(ctx, "test", &gitlab.ProjectMembershipArgs{
Project: pulumi.String("12345"),
UserId: pulumi.Int(1337),
AccessLevel: pulumi.String("guest"),
})
if err != nil {
return err
}
_, err = gitlab.NewProjectMembership(ctx, "example", &gitlab.ProjectMembershipArgs{
Project: pulumi.String("67890"),
UserId: pulumi.Int(1234),
AccessLevel: pulumi.String("guest"),
ExpiresAt: pulumi.String("2022-12-31"),
})
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.ProjectMembership;
import com.pulumi.gitlab.ProjectMembershipArgs;
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 test = new ProjectMembership("test", ProjectMembershipArgs.builder()
.project("12345")
.userId(1337)
.accessLevel("guest")
.build());
var example = new ProjectMembership("example", ProjectMembershipArgs.builder()
.project("67890")
.userId(1234)
.accessLevel("guest")
.expiresAt("2022-12-31")
.build());
}
}
resources:
test:
type: gitlab:ProjectMembership
properties:
project: '12345'
userId: 1337
accessLevel: guest
example:
type: gitlab:ProjectMembership
properties:
project: '67890'
userId: 1234
accessLevel: guest
expiresAt: 2022-12-31

Import

Starting in Terraform v1.5.0 you can use an import block to import gitlab_project_membership. For example: terraform import { to = gitlab_project_membership.example id = "see CLI command below for ID" } Import using the CLI is supported using the following syntax: GitLab project membership can be imported using an id made up of project_id:user_id, e.g.

$ pulumi import gitlab:index/projectMembership:ProjectMembership test "12345:1337"

Properties

Link copied to clipboard
val accessLevel: Output<String>

The access level for the member. Valid values are: no one, minimal, guest, reporter, developer, maintainer, owner

Link copied to clipboard
val expiresAt: Output<String>?

Expiration date for the project membership. Format: YYYY-MM-DD

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val memberRoleId: Output<Int>?

The ID of a custom member role. Only available for Ultimate instances.

Link copied to clipboard
val project: Output<String>

The ID or URL-encoded path of the project.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val userId: Output<Int>

The id of the user.