Project Variable
The gitlab.ProjectVariable resource allows to manage the lifecycle of a CI/CD variable for a project.
Important: If your GitLab version is older than 13.4, you may see nondeterministic behavior when updating or deleting gitlab.ProjectVariable resources with non-unique keys, for example if there is another variable with the same key and different environment scope. See this GitLab issue. Upstream API: GitLab REST API docs
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const example = new gitlab.ProjectVariable("example", {
project: "12345",
key: "project_variable_key",
value: "project_variable_value",
"protected": false,
});import pulumi
import pulumi_gitlab as gitlab
example = gitlab.ProjectVariable("example",
project="12345",
key="project_variable_key",
value="project_variable_value",
protected=False)using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var example = new GitLab.ProjectVariable("example", new()
{
Project = "12345",
Key = "project_variable_key",
Value = "project_variable_value",
Protected = false,
});
});package main
import (
"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gitlab.NewProjectVariable(ctx, "example", &gitlab.ProjectVariableArgs{
Project: pulumi.String("12345"),
Key: pulumi.String("project_variable_key"),
Value: pulumi.String("project_variable_value"),
Protected: pulumi.Bool(false),
})
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.ProjectVariable;
import com.pulumi.gitlab.ProjectVariableArgs;
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 ProjectVariable("example", ProjectVariableArgs.builder()
.project("12345")
.key("project_variable_key")
.value("project_variable_value")
.protected_(false)
.build());
}
}resources:
example:
type: gitlab:ProjectVariable
properties:
project: '12345'
key: project_variable_key
value: project_variable_value
protected: falseImport
GitLab project variables can be imported using an id made up of project:key:environment_scope, e.g.
$ pulumi import gitlab:index/projectVariable:ProjectVariable example '12345:project_variable_key:*'Properties
The description of the variable.
The environment scope of the variable. Defaults to all environment (*). Note that in Community Editions of Gitlab, values other than * will cause inconsistent plans.
If set to true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults to false.
The type of a variable. Valid values are: env_var, file. Default is env_var.