Deploy Key Enable Args
data class DeployKeyEnableArgs(val canPush: Output<Boolean>? = null, val key: Output<String>? = null, val keyId: Output<String>? = null, val project: Output<String>? = null, val title: Output<String>? = null) : ConvertibleToJava<DeployKeyEnableArgs>
The gitlab.DeployKeyEnable
resource allows to enable an already existing deploy key (see gitlab.DeployKey resource
) for a specific project. Upstream API: GitLab REST API docs
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
// A repo to host the deployment key
const parent = new gitlab.Project("parent", {name: "parent_project"});
// A second repo to use the deployment key from the parent project
const foo = new gitlab.Project("foo", {name: "foo_project"});
// Upload a deployment key for the parent repo
const parentDeployKey = new gitlab.DeployKey("parent", {
project: parent.id,
title: "Example deploy key",
key: "ssh-ed25519 AAAA...",
});
// Enable the deployment key on the second repo
const fooDeployKeyEnable = new gitlab.DeployKeyEnable("foo", {
project: foo.id,
keyId: parentDeployKey.deployKeyId,
});
Content copied to clipboard
import pulumi
import pulumi_gitlab as gitlab
# A repo to host the deployment key
parent = gitlab.Project("parent", name="parent_project")
# A second repo to use the deployment key from the parent project
foo = gitlab.Project("foo", name="foo_project")
# Upload a deployment key for the parent repo
parent_deploy_key = gitlab.DeployKey("parent",
project=parent.id,
title="Example deploy key",
key="ssh-ed25519 AAAA...")
# Enable the deployment key on the second repo
foo_deploy_key_enable = gitlab.DeployKeyEnable("foo",
project=foo.id,
key_id=parent_deploy_key.deploy_key_id)
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
// A repo to host the deployment key
var parent = new GitLab.Project("parent", new()
{
Name = "parent_project",
});
// A second repo to use the deployment key from the parent project
var foo = new GitLab.Project("foo", new()
{
Name = "foo_project",
});
// Upload a deployment key for the parent repo
var parentDeployKey = new GitLab.DeployKey("parent", new()
{
Project = parent.Id,
Title = "Example deploy key",
Key = "ssh-ed25519 AAAA...",
});
// Enable the deployment key on the second repo
var fooDeployKeyEnable = new GitLab.DeployKeyEnable("foo", new()
{
Project = foo.Id,
KeyId = parentDeployKey.DeployKeyId,
});
});
Content copied to clipboard
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 {
// A repo to host the deployment key
parent, err := gitlab.NewProject(ctx, "parent", &gitlab.ProjectArgs{
Name: pulumi.String("parent_project"),
})
if err != nil {
return err
}
// A second repo to use the deployment key from the parent project
foo, err := gitlab.NewProject(ctx, "foo", &gitlab.ProjectArgs{
Name: pulumi.String("foo_project"),
})
if err != nil {
return err
}
// Upload a deployment key for the parent repo
parentDeployKey, err := gitlab.NewDeployKey(ctx, "parent", &gitlab.DeployKeyArgs{
Project: parent.ID(),
Title: pulumi.String("Example deploy key"),
Key: pulumi.String("ssh-ed25519 AAAA..."),
})
if err != nil {
return err
}
// Enable the deployment key on the second repo
_, err = gitlab.NewDeployKeyEnable(ctx, "foo", &gitlab.DeployKeyEnableArgs{
Project: foo.ID(),
KeyId: parentDeployKey.DeployKeyId,
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gitlab.Project;
import com.pulumi.gitlab.ProjectArgs;
import com.pulumi.gitlab.DeployKey;
import com.pulumi.gitlab.DeployKeyArgs;
import com.pulumi.gitlab.DeployKeyEnable;
import com.pulumi.gitlab.DeployKeyEnableArgs;
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) {
// A repo to host the deployment key
var parent = new Project("parent", ProjectArgs.builder()
.name("parent_project")
.build());
// A second repo to use the deployment key from the parent project
var foo = new Project("foo", ProjectArgs.builder()
.name("foo_project")
.build());
// Upload a deployment key for the parent repo
var parentDeployKey = new DeployKey("parentDeployKey", DeployKeyArgs.builder()
.project(parent.id())
.title("Example deploy key")
.key("ssh-ed25519 AAAA...")
.build());
// Enable the deployment key on the second repo
var fooDeployKeyEnable = new DeployKeyEnable("fooDeployKeyEnable", DeployKeyEnableArgs.builder()
.project(foo.id())
.keyId(parentDeployKey.deployKeyId())
.build());
}
}
Content copied to clipboard
resources:
# A repo to host the deployment key
parent:
type: gitlab:Project
properties:
name: parent_project
# A second repo to use the deployment key from the parent project
foo:
type: gitlab:Project
properties:
name: foo_project
# Upload a deployment key for the parent repo
parentDeployKey:
type: gitlab:DeployKey
name: parent
properties:
project: ${parent.id}
title: Example deploy key
key: ssh-ed25519 AAAA...
# Enable the deployment key on the second repo
fooDeployKeyEnable:
type: gitlab:DeployKeyEnable
name: foo
properties:
project: ${foo.id}
keyId: ${parentDeployKey.deployKeyId}
Content copied to clipboard
Import
Starting in Terraform v1.5.0 you can use an import block to import gitlab_deploy_key_enable
. For example: terraform import { to = gitlab_deploy_key_enable.example id = "see CLI command below for ID" } Import using the CLI is supported using the following syntax: GitLab enabled deploy keys can be imported using an id made up of {project_id}:{deploy_key_id}
, e.g. project_id
can be whatever the get_single_project takes for its :id
value, so for example:
$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example 12345:67890
Content copied to clipboard
$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example richardc/example:67890
Content copied to clipboard