ProjectMirror

class ProjectMirror : KotlinCustomResource

The gitlab.ProjectMirror resource allows to manage the lifecycle of a project mirror. This is for pushing changes to a remote repository. Pull Mirroring can be configured using a combination of the import_url, mirror, and mirror_trigger_builds properties on the gitlab.Project resource.

Warning By default, the provider sets the keep_divergent_refs argument to True. If you manually set keep_divergent_refs to False, GitLab mirroring removes branches in the target that aren't in the source. This action can result in unexpected branch deletions. Upstream API: GitLab REST API docs

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const foo = new gitlab.ProjectMirror("foo", {
project: "1",
url: "https://username:password@github.com/org/repository.git",
});
import pulumi
import pulumi_gitlab as gitlab
foo = gitlab.ProjectMirror("foo",
project="1",
url="https://username:password@github.com/org/repository.git")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var foo = new GitLab.ProjectMirror("foo", new()
{
Project = "1",
Url = "https://username:password@github.com/org/repository.git",
});
});
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.NewProjectMirror(ctx, "foo", &gitlab.ProjectMirrorArgs{
Project: pulumi.String("1"),
Url: pulumi.String("https://username:password@github.com/org/repository.git"),
})
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.ProjectMirror;
import com.pulumi.gitlab.ProjectMirrorArgs;
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 foo = new ProjectMirror("foo", ProjectMirrorArgs.builder()
.project("1")
.url("https://username:password@github.com/org/repository.git")
.build());
}
}
resources:
foo:
type: gitlab:ProjectMirror
properties:
project: '1'
url: https://username:password@github.com/org/repository.git

Import

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

$ pulumi import gitlab:index/projectMirror:ProjectMirror foo "12345:1337"

Properties

Link copied to clipboard
val authMethod: Output<String>

Determines the mirror authentication method. Valid values are: ssh_public_key, password.

Link copied to clipboard
val enabled: Output<Boolean>

Determines if the mirror is enabled.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Determines if divergent refs are skipped.

Link copied to clipboard

Contains a regular expression. Only branches with names matching the regex are mirrored. Requires onlyprotectedbranches to be disabled. Premium and Ultimate only.

Link copied to clipboard
val mirrorId: Output<Int>

Mirror ID.

Link copied to clipboard

Determines if only protected branches are mirrored.

Link copied to clipboard
val project: Output<String>

The id of the project.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val url: Output<String>

The URL of the remote repository to be mirrored.

Link copied to clipboard
val urn: Output<String>