DeployKeyEnableArgs

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,
});
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)
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,
});
});
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
})
}
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());
}
}
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}

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
$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example richardc/example:67890

Constructors

Link copied to clipboard
constructor(canPush: Output<Boolean>? = null, key: Output<String>? = null, keyId: Output<String>? = null, project: Output<String>? = null, title: Output<String>? = null)

Properties

Link copied to clipboard
val canPush: Output<Boolean>? = null

Can deploy key push to the project's repository.

Link copied to clipboard
val key: Output<String>? = null

Deploy key.

Link copied to clipboard
val keyId: Output<String>? = null

The Gitlab key id for the pre-existing deploy key

Link copied to clipboard
val project: Output<String>? = null

The name or id of the project to add the deploy key to.

Link copied to clipboard
val title: Output<String>? = null

Deploy key's title.

Functions

Link copied to clipboard
open override fun toJava(): DeployKeyEnableArgs