gitlab.Project
Explore with Pulumi AI
Example Usage
Create Project Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Project(name: string, args?: ProjectArgs, opts?: CustomResourceOptions);
@overload
def Project(resource_name: str,
args: Optional[ProjectArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def Project(resource_name: str,
opts: Optional[ResourceOptions] = None,
allow_merge_on_skipped_pipeline: Optional[bool] = None,
analytics_access_level: Optional[str] = None,
approvals_before_merge: Optional[int] = None,
archive_on_destroy: Optional[bool] = None,
archived: Optional[bool] = None,
auto_cancel_pending_pipelines: Optional[str] = None,
auto_devops_deploy_strategy: Optional[str] = None,
auto_devops_enabled: Optional[bool] = None,
autoclose_referenced_issues: Optional[bool] = None,
avatar: Optional[str] = None,
avatar_hash: Optional[str] = None,
build_coverage_regex: Optional[str] = None,
build_git_strategy: Optional[str] = None,
build_timeout: Optional[int] = None,
builds_access_level: Optional[str] = None,
ci_config_path: Optional[str] = None,
ci_default_git_depth: Optional[int] = None,
ci_forward_deployment_enabled: Optional[bool] = None,
ci_restrict_pipeline_cancellation_role: Optional[str] = None,
ci_separated_caches: Optional[bool] = None,
container_expiration_policy: Optional[ProjectContainerExpirationPolicyArgs] = None,
container_registry_access_level: Optional[str] = None,
container_registry_enabled: Optional[bool] = None,
default_branch: Optional[str] = None,
description: Optional[str] = None,
emails_enabled: Optional[bool] = None,
environments_access_level: Optional[str] = None,
external_authorization_classification_label: Optional[str] = None,
feature_flags_access_level: Optional[str] = None,
forked_from_project_id: Optional[int] = None,
forking_access_level: Optional[str] = None,
group_runners_enabled: Optional[bool] = None,
group_with_project_templates_id: Optional[int] = None,
import_url: Optional[str] = None,
import_url_password: Optional[str] = None,
import_url_username: Optional[str] = None,
infrastructure_access_level: Optional[str] = None,
initialize_with_readme: Optional[bool] = None,
issues_access_level: Optional[str] = None,
issues_enabled: Optional[bool] = None,
issues_template: Optional[str] = None,
keep_latest_artifact: Optional[bool] = None,
lfs_enabled: Optional[bool] = None,
merge_commit_template: Optional[str] = None,
merge_method: Optional[str] = None,
merge_pipelines_enabled: Optional[bool] = None,
merge_requests_access_level: Optional[str] = None,
merge_requests_enabled: Optional[bool] = None,
merge_requests_template: Optional[str] = None,
merge_trains_enabled: Optional[bool] = None,
mirror: Optional[bool] = None,
mirror_overwrites_diverged_branches: Optional[bool] = None,
mirror_trigger_builds: Optional[bool] = None,
monitor_access_level: Optional[str] = None,
mr_default_target_self: Optional[bool] = None,
name: Optional[str] = None,
namespace_id: Optional[int] = None,
only_allow_merge_if_all_discussions_are_resolved: Optional[bool] = None,
only_allow_merge_if_pipeline_succeeds: Optional[bool] = None,
only_mirror_protected_branches: Optional[bool] = None,
packages_enabled: Optional[bool] = None,
pages_access_level: Optional[str] = None,
path: Optional[str] = None,
pipelines_enabled: Optional[bool] = None,
printing_merge_request_link_enabled: Optional[bool] = None,
public_builds: Optional[bool] = None,
public_jobs: Optional[bool] = None,
push_rules: Optional[ProjectPushRulesArgs] = None,
releases_access_level: Optional[str] = None,
remove_source_branch_after_merge: Optional[bool] = None,
repository_access_level: Optional[str] = None,
repository_storage: Optional[str] = None,
request_access_enabled: Optional[bool] = None,
requirements_access_level: Optional[str] = None,
resolve_outdated_diff_discussions: Optional[bool] = None,
restrict_user_defined_variables: Optional[bool] = None,
security_and_compliance_access_level: Optional[str] = None,
shared_runners_enabled: Optional[bool] = None,
skip_wait_for_default_branch_protection: Optional[bool] = None,
snippets_access_level: Optional[str] = None,
snippets_enabled: Optional[bool] = None,
squash_commit_template: Optional[str] = None,
squash_option: Optional[str] = None,
suggestion_commit_message: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
template_name: Optional[str] = None,
template_project_id: Optional[int] = None,
topics: Optional[Sequence[str]] = None,
use_custom_template: Optional[bool] = None,
visibility_level: Optional[str] = None,
wiki_access_level: Optional[str] = None,
wiki_enabled: Optional[bool] = None)
func NewProject(ctx *Context, name string, args *ProjectArgs, opts ...ResourceOption) (*Project, error)
public Project(string name, ProjectArgs? args = null, CustomResourceOptions? opts = null)
public Project(String name, ProjectArgs args)
public Project(String name, ProjectArgs args, CustomResourceOptions options)
type: gitlab:Project
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var projectResource = new GitLab.Project("projectResource", new()
{
AllowMergeOnSkippedPipeline = false,
AnalyticsAccessLevel = "string",
ApprovalsBeforeMerge = 0,
ArchiveOnDestroy = false,
Archived = false,
AutoCancelPendingPipelines = "string",
AutoDevopsDeployStrategy = "string",
AutoDevopsEnabled = false,
AutocloseReferencedIssues = false,
Avatar = "string",
AvatarHash = "string",
BuildGitStrategy = "string",
BuildTimeout = 0,
BuildsAccessLevel = "string",
CiConfigPath = "string",
CiDefaultGitDepth = 0,
CiForwardDeploymentEnabled = false,
CiRestrictPipelineCancellationRole = "string",
CiSeparatedCaches = false,
ContainerExpirationPolicy = new GitLab.Inputs.ProjectContainerExpirationPolicyArgs
{
Cadence = "string",
Enabled = false,
KeepN = 0,
NameRegexDelete = "string",
NameRegexKeep = "string",
NextRunAt = "string",
OlderThan = "string",
},
ContainerRegistryAccessLevel = "string",
DefaultBranch = "string",
Description = "string",
EmailsEnabled = false,
EnvironmentsAccessLevel = "string",
ExternalAuthorizationClassificationLabel = "string",
FeatureFlagsAccessLevel = "string",
ForkedFromProjectId = 0,
ForkingAccessLevel = "string",
GroupRunnersEnabled = false,
GroupWithProjectTemplatesId = 0,
ImportUrl = "string",
ImportUrlPassword = "string",
ImportUrlUsername = "string",
InfrastructureAccessLevel = "string",
InitializeWithReadme = false,
IssuesAccessLevel = "string",
IssuesEnabled = false,
IssuesTemplate = "string",
KeepLatestArtifact = false,
LfsEnabled = false,
MergeCommitTemplate = "string",
MergeMethod = "string",
MergePipelinesEnabled = false,
MergeRequestsAccessLevel = "string",
MergeRequestsEnabled = false,
MergeRequestsTemplate = "string",
MergeTrainsEnabled = false,
Mirror = false,
MirrorOverwritesDivergedBranches = false,
MirrorTriggerBuilds = false,
MonitorAccessLevel = "string",
MrDefaultTargetSelf = false,
Name = "string",
NamespaceId = 0,
OnlyAllowMergeIfAllDiscussionsAreResolved = false,
OnlyAllowMergeIfPipelineSucceeds = false,
OnlyMirrorProtectedBranches = false,
PackagesEnabled = false,
PagesAccessLevel = "string",
Path = "string",
PrintingMergeRequestLinkEnabled = false,
PublicJobs = false,
PushRules = new GitLab.Inputs.ProjectPushRulesArgs
{
AuthorEmailRegex = "string",
BranchNameRegex = "string",
CommitCommitterCheck = false,
CommitCommitterNameCheck = false,
CommitMessageNegativeRegex = "string",
CommitMessageRegex = "string",
DenyDeleteTag = false,
FileNameRegex = "string",
MaxFileSize = 0,
MemberCheck = false,
PreventSecrets = false,
RejectUnsignedCommits = false,
},
ReleasesAccessLevel = "string",
RemoveSourceBranchAfterMerge = false,
RepositoryAccessLevel = "string",
RepositoryStorage = "string",
RequestAccessEnabled = false,
RequirementsAccessLevel = "string",
ResolveOutdatedDiffDiscussions = false,
RestrictUserDefinedVariables = false,
SecurityAndComplianceAccessLevel = "string",
SharedRunnersEnabled = false,
SkipWaitForDefaultBranchProtection = false,
SnippetsAccessLevel = "string",
SnippetsEnabled = false,
SquashCommitTemplate = "string",
SquashOption = "string",
SuggestionCommitMessage = "string",
Tags = new[]
{
"string",
},
TemplateName = "string",
TemplateProjectId = 0,
Topics = new[]
{
"string",
},
UseCustomTemplate = false,
VisibilityLevel = "string",
WikiAccessLevel = "string",
WikiEnabled = false,
});
example, err := gitlab.NewProject(ctx, "projectResource", &gitlab.ProjectArgs{
AllowMergeOnSkippedPipeline: pulumi.Bool(false),
AnalyticsAccessLevel: pulumi.String("string"),
ApprovalsBeforeMerge: pulumi.Int(0),
ArchiveOnDestroy: pulumi.Bool(false),
Archived: pulumi.Bool(false),
AutoCancelPendingPipelines: pulumi.String("string"),
AutoDevopsDeployStrategy: pulumi.String("string"),
AutoDevopsEnabled: pulumi.Bool(false),
AutocloseReferencedIssues: pulumi.Bool(false),
Avatar: pulumi.String("string"),
AvatarHash: pulumi.String("string"),
BuildGitStrategy: pulumi.String("string"),
BuildTimeout: pulumi.Int(0),
BuildsAccessLevel: pulumi.String("string"),
CiConfigPath: pulumi.String("string"),
CiDefaultGitDepth: pulumi.Int(0),
CiForwardDeploymentEnabled: pulumi.Bool(false),
CiRestrictPipelineCancellationRole: pulumi.String("string"),
CiSeparatedCaches: pulumi.Bool(false),
ContainerExpirationPolicy: &gitlab.ProjectContainerExpirationPolicyArgs{
Cadence: pulumi.String("string"),
Enabled: pulumi.Bool(false),
KeepN: pulumi.Int(0),
NameRegexDelete: pulumi.String("string"),
NameRegexKeep: pulumi.String("string"),
NextRunAt: pulumi.String("string"),
OlderThan: pulumi.String("string"),
},
ContainerRegistryAccessLevel: pulumi.String("string"),
DefaultBranch: pulumi.String("string"),
Description: pulumi.String("string"),
EmailsEnabled: pulumi.Bool(false),
EnvironmentsAccessLevel: pulumi.String("string"),
ExternalAuthorizationClassificationLabel: pulumi.String("string"),
FeatureFlagsAccessLevel: pulumi.String("string"),
ForkedFromProjectId: pulumi.Int(0),
ForkingAccessLevel: pulumi.String("string"),
GroupRunnersEnabled: pulumi.Bool(false),
GroupWithProjectTemplatesId: pulumi.Int(0),
ImportUrl: pulumi.String("string"),
ImportUrlPassword: pulumi.String("string"),
ImportUrlUsername: pulumi.String("string"),
InfrastructureAccessLevel: pulumi.String("string"),
InitializeWithReadme: pulumi.Bool(false),
IssuesAccessLevel: pulumi.String("string"),
IssuesEnabled: pulumi.Bool(false),
IssuesTemplate: pulumi.String("string"),
KeepLatestArtifact: pulumi.Bool(false),
LfsEnabled: pulumi.Bool(false),
MergeCommitTemplate: pulumi.String("string"),
MergeMethod: pulumi.String("string"),
MergePipelinesEnabled: pulumi.Bool(false),
MergeRequestsAccessLevel: pulumi.String("string"),
MergeRequestsEnabled: pulumi.Bool(false),
MergeRequestsTemplate: pulumi.String("string"),
MergeTrainsEnabled: pulumi.Bool(false),
Mirror: pulumi.Bool(false),
MirrorOverwritesDivergedBranches: pulumi.Bool(false),
MirrorTriggerBuilds: pulumi.Bool(false),
MonitorAccessLevel: pulumi.String("string"),
MrDefaultTargetSelf: pulumi.Bool(false),
Name: pulumi.String("string"),
NamespaceId: pulumi.Int(0),
OnlyAllowMergeIfAllDiscussionsAreResolved: pulumi.Bool(false),
OnlyAllowMergeIfPipelineSucceeds: pulumi.Bool(false),
OnlyMirrorProtectedBranches: pulumi.Bool(false),
PackagesEnabled: pulumi.Bool(false),
PagesAccessLevel: pulumi.String("string"),
Path: pulumi.String("string"),
PrintingMergeRequestLinkEnabled: pulumi.Bool(false),
PublicJobs: pulumi.Bool(false),
PushRules: &gitlab.ProjectPushRulesTypeArgs{
AuthorEmailRegex: pulumi.String("string"),
BranchNameRegex: pulumi.String("string"),
CommitCommitterCheck: pulumi.Bool(false),
CommitCommitterNameCheck: pulumi.Bool(false),
CommitMessageNegativeRegex: pulumi.String("string"),
CommitMessageRegex: pulumi.String("string"),
DenyDeleteTag: pulumi.Bool(false),
FileNameRegex: pulumi.String("string"),
MaxFileSize: pulumi.Int(0),
MemberCheck: pulumi.Bool(false),
PreventSecrets: pulumi.Bool(false),
RejectUnsignedCommits: pulumi.Bool(false),
},
ReleasesAccessLevel: pulumi.String("string"),
RemoveSourceBranchAfterMerge: pulumi.Bool(false),
RepositoryAccessLevel: pulumi.String("string"),
RepositoryStorage: pulumi.String("string"),
RequestAccessEnabled: pulumi.Bool(false),
RequirementsAccessLevel: pulumi.String("string"),
ResolveOutdatedDiffDiscussions: pulumi.Bool(false),
RestrictUserDefinedVariables: pulumi.Bool(false),
SecurityAndComplianceAccessLevel: pulumi.String("string"),
SharedRunnersEnabled: pulumi.Bool(false),
SkipWaitForDefaultBranchProtection: pulumi.Bool(false),
SnippetsAccessLevel: pulumi.String("string"),
SnippetsEnabled: pulumi.Bool(false),
SquashCommitTemplate: pulumi.String("string"),
SquashOption: pulumi.String("string"),
SuggestionCommitMessage: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
TemplateName: pulumi.String("string"),
TemplateProjectId: pulumi.Int(0),
Topics: pulumi.StringArray{
pulumi.String("string"),
},
UseCustomTemplate: pulumi.Bool(false),
VisibilityLevel: pulumi.String("string"),
WikiAccessLevel: pulumi.String("string"),
WikiEnabled: pulumi.Bool(false),
})
var projectResource = new Project("projectResource", ProjectArgs.builder()
.allowMergeOnSkippedPipeline(false)
.analyticsAccessLevel("string")
.approvalsBeforeMerge(0)
.archiveOnDestroy(false)
.archived(false)
.autoCancelPendingPipelines("string")
.autoDevopsDeployStrategy("string")
.autoDevopsEnabled(false)
.autocloseReferencedIssues(false)
.avatar("string")
.avatarHash("string")
.buildGitStrategy("string")
.buildTimeout(0)
.buildsAccessLevel("string")
.ciConfigPath("string")
.ciDefaultGitDepth(0)
.ciForwardDeploymentEnabled(false)
.ciRestrictPipelineCancellationRole("string")
.ciSeparatedCaches(false)
.containerExpirationPolicy(ProjectContainerExpirationPolicyArgs.builder()
.cadence("string")
.enabled(false)
.keepN(0)
.nameRegexDelete("string")
.nameRegexKeep("string")
.nextRunAt("string")
.olderThan("string")
.build())
.containerRegistryAccessLevel("string")
.defaultBranch("string")
.description("string")
.emailsEnabled(false)
.environmentsAccessLevel("string")
.externalAuthorizationClassificationLabel("string")
.featureFlagsAccessLevel("string")
.forkedFromProjectId(0)
.forkingAccessLevel("string")
.groupRunnersEnabled(false)
.groupWithProjectTemplatesId(0)
.importUrl("string")
.importUrlPassword("string")
.importUrlUsername("string")
.infrastructureAccessLevel("string")
.initializeWithReadme(false)
.issuesAccessLevel("string")
.issuesEnabled(false)
.issuesTemplate("string")
.keepLatestArtifact(false)
.lfsEnabled(false)
.mergeCommitTemplate("string")
.mergeMethod("string")
.mergePipelinesEnabled(false)
.mergeRequestsAccessLevel("string")
.mergeRequestsEnabled(false)
.mergeRequestsTemplate("string")
.mergeTrainsEnabled(false)
.mirror(false)
.mirrorOverwritesDivergedBranches(false)
.mirrorTriggerBuilds(false)
.monitorAccessLevel("string")
.mrDefaultTargetSelf(false)
.name("string")
.namespaceId(0)
.onlyAllowMergeIfAllDiscussionsAreResolved(false)
.onlyAllowMergeIfPipelineSucceeds(false)
.onlyMirrorProtectedBranches(false)
.packagesEnabled(false)
.pagesAccessLevel("string")
.path("string")
.printingMergeRequestLinkEnabled(false)
.publicJobs(false)
.pushRules(ProjectPushRulesArgs.builder()
.authorEmailRegex("string")
.branchNameRegex("string")
.commitCommitterCheck(false)
.commitCommitterNameCheck(false)
.commitMessageNegativeRegex("string")
.commitMessageRegex("string")
.denyDeleteTag(false)
.fileNameRegex("string")
.maxFileSize(0)
.memberCheck(false)
.preventSecrets(false)
.rejectUnsignedCommits(false)
.build())
.releasesAccessLevel("string")
.removeSourceBranchAfterMerge(false)
.repositoryAccessLevel("string")
.repositoryStorage("string")
.requestAccessEnabled(false)
.requirementsAccessLevel("string")
.resolveOutdatedDiffDiscussions(false)
.restrictUserDefinedVariables(false)
.securityAndComplianceAccessLevel("string")
.sharedRunnersEnabled(false)
.skipWaitForDefaultBranchProtection(false)
.snippetsAccessLevel("string")
.snippetsEnabled(false)
.squashCommitTemplate("string")
.squashOption("string")
.suggestionCommitMessage("string")
.tags("string")
.templateName("string")
.templateProjectId(0)
.topics("string")
.useCustomTemplate(false)
.visibilityLevel("string")
.wikiAccessLevel("string")
.wikiEnabled(false)
.build());
project_resource = gitlab.Project("projectResource",
allow_merge_on_skipped_pipeline=False,
analytics_access_level="string",
approvals_before_merge=0,
archive_on_destroy=False,
archived=False,
auto_cancel_pending_pipelines="string",
auto_devops_deploy_strategy="string",
auto_devops_enabled=False,
autoclose_referenced_issues=False,
avatar="string",
avatar_hash="string",
build_git_strategy="string",
build_timeout=0,
builds_access_level="string",
ci_config_path="string",
ci_default_git_depth=0,
ci_forward_deployment_enabled=False,
ci_restrict_pipeline_cancellation_role="string",
ci_separated_caches=False,
container_expiration_policy=gitlab.ProjectContainerExpirationPolicyArgs(
cadence="string",
enabled=False,
keep_n=0,
name_regex_delete="string",
name_regex_keep="string",
next_run_at="string",
older_than="string",
),
container_registry_access_level="string",
default_branch="string",
description="string",
emails_enabled=False,
environments_access_level="string",
external_authorization_classification_label="string",
feature_flags_access_level="string",
forked_from_project_id=0,
forking_access_level="string",
group_runners_enabled=False,
group_with_project_templates_id=0,
import_url="string",
import_url_password="string",
import_url_username="string",
infrastructure_access_level="string",
initialize_with_readme=False,
issues_access_level="string",
issues_enabled=False,
issues_template="string",
keep_latest_artifact=False,
lfs_enabled=False,
merge_commit_template="string",
merge_method="string",
merge_pipelines_enabled=False,
merge_requests_access_level="string",
merge_requests_enabled=False,
merge_requests_template="string",
merge_trains_enabled=False,
mirror=False,
mirror_overwrites_diverged_branches=False,
mirror_trigger_builds=False,
monitor_access_level="string",
mr_default_target_self=False,
name="string",
namespace_id=0,
only_allow_merge_if_all_discussions_are_resolved=False,
only_allow_merge_if_pipeline_succeeds=False,
only_mirror_protected_branches=False,
packages_enabled=False,
pages_access_level="string",
path="string",
printing_merge_request_link_enabled=False,
public_jobs=False,
push_rules=gitlab.ProjectPushRulesArgs(
author_email_regex="string",
branch_name_regex="string",
commit_committer_check=False,
commit_committer_name_check=False,
commit_message_negative_regex="string",
commit_message_regex="string",
deny_delete_tag=False,
file_name_regex="string",
max_file_size=0,
member_check=False,
prevent_secrets=False,
reject_unsigned_commits=False,
),
releases_access_level="string",
remove_source_branch_after_merge=False,
repository_access_level="string",
repository_storage="string",
request_access_enabled=False,
requirements_access_level="string",
resolve_outdated_diff_discussions=False,
restrict_user_defined_variables=False,
security_and_compliance_access_level="string",
shared_runners_enabled=False,
skip_wait_for_default_branch_protection=False,
snippets_access_level="string",
snippets_enabled=False,
squash_commit_template="string",
squash_option="string",
suggestion_commit_message="string",
tags=["string"],
template_name="string",
template_project_id=0,
topics=["string"],
use_custom_template=False,
visibility_level="string",
wiki_access_level="string",
wiki_enabled=False)
const projectResource = new gitlab.Project("projectResource", {
allowMergeOnSkippedPipeline: false,
analyticsAccessLevel: "string",
approvalsBeforeMerge: 0,
archiveOnDestroy: false,
archived: false,
autoCancelPendingPipelines: "string",
autoDevopsDeployStrategy: "string",
autoDevopsEnabled: false,
autocloseReferencedIssues: false,
avatar: "string",
avatarHash: "string",
buildGitStrategy: "string",
buildTimeout: 0,
buildsAccessLevel: "string",
ciConfigPath: "string",
ciDefaultGitDepth: 0,
ciForwardDeploymentEnabled: false,
ciRestrictPipelineCancellationRole: "string",
ciSeparatedCaches: false,
containerExpirationPolicy: {
cadence: "string",
enabled: false,
keepN: 0,
nameRegexDelete: "string",
nameRegexKeep: "string",
nextRunAt: "string",
olderThan: "string",
},
containerRegistryAccessLevel: "string",
defaultBranch: "string",
description: "string",
emailsEnabled: false,
environmentsAccessLevel: "string",
externalAuthorizationClassificationLabel: "string",
featureFlagsAccessLevel: "string",
forkedFromProjectId: 0,
forkingAccessLevel: "string",
groupRunnersEnabled: false,
groupWithProjectTemplatesId: 0,
importUrl: "string",
importUrlPassword: "string",
importUrlUsername: "string",
infrastructureAccessLevel: "string",
initializeWithReadme: false,
issuesAccessLevel: "string",
issuesEnabled: false,
issuesTemplate: "string",
keepLatestArtifact: false,
lfsEnabled: false,
mergeCommitTemplate: "string",
mergeMethod: "string",
mergePipelinesEnabled: false,
mergeRequestsAccessLevel: "string",
mergeRequestsEnabled: false,
mergeRequestsTemplate: "string",
mergeTrainsEnabled: false,
mirror: false,
mirrorOverwritesDivergedBranches: false,
mirrorTriggerBuilds: false,
monitorAccessLevel: "string",
mrDefaultTargetSelf: false,
name: "string",
namespaceId: 0,
onlyAllowMergeIfAllDiscussionsAreResolved: false,
onlyAllowMergeIfPipelineSucceeds: false,
onlyMirrorProtectedBranches: false,
packagesEnabled: false,
pagesAccessLevel: "string",
path: "string",
printingMergeRequestLinkEnabled: false,
publicJobs: false,
pushRules: {
authorEmailRegex: "string",
branchNameRegex: "string",
commitCommitterCheck: false,
commitCommitterNameCheck: false,
commitMessageNegativeRegex: "string",
commitMessageRegex: "string",
denyDeleteTag: false,
fileNameRegex: "string",
maxFileSize: 0,
memberCheck: false,
preventSecrets: false,
rejectUnsignedCommits: false,
},
releasesAccessLevel: "string",
removeSourceBranchAfterMerge: false,
repositoryAccessLevel: "string",
repositoryStorage: "string",
requestAccessEnabled: false,
requirementsAccessLevel: "string",
resolveOutdatedDiffDiscussions: false,
restrictUserDefinedVariables: false,
securityAndComplianceAccessLevel: "string",
sharedRunnersEnabled: false,
skipWaitForDefaultBranchProtection: false,
snippetsAccessLevel: "string",
snippetsEnabled: false,
squashCommitTemplate: "string",
squashOption: "string",
suggestionCommitMessage: "string",
tags: ["string"],
templateName: "string",
templateProjectId: 0,
topics: ["string"],
useCustomTemplate: false,
visibilityLevel: "string",
wikiAccessLevel: "string",
wikiEnabled: false,
});
type: gitlab:Project
properties:
allowMergeOnSkippedPipeline: false
analyticsAccessLevel: string
approvalsBeforeMerge: 0
archiveOnDestroy: false
archived: false
autoCancelPendingPipelines: string
autoDevopsDeployStrategy: string
autoDevopsEnabled: false
autocloseReferencedIssues: false
avatar: string
avatarHash: string
buildGitStrategy: string
buildTimeout: 0
buildsAccessLevel: string
ciConfigPath: string
ciDefaultGitDepth: 0
ciForwardDeploymentEnabled: false
ciRestrictPipelineCancellationRole: string
ciSeparatedCaches: false
containerExpirationPolicy:
cadence: string
enabled: false
keepN: 0
nameRegexDelete: string
nameRegexKeep: string
nextRunAt: string
olderThan: string
containerRegistryAccessLevel: string
defaultBranch: string
description: string
emailsEnabled: false
environmentsAccessLevel: string
externalAuthorizationClassificationLabel: string
featureFlagsAccessLevel: string
forkedFromProjectId: 0
forkingAccessLevel: string
groupRunnersEnabled: false
groupWithProjectTemplatesId: 0
importUrl: string
importUrlPassword: string
importUrlUsername: string
infrastructureAccessLevel: string
initializeWithReadme: false
issuesAccessLevel: string
issuesEnabled: false
issuesTemplate: string
keepLatestArtifact: false
lfsEnabled: false
mergeCommitTemplate: string
mergeMethod: string
mergePipelinesEnabled: false
mergeRequestsAccessLevel: string
mergeRequestsEnabled: false
mergeRequestsTemplate: string
mergeTrainsEnabled: false
mirror: false
mirrorOverwritesDivergedBranches: false
mirrorTriggerBuilds: false
monitorAccessLevel: string
mrDefaultTargetSelf: false
name: string
namespaceId: 0
onlyAllowMergeIfAllDiscussionsAreResolved: false
onlyAllowMergeIfPipelineSucceeds: false
onlyMirrorProtectedBranches: false
packagesEnabled: false
pagesAccessLevel: string
path: string
printingMergeRequestLinkEnabled: false
publicJobs: false
pushRules:
authorEmailRegex: string
branchNameRegex: string
commitCommitterCheck: false
commitCommitterNameCheck: false
commitMessageNegativeRegex: string
commitMessageRegex: string
denyDeleteTag: false
fileNameRegex: string
maxFileSize: 0
memberCheck: false
preventSecrets: false
rejectUnsignedCommits: false
releasesAccessLevel: string
removeSourceBranchAfterMerge: false
repositoryAccessLevel: string
repositoryStorage: string
requestAccessEnabled: false
requirementsAccessLevel: string
resolveOutdatedDiffDiscussions: false
restrictUserDefinedVariables: false
securityAndComplianceAccessLevel: string
sharedRunnersEnabled: false
skipWaitForDefaultBranchProtection: false
snippetsAccessLevel: string
snippetsEnabled: false
squashCommitTemplate: string
squashOption: string
suggestionCommitMessage: string
tags:
- string
templateName: string
templateProjectId: 0
topics:
- string
useCustomTemplate: false
visibilityLevel: string
wikiAccessLevel: string
wikiEnabled: false
Project Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Project resource accepts the following input properties:
- Allow
Merge boolOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- Analytics
Access stringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - Approvals
Before intMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - Archive
On boolDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - Archived bool
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- Auto
Cancel stringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- Auto
Devops stringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - Auto
Devops boolEnabled - Enable Auto DevOps for this project.
- Autoclose
Referenced boolIssues - Set whether auto-closing referenced issues on default branch.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Build
Coverage stringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- Build
Git stringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - Build
Timeout int - The maximum amount of time, in seconds, that a job can run.
- Builds
Access stringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - Ci
Config stringPath - Custom Path to CI config file.
- Ci
Default intGit Depth - Default number of revisions for shallow cloning.
- Ci
Forward boolDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- Ci
Restrict stringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- Ci
Separated boolCaches - Use separate caches for protected branches.
- Container
Expiration Pulumi.Policy Git Lab. Inputs. Project Container Expiration Policy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - Container
Registry stringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - Container
Registry boolEnabled - Enable container registry for the project.
- Default
Branch string - The default branch for the project.
- Description string
- A description of the project.
- Emails
Enabled bool - Enable email notifications.
- Environments
Access stringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - string
- The classification label for the project.
- Feature
Flags stringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - Forked
From intProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- Forking
Access stringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - Group
Runners boolEnabled - Enable group runners for this project.
- Group
With intProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- Import
Url string - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Infrastructure
Access stringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - Initialize
With boolReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - Issues
Access stringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - Issues
Enabled bool - Enable issue tracking for the project.
- Issues
Template string - Sets the template for new issues in the project.
- Keep
Latest boolArtifact - Disable or enable the ability to keep the latest artifact for this project.
- Lfs
Enabled bool - Enable LFS for the project.
- Merge
Commit stringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- Merge
Method string - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - Merge
Pipelines boolEnabled - Enable or disable merge pipelines.
- Merge
Requests stringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - Merge
Requests boolEnabled - Enable merge requests for the project.
- Merge
Requests stringTemplate - Sets the template for new merge requests in the project.
- Merge
Trains boolEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - Mirror bool
- Enable project pull mirror.
- Mirror
Overwrites boolDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- Mirror
Trigger boolBuilds - Enable trigger builds on pushes for a mirrored project.
- Monitor
Access stringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - Mr
Default boolTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- Name string
- The name of the project.
- Namespace
Id int - The namespace (group or user) of the project. Defaults to your user.
- Only
Allow boolMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- Only
Allow boolMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- Only
Mirror boolProtected Branches - Enable only mirror protected branches for a mirrored project.
- Packages
Enabled bool - Enable packages repository for the project.
- Pages
Access stringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - Path string
- The path of the repository.
- Pipelines
Enabled bool - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - Printing
Merge boolRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- Public
Builds bool - If true, jobs can be viewed by non-project members.
- Public
Jobs bool - If true, jobs can be viewed by non-project members.
- Push
Rules Pulumi.Git Lab. Inputs. Project Push Rules - Push rules for the project.
- Releases
Access stringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - Remove
Source boolBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - Repository
Access stringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - Repository
Storage string - Which storage shard the repository is on. (administrator only)
- Request
Access boolEnabled - Allow users to request member access.
- Requirements
Access stringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - Resolve
Outdated boolDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- Restrict
User boolDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- Security
And stringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - bool
- Enable shared runners for this project.
- Skip
Wait boolFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - Snippets
Access stringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - Snippets
Enabled bool - Enable snippets for the project.
- Squash
Commit stringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- Squash
Option string - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - Suggestion
Commit stringMessage - The commit message used to apply merge request suggestions.
- List<string>
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- Template
Name string - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - Template
Project intId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - Topics List<string>
- The list of topics for the project.
- Use
Custom boolTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- Visibility
Level string - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - Wiki
Access stringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - Wiki
Enabled bool - Enable wiki for the project.
- Allow
Merge boolOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- Analytics
Access stringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - Approvals
Before intMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - Archive
On boolDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - Archived bool
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- Auto
Cancel stringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- Auto
Devops stringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - Auto
Devops boolEnabled - Enable Auto DevOps for this project.
- Autoclose
Referenced boolIssues - Set whether auto-closing referenced issues on default branch.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Build
Coverage stringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- Build
Git stringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - Build
Timeout int - The maximum amount of time, in seconds, that a job can run.
- Builds
Access stringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - Ci
Config stringPath - Custom Path to CI config file.
- Ci
Default intGit Depth - Default number of revisions for shallow cloning.
- Ci
Forward boolDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- Ci
Restrict stringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- Ci
Separated boolCaches - Use separate caches for protected branches.
- Container
Expiration ProjectPolicy Container Expiration Policy Args - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - Container
Registry stringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - Container
Registry boolEnabled - Enable container registry for the project.
- Default
Branch string - The default branch for the project.
- Description string
- A description of the project.
- Emails
Enabled bool - Enable email notifications.
- Environments
Access stringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - string
- The classification label for the project.
- Feature
Flags stringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - Forked
From intProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- Forking
Access stringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - Group
Runners boolEnabled - Enable group runners for this project.
- Group
With intProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- Import
Url string - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Infrastructure
Access stringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - Initialize
With boolReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - Issues
Access stringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - Issues
Enabled bool - Enable issue tracking for the project.
- Issues
Template string - Sets the template for new issues in the project.
- Keep
Latest boolArtifact - Disable or enable the ability to keep the latest artifact for this project.
- Lfs
Enabled bool - Enable LFS for the project.
- Merge
Commit stringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- Merge
Method string - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - Merge
Pipelines boolEnabled - Enable or disable merge pipelines.
- Merge
Requests stringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - Merge
Requests boolEnabled - Enable merge requests for the project.
- Merge
Requests stringTemplate - Sets the template for new merge requests in the project.
- Merge
Trains boolEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - Mirror bool
- Enable project pull mirror.
- Mirror
Overwrites boolDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- Mirror
Trigger boolBuilds - Enable trigger builds on pushes for a mirrored project.
- Monitor
Access stringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - Mr
Default boolTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- Name string
- The name of the project.
- Namespace
Id int - The namespace (group or user) of the project. Defaults to your user.
- Only
Allow boolMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- Only
Allow boolMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- Only
Mirror boolProtected Branches - Enable only mirror protected branches for a mirrored project.
- Packages
Enabled bool - Enable packages repository for the project.
- Pages
Access stringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - Path string
- The path of the repository.
- Pipelines
Enabled bool - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - Printing
Merge boolRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- Public
Builds bool - If true, jobs can be viewed by non-project members.
- Public
Jobs bool - If true, jobs can be viewed by non-project members.
- Push
Rules ProjectPush Rules Type Args - Push rules for the project.
- Releases
Access stringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - Remove
Source boolBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - Repository
Access stringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - Repository
Storage string - Which storage shard the repository is on. (administrator only)
- Request
Access boolEnabled - Allow users to request member access.
- Requirements
Access stringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - Resolve
Outdated boolDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- Restrict
User boolDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- Security
And stringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - bool
- Enable shared runners for this project.
- Skip
Wait boolFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - Snippets
Access stringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - Snippets
Enabled bool - Enable snippets for the project.
- Squash
Commit stringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- Squash
Option string - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - Suggestion
Commit stringMessage - The commit message used to apply merge request suggestions.
- []string
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- Template
Name string - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - Template
Project intId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - Topics []string
- The list of topics for the project.
- Use
Custom boolTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- Visibility
Level string - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - Wiki
Access stringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - Wiki
Enabled bool - Enable wiki for the project.
- allow
Merge BooleanOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics
Access StringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals
Before IntegerMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive
On BooleanDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived Boolean
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto
Cancel StringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto
Devops StringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto
Devops BooleanEnabled - Enable Auto DevOps for this project.
- autoclose
Referenced BooleanIssues - Set whether auto-closing referenced issues on default branch.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - build
Coverage StringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build
Git StringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build
Timeout Integer - The maximum amount of time, in seconds, that a job can run.
- builds
Access StringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci
Config StringPath - Custom Path to CI config file.
- ci
Default IntegerGit Depth - Default number of revisions for shallow cloning.
- ci
Forward BooleanDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci
Restrict StringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci
Separated BooleanCaches - Use separate caches for protected branches.
- container
Expiration ProjectPolicy Container Expiration Policy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container
Registry StringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container
Registry BooleanEnabled - Enable container registry for the project.
- default
Branch String - The default branch for the project.
- description String
- A description of the project.
- emails
Enabled Boolean - Enable email notifications.
- environments
Access StringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - String
- The classification label for the project.
- feature
Flags StringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked
From IntegerProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking
Access StringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group
Runners BooleanEnabled - Enable group runners for this project.
- group
With IntegerProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- import
Url String - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure
Access StringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize
With BooleanReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues
Access StringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues
Enabled Boolean - Enable issue tracking for the project.
- issues
Template String - Sets the template for new issues in the project.
- keep
Latest BooleanArtifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs
Enabled Boolean - Enable LFS for the project.
- merge
Commit StringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge
Method String - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge
Pipelines BooleanEnabled - Enable or disable merge pipelines.
- merge
Requests StringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge
Requests BooleanEnabled - Enable merge requests for the project.
- merge
Requests StringTemplate - Sets the template for new merge requests in the project.
- merge
Trains BooleanEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror Boolean
- Enable project pull mirror.
- mirror
Overwrites BooleanDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- mirror
Trigger BooleanBuilds - Enable trigger builds on pushes for a mirrored project.
- monitor
Access StringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr
Default BooleanTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name String
- The name of the project.
- namespace
Id Integer - The namespace (group or user) of the project. Defaults to your user.
- only
Allow BooleanMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- only
Allow BooleanMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only
Mirror BooleanProtected Branches - Enable only mirror protected branches for a mirrored project.
- packages
Enabled Boolean - Enable packages repository for the project.
- pages
Access StringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path String
- The path of the repository.
- pipelines
Enabled Boolean - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing
Merge BooleanRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- public
Builds Boolean - If true, jobs can be viewed by non-project members.
- public
Jobs Boolean - If true, jobs can be viewed by non-project members.
- push
Rules ProjectPush Rules - Push rules for the project.
- releases
Access StringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove
Source BooleanBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - repository
Access StringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository
Storage String - Which storage shard the repository is on. (administrator only)
- request
Access BooleanEnabled - Allow users to request member access.
- requirements
Access StringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve
Outdated BooleanDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict
User BooleanDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- security
And StringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - Boolean
- Enable shared runners for this project.
- skip
Wait BooleanFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets
Access StringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets
Enabled Boolean - Enable snippets for the project.
- squash
Commit StringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash
Option String - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - suggestion
Commit StringMessage - The commit message used to apply merge request suggestions.
- List<String>
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template
Name String - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template
Project IntegerId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics List<String>
- The list of topics for the project.
- use
Custom BooleanTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility
Level String - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - wiki
Access StringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki
Enabled Boolean - Enable wiki for the project.
- allow
Merge booleanOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics
Access stringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals
Before numberMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive
On booleanDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived boolean
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto
Cancel stringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto
Devops stringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto
Devops booleanEnabled - Enable Auto DevOps for this project.
- autoclose
Referenced booleanIssues - Set whether auto-closing referenced issues on default branch.
- avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - build
Coverage stringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build
Git stringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build
Timeout number - The maximum amount of time, in seconds, that a job can run.
- builds
Access stringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci
Config stringPath - Custom Path to CI config file.
- ci
Default numberGit Depth - Default number of revisions for shallow cloning.
- ci
Forward booleanDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci
Restrict stringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci
Separated booleanCaches - Use separate caches for protected branches.
- container
Expiration ProjectPolicy Container Expiration Policy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container
Registry stringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container
Registry booleanEnabled - Enable container registry for the project.
- default
Branch string - The default branch for the project.
- description string
- A description of the project.
- emails
Enabled boolean - Enable email notifications.
- environments
Access stringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - string
- The classification label for the project.
- feature
Flags stringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked
From numberProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking
Access stringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group
Runners booleanEnabled - Enable group runners for this project.
- group
With numberProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- import
Url string - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url stringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url stringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure
Access stringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize
With booleanReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues
Access stringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues
Enabled boolean - Enable issue tracking for the project.
- issues
Template string - Sets the template for new issues in the project.
- keep
Latest booleanArtifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs
Enabled boolean - Enable LFS for the project.
- merge
Commit stringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge
Method string - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge
Pipelines booleanEnabled - Enable or disable merge pipelines.
- merge
Requests stringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge
Requests booleanEnabled - Enable merge requests for the project.
- merge
Requests stringTemplate - Sets the template for new merge requests in the project.
- merge
Trains booleanEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror boolean
- Enable project pull mirror.
- mirror
Overwrites booleanDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- mirror
Trigger booleanBuilds - Enable trigger builds on pushes for a mirrored project.
- monitor
Access stringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr
Default booleanTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name string
- The name of the project.
- namespace
Id number - The namespace (group or user) of the project. Defaults to your user.
- only
Allow booleanMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- only
Allow booleanMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only
Mirror booleanProtected Branches - Enable only mirror protected branches for a mirrored project.
- packages
Enabled boolean - Enable packages repository for the project.
- pages
Access stringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path string
- The path of the repository.
- pipelines
Enabled boolean - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing
Merge booleanRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- public
Builds boolean - If true, jobs can be viewed by non-project members.
- public
Jobs boolean - If true, jobs can be viewed by non-project members.
- push
Rules ProjectPush Rules - Push rules for the project.
- releases
Access stringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove
Source booleanBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - repository
Access stringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository
Storage string - Which storage shard the repository is on. (administrator only)
- request
Access booleanEnabled - Allow users to request member access.
- requirements
Access stringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve
Outdated booleanDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict
User booleanDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- security
And stringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - boolean
- Enable shared runners for this project.
- skip
Wait booleanFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets
Access stringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets
Enabled boolean - Enable snippets for the project.
- squash
Commit stringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash
Option string - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - suggestion
Commit stringMessage - The commit message used to apply merge request suggestions.
- string[]
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template
Name string - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template
Project numberId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics string[]
- The list of topics for the project.
- use
Custom booleanTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility
Level string - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - wiki
Access stringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki
Enabled boolean - Enable wiki for the project.
- allow_
merge_ boolon_ skipped_ pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics_
access_ strlevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals_
before_ intmerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive_
on_ booldestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived bool
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto_
cancel_ strpending_ pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto_
devops_ strdeploy_ strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto_
devops_ boolenabled - Enable Auto DevOps for this project.
- autoclose_
referenced_ boolissues - Set whether auto-closing referenced issues on default branch.
- avatar str
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar_
hash str - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - build_
coverage_ strregex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build_
git_ strstrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build_
timeout int - The maximum amount of time, in seconds, that a job can run.
- builds_
access_ strlevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci_
config_ strpath - Custom Path to CI config file.
- ci_
default_ intgit_ depth - Default number of revisions for shallow cloning.
- ci_
forward_ booldeployment_ enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci_
restrict_ strpipeline_ cancellation_ role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci_
separated_ boolcaches - Use separate caches for protected branches.
- container_
expiration_ Projectpolicy Container Expiration Policy Args - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container_
registry_ straccess_ level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container_
registry_ boolenabled - Enable container registry for the project.
- default_
branch str - The default branch for the project.
- description str
- A description of the project.
- emails_
enabled bool - Enable email notifications.
- environments_
access_ strlevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - str
- The classification label for the project.
- feature_
flags_ straccess_ level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked_
from_ intproject_ id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking_
access_ strlevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group_
runners_ boolenabled - Enable group runners for this project.
- group_
with_ intproject_ templates_ id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- import_
url str - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import_
url_ strpassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import_
url_ strusername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure_
access_ strlevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize_
with_ boolreadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues_
access_ strlevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues_
enabled bool - Enable issue tracking for the project.
- issues_
template str - Sets the template for new issues in the project.
- keep_
latest_ boolartifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs_
enabled bool - Enable LFS for the project.
- merge_
commit_ strtemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge_
method str - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge_
pipelines_ boolenabled - Enable or disable merge pipelines.
- merge_
requests_ straccess_ level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge_
requests_ boolenabled - Enable merge requests for the project.
- merge_
requests_ strtemplate - Sets the template for new merge requests in the project.
- merge_
trains_ boolenabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror bool
- Enable project pull mirror.
- mirror_
overwrites_ booldiverged_ branches - Enable overwrite diverged branches for a mirrored project.
- mirror_
trigger_ boolbuilds - Enable trigger builds on pushes for a mirrored project.
- monitor_
access_ strlevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr_
default_ booltarget_ self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name str
- The name of the project.
- namespace_
id int - The namespace (group or user) of the project. Defaults to your user.
- only_
allow_ boolmerge_ if_ all_ discussions_ are_ resolved - Set to true if you want allow merges only if all discussions are resolved.
- only_
allow_ boolmerge_ if_ pipeline_ succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only_
mirror_ boolprotected_ branches - Enable only mirror protected branches for a mirrored project.
- packages_
enabled bool - Enable packages repository for the project.
- pages_
access_ strlevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path str
- The path of the repository.
- pipelines_
enabled bool - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing_
merge_ boolrequest_ link_ enabled - Show link to create/view merge request when pushing from the command line
- public_
builds bool - If true, jobs can be viewed by non-project members.
- public_
jobs bool - If true, jobs can be viewed by non-project members.
- push_
rules ProjectPush Rules Args - Push rules for the project.
- releases_
access_ strlevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove_
source_ boolbranch_ after_ merge - Enable
Delete source branch
option by default for all new merge requests. - repository_
access_ strlevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository_
storage str - Which storage shard the repository is on. (administrator only)
- request_
access_ boolenabled - Allow users to request member access.
- requirements_
access_ strlevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve_
outdated_ booldiff_ discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict_
user_ booldefined_ variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- security_
and_ strcompliance_ access_ level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - bool
- Enable shared runners for this project.
- skip_
wait_ boolfor_ default_ branch_ protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets_
access_ strlevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets_
enabled bool - Enable snippets for the project.
- squash_
commit_ strtemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash_
option str - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - suggestion_
commit_ strmessage - The commit message used to apply merge request suggestions.
- Sequence[str]
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template_
name str - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template_
project_ intid - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics Sequence[str]
- The list of topics for the project.
- use_
custom_ booltemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility_
level str - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - wiki_
access_ strlevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki_
enabled bool - Enable wiki for the project.
- allow
Merge BooleanOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics
Access StringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals
Before NumberMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive
On BooleanDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived Boolean
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto
Cancel StringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto
Devops StringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto
Devops BooleanEnabled - Enable Auto DevOps for this project.
- autoclose
Referenced BooleanIssues - Set whether auto-closing referenced issues on default branch.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - build
Coverage StringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build
Git StringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build
Timeout Number - The maximum amount of time, in seconds, that a job can run.
- builds
Access StringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci
Config StringPath - Custom Path to CI config file.
- ci
Default NumberGit Depth - Default number of revisions for shallow cloning.
- ci
Forward BooleanDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci
Restrict StringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci
Separated BooleanCaches - Use separate caches for protected branches.
- container
Expiration Property MapPolicy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container
Registry StringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container
Registry BooleanEnabled - Enable container registry for the project.
- default
Branch String - The default branch for the project.
- description String
- A description of the project.
- emails
Enabled Boolean - Enable email notifications.
- environments
Access StringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - String
- The classification label for the project.
- feature
Flags StringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked
From NumberProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking
Access StringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group
Runners BooleanEnabled - Enable group runners for this project.
- group
With NumberProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- import
Url String - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure
Access StringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize
With BooleanReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues
Access StringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues
Enabled Boolean - Enable issue tracking for the project.
- issues
Template String - Sets the template for new issues in the project.
- keep
Latest BooleanArtifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs
Enabled Boolean - Enable LFS for the project.
- merge
Commit StringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge
Method String - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge
Pipelines BooleanEnabled - Enable or disable merge pipelines.
- merge
Requests StringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge
Requests BooleanEnabled - Enable merge requests for the project.
- merge
Requests StringTemplate - Sets the template for new merge requests in the project.
- merge
Trains BooleanEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror Boolean
- Enable project pull mirror.
- mirror
Overwrites BooleanDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- mirror
Trigger BooleanBuilds - Enable trigger builds on pushes for a mirrored project.
- monitor
Access StringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr
Default BooleanTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name String
- The name of the project.
- namespace
Id Number - The namespace (group or user) of the project. Defaults to your user.
- only
Allow BooleanMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- only
Allow BooleanMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only
Mirror BooleanProtected Branches - Enable only mirror protected branches for a mirrored project.
- packages
Enabled Boolean - Enable packages repository for the project.
- pages
Access StringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path String
- The path of the repository.
- pipelines
Enabled Boolean - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing
Merge BooleanRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- public
Builds Boolean - If true, jobs can be viewed by non-project members.
- public
Jobs Boolean - If true, jobs can be viewed by non-project members.
- push
Rules Property Map - Push rules for the project.
- releases
Access StringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove
Source BooleanBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - repository
Access StringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository
Storage String - Which storage shard the repository is on. (administrator only)
- request
Access BooleanEnabled - Allow users to request member access.
- requirements
Access StringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve
Outdated BooleanDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict
User BooleanDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- security
And StringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - Boolean
- Enable shared runners for this project.
- skip
Wait BooleanFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets
Access StringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets
Enabled Boolean - Enable snippets for the project.
- squash
Commit StringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash
Option String - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - suggestion
Commit StringMessage - The commit message used to apply merge request suggestions.
- List<String>
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template
Name String - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template
Project NumberId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics List<String>
- The list of topics for the project.
- use
Custom BooleanTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility
Level String - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - wiki
Access StringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki
Enabled Boolean - Enable wiki for the project.
Outputs
All input properties are implicitly available as output properties. Additionally, the Project resource produces the following output properties:
- Avatar
Url string - The URL of the avatar image.
- Empty
Repo bool - Whether the project is empty.
- Http
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Id string
- The provider-assigned unique ID for this managed resource.
- Path
With stringNamespace - The path of the repository with namespace.
- Runners
Token string - Registration token to use during runner setup.
- Ssh
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Web
Url string - URL that can be used to find the project in a browser.
- Avatar
Url string - The URL of the avatar image.
- Empty
Repo bool - Whether the project is empty.
- Http
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Id string
- The provider-assigned unique ID for this managed resource.
- Path
With stringNamespace - The path of the repository with namespace.
- Runners
Token string - Registration token to use during runner setup.
- Ssh
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Web
Url string - URL that can be used to find the project in a browser.
- avatar
Url String - The URL of the avatar image.
- empty
Repo Boolean - Whether the project is empty.
- http
Url StringTo Repo - URL that can be provided to
git clone
to clone the - id String
- The provider-assigned unique ID for this managed resource.
- path
With StringNamespace - The path of the repository with namespace.
- runners
Token String - Registration token to use during runner setup.
- ssh
Url StringTo Repo - URL that can be provided to
git clone
to clone the - web
Url String - URL that can be used to find the project in a browser.
- avatar
Url string - The URL of the avatar image.
- empty
Repo boolean - Whether the project is empty.
- http
Url stringTo Repo - URL that can be provided to
git clone
to clone the - id string
- The provider-assigned unique ID for this managed resource.
- path
With stringNamespace - The path of the repository with namespace.
- runners
Token string - Registration token to use during runner setup.
- ssh
Url stringTo Repo - URL that can be provided to
git clone
to clone the - web
Url string - URL that can be used to find the project in a browser.
- avatar_
url str - The URL of the avatar image.
- empty_
repo bool - Whether the project is empty.
- http_
url_ strto_ repo - URL that can be provided to
git clone
to clone the - id str
- The provider-assigned unique ID for this managed resource.
- path_
with_ strnamespace - The path of the repository with namespace.
- runners_
token str - Registration token to use during runner setup.
- ssh_
url_ strto_ repo - URL that can be provided to
git clone
to clone the - web_
url str - URL that can be used to find the project in a browser.
- avatar
Url String - The URL of the avatar image.
- empty
Repo Boolean - Whether the project is empty.
- http
Url StringTo Repo - URL that can be provided to
git clone
to clone the - id String
- The provider-assigned unique ID for this managed resource.
- path
With StringNamespace - The path of the repository with namespace.
- runners
Token String - Registration token to use during runner setup.
- ssh
Url StringTo Repo - URL that can be provided to
git clone
to clone the - web
Url String - URL that can be used to find the project in a browser.
Look up Existing Project Resource
Get an existing Project resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ProjectState, opts?: CustomResourceOptions): Project
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
allow_merge_on_skipped_pipeline: Optional[bool] = None,
analytics_access_level: Optional[str] = None,
approvals_before_merge: Optional[int] = None,
archive_on_destroy: Optional[bool] = None,
archived: Optional[bool] = None,
auto_cancel_pending_pipelines: Optional[str] = None,
auto_devops_deploy_strategy: Optional[str] = None,
auto_devops_enabled: Optional[bool] = None,
autoclose_referenced_issues: Optional[bool] = None,
avatar: Optional[str] = None,
avatar_hash: Optional[str] = None,
avatar_url: Optional[str] = None,
build_coverage_regex: Optional[str] = None,
build_git_strategy: Optional[str] = None,
build_timeout: Optional[int] = None,
builds_access_level: Optional[str] = None,
ci_config_path: Optional[str] = None,
ci_default_git_depth: Optional[int] = None,
ci_forward_deployment_enabled: Optional[bool] = None,
ci_restrict_pipeline_cancellation_role: Optional[str] = None,
ci_separated_caches: Optional[bool] = None,
container_expiration_policy: Optional[ProjectContainerExpirationPolicyArgs] = None,
container_registry_access_level: Optional[str] = None,
container_registry_enabled: Optional[bool] = None,
default_branch: Optional[str] = None,
description: Optional[str] = None,
emails_enabled: Optional[bool] = None,
empty_repo: Optional[bool] = None,
environments_access_level: Optional[str] = None,
external_authorization_classification_label: Optional[str] = None,
feature_flags_access_level: Optional[str] = None,
forked_from_project_id: Optional[int] = None,
forking_access_level: Optional[str] = None,
group_runners_enabled: Optional[bool] = None,
group_with_project_templates_id: Optional[int] = None,
http_url_to_repo: Optional[str] = None,
import_url: Optional[str] = None,
import_url_password: Optional[str] = None,
import_url_username: Optional[str] = None,
infrastructure_access_level: Optional[str] = None,
initialize_with_readme: Optional[bool] = None,
issues_access_level: Optional[str] = None,
issues_enabled: Optional[bool] = None,
issues_template: Optional[str] = None,
keep_latest_artifact: Optional[bool] = None,
lfs_enabled: Optional[bool] = None,
merge_commit_template: Optional[str] = None,
merge_method: Optional[str] = None,
merge_pipelines_enabled: Optional[bool] = None,
merge_requests_access_level: Optional[str] = None,
merge_requests_enabled: Optional[bool] = None,
merge_requests_template: Optional[str] = None,
merge_trains_enabled: Optional[bool] = None,
mirror: Optional[bool] = None,
mirror_overwrites_diverged_branches: Optional[bool] = None,
mirror_trigger_builds: Optional[bool] = None,
monitor_access_level: Optional[str] = None,
mr_default_target_self: Optional[bool] = None,
name: Optional[str] = None,
namespace_id: Optional[int] = None,
only_allow_merge_if_all_discussions_are_resolved: Optional[bool] = None,
only_allow_merge_if_pipeline_succeeds: Optional[bool] = None,
only_mirror_protected_branches: Optional[bool] = None,
packages_enabled: Optional[bool] = None,
pages_access_level: Optional[str] = None,
path: Optional[str] = None,
path_with_namespace: Optional[str] = None,
pipelines_enabled: Optional[bool] = None,
printing_merge_request_link_enabled: Optional[bool] = None,
public_builds: Optional[bool] = None,
public_jobs: Optional[bool] = None,
push_rules: Optional[ProjectPushRulesArgs] = None,
releases_access_level: Optional[str] = None,
remove_source_branch_after_merge: Optional[bool] = None,
repository_access_level: Optional[str] = None,
repository_storage: Optional[str] = None,
request_access_enabled: Optional[bool] = None,
requirements_access_level: Optional[str] = None,
resolve_outdated_diff_discussions: Optional[bool] = None,
restrict_user_defined_variables: Optional[bool] = None,
runners_token: Optional[str] = None,
security_and_compliance_access_level: Optional[str] = None,
shared_runners_enabled: Optional[bool] = None,
skip_wait_for_default_branch_protection: Optional[bool] = None,
snippets_access_level: Optional[str] = None,
snippets_enabled: Optional[bool] = None,
squash_commit_template: Optional[str] = None,
squash_option: Optional[str] = None,
ssh_url_to_repo: Optional[str] = None,
suggestion_commit_message: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
template_name: Optional[str] = None,
template_project_id: Optional[int] = None,
topics: Optional[Sequence[str]] = None,
use_custom_template: Optional[bool] = None,
visibility_level: Optional[str] = None,
web_url: Optional[str] = None,
wiki_access_level: Optional[str] = None,
wiki_enabled: Optional[bool] = None) -> Project
func GetProject(ctx *Context, name string, id IDInput, state *ProjectState, opts ...ResourceOption) (*Project, error)
public static Project Get(string name, Input<string> id, ProjectState? state, CustomResourceOptions? opts = null)
public static Project get(String name, Output<String> id, ProjectState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Allow
Merge boolOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- Analytics
Access stringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - Approvals
Before intMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - Archive
On boolDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - Archived bool
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- Auto
Cancel stringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- Auto
Devops stringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - Auto
Devops boolEnabled - Enable Auto DevOps for this project.
- Autoclose
Referenced boolIssues - Set whether auto-closing referenced issues on default branch.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Avatar
Url string - The URL of the avatar image.
- Build
Coverage stringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- Build
Git stringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - Build
Timeout int - The maximum amount of time, in seconds, that a job can run.
- Builds
Access stringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - Ci
Config stringPath - Custom Path to CI config file.
- Ci
Default intGit Depth - Default number of revisions for shallow cloning.
- Ci
Forward boolDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- Ci
Restrict stringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- Ci
Separated boolCaches - Use separate caches for protected branches.
- Container
Expiration Pulumi.Policy Git Lab. Inputs. Project Container Expiration Policy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - Container
Registry stringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - Container
Registry boolEnabled - Enable container registry for the project.
- Default
Branch string - The default branch for the project.
- Description string
- A description of the project.
- Emails
Enabled bool - Enable email notifications.
- Empty
Repo bool - Whether the project is empty.
- Environments
Access stringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - string
- The classification label for the project.
- Feature
Flags stringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - Forked
From intProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- Forking
Access stringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - Group
Runners boolEnabled - Enable group runners for this project.
- Group
With intProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- Http
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Import
Url string - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Infrastructure
Access stringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - Initialize
With boolReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - Issues
Access stringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - Issues
Enabled bool - Enable issue tracking for the project.
- Issues
Template string - Sets the template for new issues in the project.
- Keep
Latest boolArtifact - Disable or enable the ability to keep the latest artifact for this project.
- Lfs
Enabled bool - Enable LFS for the project.
- Merge
Commit stringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- Merge
Method string - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - Merge
Pipelines boolEnabled - Enable or disable merge pipelines.
- Merge
Requests stringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - Merge
Requests boolEnabled - Enable merge requests for the project.
- Merge
Requests stringTemplate - Sets the template for new merge requests in the project.
- Merge
Trains boolEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - Mirror bool
- Enable project pull mirror.
- Mirror
Overwrites boolDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- Mirror
Trigger boolBuilds - Enable trigger builds on pushes for a mirrored project.
- Monitor
Access stringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - Mr
Default boolTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- Name string
- The name of the project.
- Namespace
Id int - The namespace (group or user) of the project. Defaults to your user.
- Only
Allow boolMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- Only
Allow boolMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- Only
Mirror boolProtected Branches - Enable only mirror protected branches for a mirrored project.
- Packages
Enabled bool - Enable packages repository for the project.
- Pages
Access stringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - Path string
- The path of the repository.
- Path
With stringNamespace - The path of the repository with namespace.
- Pipelines
Enabled bool - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - Printing
Merge boolRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- Public
Builds bool - If true, jobs can be viewed by non-project members.
- Public
Jobs bool - If true, jobs can be viewed by non-project members.
- Push
Rules Pulumi.Git Lab. Inputs. Project Push Rules - Push rules for the project.
- Releases
Access stringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - Remove
Source boolBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - Repository
Access stringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - Repository
Storage string - Which storage shard the repository is on. (administrator only)
- Request
Access boolEnabled - Allow users to request member access.
- Requirements
Access stringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - Resolve
Outdated boolDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- Restrict
User boolDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- Runners
Token string - Registration token to use during runner setup.
- Security
And stringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - bool
- Enable shared runners for this project.
- Skip
Wait boolFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - Snippets
Access stringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - Snippets
Enabled bool - Enable snippets for the project.
- Squash
Commit stringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- Squash
Option string - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - Ssh
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Suggestion
Commit stringMessage - The commit message used to apply merge request suggestions.
- List<string>
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- Template
Name string - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - Template
Project intId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - Topics List<string>
- The list of topics for the project.
- Use
Custom boolTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- Visibility
Level string - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - Web
Url string - URL that can be used to find the project in a browser.
- Wiki
Access stringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - Wiki
Enabled bool - Enable wiki for the project.
- Allow
Merge boolOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- Analytics
Access stringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - Approvals
Before intMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - Archive
On boolDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - Archived bool
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- Auto
Cancel stringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- Auto
Devops stringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - Auto
Devops boolEnabled - Enable Auto DevOps for this project.
- Autoclose
Referenced boolIssues - Set whether auto-closing referenced issues on default branch.
- Avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- Avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - Avatar
Url string - The URL of the avatar image.
- Build
Coverage stringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- Build
Git stringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - Build
Timeout int - The maximum amount of time, in seconds, that a job can run.
- Builds
Access stringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - Ci
Config stringPath - Custom Path to CI config file.
- Ci
Default intGit Depth - Default number of revisions for shallow cloning.
- Ci
Forward boolDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- Ci
Restrict stringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- Ci
Separated boolCaches - Use separate caches for protected branches.
- Container
Expiration ProjectPolicy Container Expiration Policy Args - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - Container
Registry stringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - Container
Registry boolEnabled - Enable container registry for the project.
- Default
Branch string - The default branch for the project.
- Description string
- A description of the project.
- Emails
Enabled bool - Enable email notifications.
- Empty
Repo bool - Whether the project is empty.
- Environments
Access stringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - string
- The classification label for the project.
- Feature
Flags stringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - Forked
From intProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- Forking
Access stringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - Group
Runners boolEnabled - Enable group runners for this project.
- Group
With intProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- Http
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Import
Url string - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Import
Url stringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - Infrastructure
Access stringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - Initialize
With boolReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - Issues
Access stringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - Issues
Enabled bool - Enable issue tracking for the project.
- Issues
Template string - Sets the template for new issues in the project.
- Keep
Latest boolArtifact - Disable or enable the ability to keep the latest artifact for this project.
- Lfs
Enabled bool - Enable LFS for the project.
- Merge
Commit stringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- Merge
Method string - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - Merge
Pipelines boolEnabled - Enable or disable merge pipelines.
- Merge
Requests stringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - Merge
Requests boolEnabled - Enable merge requests for the project.
- Merge
Requests stringTemplate - Sets the template for new merge requests in the project.
- Merge
Trains boolEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - Mirror bool
- Enable project pull mirror.
- Mirror
Overwrites boolDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- Mirror
Trigger boolBuilds - Enable trigger builds on pushes for a mirrored project.
- Monitor
Access stringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - Mr
Default boolTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- Name string
- The name of the project.
- Namespace
Id int - The namespace (group or user) of the project. Defaults to your user.
- Only
Allow boolMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- Only
Allow boolMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- Only
Mirror boolProtected Branches - Enable only mirror protected branches for a mirrored project.
- Packages
Enabled bool - Enable packages repository for the project.
- Pages
Access stringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - Path string
- The path of the repository.
- Path
With stringNamespace - The path of the repository with namespace.
- Pipelines
Enabled bool - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - Printing
Merge boolRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- Public
Builds bool - If true, jobs can be viewed by non-project members.
- Public
Jobs bool - If true, jobs can be viewed by non-project members.
- Push
Rules ProjectPush Rules Type Args - Push rules for the project.
- Releases
Access stringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - Remove
Source boolBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - Repository
Access stringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - Repository
Storage string - Which storage shard the repository is on. (administrator only)
- Request
Access boolEnabled - Allow users to request member access.
- Requirements
Access stringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - Resolve
Outdated boolDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- Restrict
User boolDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- Runners
Token string - Registration token to use during runner setup.
- Security
And stringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - bool
- Enable shared runners for this project.
- Skip
Wait boolFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - Snippets
Access stringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - Snippets
Enabled bool - Enable snippets for the project.
- Squash
Commit stringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- Squash
Option string - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - Ssh
Url stringTo Repo - URL that can be provided to
git clone
to clone the - Suggestion
Commit stringMessage - The commit message used to apply merge request suggestions.
- []string
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- Template
Name string - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - Template
Project intId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - Topics []string
- The list of topics for the project.
- Use
Custom boolTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- Visibility
Level string - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - Web
Url string - URL that can be used to find the project in a browser.
- Wiki
Access stringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - Wiki
Enabled bool - Enable wiki for the project.
- allow
Merge BooleanOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics
Access StringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals
Before IntegerMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive
On BooleanDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived Boolean
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto
Cancel StringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto
Devops StringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto
Devops BooleanEnabled - Enable Auto DevOps for this project.
- autoclose
Referenced BooleanIssues - Set whether auto-closing referenced issues on default branch.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar
Url String - The URL of the avatar image.
- build
Coverage StringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build
Git StringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build
Timeout Integer - The maximum amount of time, in seconds, that a job can run.
- builds
Access StringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci
Config StringPath - Custom Path to CI config file.
- ci
Default IntegerGit Depth - Default number of revisions for shallow cloning.
- ci
Forward BooleanDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci
Restrict StringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci
Separated BooleanCaches - Use separate caches for protected branches.
- container
Expiration ProjectPolicy Container Expiration Policy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container
Registry StringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container
Registry BooleanEnabled - Enable container registry for the project.
- default
Branch String - The default branch for the project.
- description String
- A description of the project.
- emails
Enabled Boolean - Enable email notifications.
- empty
Repo Boolean - Whether the project is empty.
- environments
Access StringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - String
- The classification label for the project.
- feature
Flags StringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked
From IntegerProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking
Access StringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group
Runners BooleanEnabled - Enable group runners for this project.
- group
With IntegerProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- http
Url StringTo Repo - URL that can be provided to
git clone
to clone the - import
Url String - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure
Access StringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize
With BooleanReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues
Access StringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues
Enabled Boolean - Enable issue tracking for the project.
- issues
Template String - Sets the template for new issues in the project.
- keep
Latest BooleanArtifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs
Enabled Boolean - Enable LFS for the project.
- merge
Commit StringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge
Method String - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge
Pipelines BooleanEnabled - Enable or disable merge pipelines.
- merge
Requests StringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge
Requests BooleanEnabled - Enable merge requests for the project.
- merge
Requests StringTemplate - Sets the template for new merge requests in the project.
- merge
Trains BooleanEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror Boolean
- Enable project pull mirror.
- mirror
Overwrites BooleanDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- mirror
Trigger BooleanBuilds - Enable trigger builds on pushes for a mirrored project.
- monitor
Access StringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr
Default BooleanTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name String
- The name of the project.
- namespace
Id Integer - The namespace (group or user) of the project. Defaults to your user.
- only
Allow BooleanMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- only
Allow BooleanMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only
Mirror BooleanProtected Branches - Enable only mirror protected branches for a mirrored project.
- packages
Enabled Boolean - Enable packages repository for the project.
- pages
Access StringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path String
- The path of the repository.
- path
With StringNamespace - The path of the repository with namespace.
- pipelines
Enabled Boolean - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing
Merge BooleanRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- public
Builds Boolean - If true, jobs can be viewed by non-project members.
- public
Jobs Boolean - If true, jobs can be viewed by non-project members.
- push
Rules ProjectPush Rules - Push rules for the project.
- releases
Access StringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove
Source BooleanBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - repository
Access StringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository
Storage String - Which storage shard the repository is on. (administrator only)
- request
Access BooleanEnabled - Allow users to request member access.
- requirements
Access StringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve
Outdated BooleanDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict
User BooleanDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- runners
Token String - Registration token to use during runner setup.
- security
And StringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - Boolean
- Enable shared runners for this project.
- skip
Wait BooleanFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets
Access StringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets
Enabled Boolean - Enable snippets for the project.
- squash
Commit StringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash
Option String - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - ssh
Url StringTo Repo - URL that can be provided to
git clone
to clone the - suggestion
Commit StringMessage - The commit message used to apply merge request suggestions.
- List<String>
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template
Name String - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template
Project IntegerId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics List<String>
- The list of topics for the project.
- use
Custom BooleanTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility
Level String - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - web
Url String - URL that can be used to find the project in a browser.
- wiki
Access StringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki
Enabled Boolean - Enable wiki for the project.
- allow
Merge booleanOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics
Access stringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals
Before numberMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive
On booleanDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived boolean
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto
Cancel stringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto
Devops stringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto
Devops booleanEnabled - Enable Auto DevOps for this project.
- autoclose
Referenced booleanIssues - Set whether auto-closing referenced issues on default branch.
- avatar string
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash string - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar
Url string - The URL of the avatar image.
- build
Coverage stringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build
Git stringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build
Timeout number - The maximum amount of time, in seconds, that a job can run.
- builds
Access stringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci
Config stringPath - Custom Path to CI config file.
- ci
Default numberGit Depth - Default number of revisions for shallow cloning.
- ci
Forward booleanDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci
Restrict stringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci
Separated booleanCaches - Use separate caches for protected branches.
- container
Expiration ProjectPolicy Container Expiration Policy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container
Registry stringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container
Registry booleanEnabled - Enable container registry for the project.
- default
Branch string - The default branch for the project.
- description string
- A description of the project.
- emails
Enabled boolean - Enable email notifications.
- empty
Repo boolean - Whether the project is empty.
- environments
Access stringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - string
- The classification label for the project.
- feature
Flags stringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked
From numberProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking
Access stringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group
Runners booleanEnabled - Enable group runners for this project.
- group
With numberProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- http
Url stringTo Repo - URL that can be provided to
git clone
to clone the - import
Url string - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url stringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url stringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure
Access stringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize
With booleanReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues
Access stringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues
Enabled boolean - Enable issue tracking for the project.
- issues
Template string - Sets the template for new issues in the project.
- keep
Latest booleanArtifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs
Enabled boolean - Enable LFS for the project.
- merge
Commit stringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge
Method string - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge
Pipelines booleanEnabled - Enable or disable merge pipelines.
- merge
Requests stringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge
Requests booleanEnabled - Enable merge requests for the project.
- merge
Requests stringTemplate - Sets the template for new merge requests in the project.
- merge
Trains booleanEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror boolean
- Enable project pull mirror.
- mirror
Overwrites booleanDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- mirror
Trigger booleanBuilds - Enable trigger builds on pushes for a mirrored project.
- monitor
Access stringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr
Default booleanTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name string
- The name of the project.
- namespace
Id number - The namespace (group or user) of the project. Defaults to your user.
- only
Allow booleanMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- only
Allow booleanMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only
Mirror booleanProtected Branches - Enable only mirror protected branches for a mirrored project.
- packages
Enabled boolean - Enable packages repository for the project.
- pages
Access stringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path string
- The path of the repository.
- path
With stringNamespace - The path of the repository with namespace.
- pipelines
Enabled boolean - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing
Merge booleanRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- public
Builds boolean - If true, jobs can be viewed by non-project members.
- public
Jobs boolean - If true, jobs can be viewed by non-project members.
- push
Rules ProjectPush Rules - Push rules for the project.
- releases
Access stringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove
Source booleanBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - repository
Access stringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository
Storage string - Which storage shard the repository is on. (administrator only)
- request
Access booleanEnabled - Allow users to request member access.
- requirements
Access stringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve
Outdated booleanDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict
User booleanDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- runners
Token string - Registration token to use during runner setup.
- security
And stringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - boolean
- Enable shared runners for this project.
- skip
Wait booleanFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets
Access stringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets
Enabled boolean - Enable snippets for the project.
- squash
Commit stringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash
Option string - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - ssh
Url stringTo Repo - URL that can be provided to
git clone
to clone the - suggestion
Commit stringMessage - The commit message used to apply merge request suggestions.
- string[]
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template
Name string - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template
Project numberId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics string[]
- The list of topics for the project.
- use
Custom booleanTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility
Level string - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - web
Url string - URL that can be used to find the project in a browser.
- wiki
Access stringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki
Enabled boolean - Enable wiki for the project.
- allow_
merge_ boolon_ skipped_ pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics_
access_ strlevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals_
before_ intmerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive_
on_ booldestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived bool
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto_
cancel_ strpending_ pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto_
devops_ strdeploy_ strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto_
devops_ boolenabled - Enable Auto DevOps for this project.
- autoclose_
referenced_ boolissues - Set whether auto-closing referenced issues on default branch.
- avatar str
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar_
hash str - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar_
url str - The URL of the avatar image.
- build_
coverage_ strregex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build_
git_ strstrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build_
timeout int - The maximum amount of time, in seconds, that a job can run.
- builds_
access_ strlevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci_
config_ strpath - Custom Path to CI config file.
- ci_
default_ intgit_ depth - Default number of revisions for shallow cloning.
- ci_
forward_ booldeployment_ enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci_
restrict_ strpipeline_ cancellation_ role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci_
separated_ boolcaches - Use separate caches for protected branches.
- container_
expiration_ Projectpolicy Container Expiration Policy Args - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container_
registry_ straccess_ level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container_
registry_ boolenabled - Enable container registry for the project.
- default_
branch str - The default branch for the project.
- description str
- A description of the project.
- emails_
enabled bool - Enable email notifications.
- empty_
repo bool - Whether the project is empty.
- environments_
access_ strlevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - str
- The classification label for the project.
- feature_
flags_ straccess_ level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked_
from_ intproject_ id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking_
access_ strlevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group_
runners_ boolenabled - Enable group runners for this project.
- group_
with_ intproject_ templates_ id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- http_
url_ strto_ repo - URL that can be provided to
git clone
to clone the - import_
url str - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import_
url_ strpassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import_
url_ strusername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure_
access_ strlevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize_
with_ boolreadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues_
access_ strlevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues_
enabled bool - Enable issue tracking for the project.
- issues_
template str - Sets the template for new issues in the project.
- keep_
latest_ boolartifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs_
enabled bool - Enable LFS for the project.
- merge_
commit_ strtemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge_
method str - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge_
pipelines_ boolenabled - Enable or disable merge pipelines.
- merge_
requests_ straccess_ level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge_
requests_ boolenabled - Enable merge requests for the project.
- merge_
requests_ strtemplate - Sets the template for new merge requests in the project.
- merge_
trains_ boolenabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror bool
- Enable project pull mirror.
- mirror_
overwrites_ booldiverged_ branches - Enable overwrite diverged branches for a mirrored project.
- mirror_
trigger_ boolbuilds - Enable trigger builds on pushes for a mirrored project.
- monitor_
access_ strlevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr_
default_ booltarget_ self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name str
- The name of the project.
- namespace_
id int - The namespace (group or user) of the project. Defaults to your user.
- only_
allow_ boolmerge_ if_ all_ discussions_ are_ resolved - Set to true if you want allow merges only if all discussions are resolved.
- only_
allow_ boolmerge_ if_ pipeline_ succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only_
mirror_ boolprotected_ branches - Enable only mirror protected branches for a mirrored project.
- packages_
enabled bool - Enable packages repository for the project.
- pages_
access_ strlevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path str
- The path of the repository.
- path_
with_ strnamespace - The path of the repository with namespace.
- pipelines_
enabled bool - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing_
merge_ boolrequest_ link_ enabled - Show link to create/view merge request when pushing from the command line
- public_
builds bool - If true, jobs can be viewed by non-project members.
- public_
jobs bool - If true, jobs can be viewed by non-project members.
- push_
rules ProjectPush Rules Args - Push rules for the project.
- releases_
access_ strlevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove_
source_ boolbranch_ after_ merge - Enable
Delete source branch
option by default for all new merge requests. - repository_
access_ strlevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository_
storage str - Which storage shard the repository is on. (administrator only)
- request_
access_ boolenabled - Allow users to request member access.
- requirements_
access_ strlevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve_
outdated_ booldiff_ discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict_
user_ booldefined_ variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- runners_
token str - Registration token to use during runner setup.
- security_
and_ strcompliance_ access_ level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - bool
- Enable shared runners for this project.
- skip_
wait_ boolfor_ default_ branch_ protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets_
access_ strlevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets_
enabled bool - Enable snippets for the project.
- squash_
commit_ strtemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash_
option str - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - ssh_
url_ strto_ repo - URL that can be provided to
git clone
to clone the - suggestion_
commit_ strmessage - The commit message used to apply merge request suggestions.
- Sequence[str]
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template_
name str - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template_
project_ intid - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics Sequence[str]
- The list of topics for the project.
- use_
custom_ booltemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility_
level str - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - web_
url str - URL that can be used to find the project in a browser.
- wiki_
access_ strlevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki_
enabled bool - Enable wiki for the project.
- allow
Merge BooleanOn Skipped Pipeline - Set to true if you want to treat skipped pipelines as if they finished with success.
- analytics
Access StringLevel - Set the analytics access level. Valid values are
disabled
,private
,enabled
. - approvals
Before NumberMerge - Number of merge request approvals required for merging. Default is 0.
This field does not work well in combination with the
gitlab.ProjectApprovalRule
resource and is most likely gonna be deprecated in a future GitLab version (see this upstream epic). In the meantime we recommend against using this attribute and usegitlab.ProjectApprovalRule
instead. - archive
On BooleanDestroy - Set to
true
to archive the project instead of deleting on destroy. If set totrue
it will entire omit theDELETE
operation. - archived Boolean
- Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
- auto
Cancel StringPending Pipelines - Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
- auto
Devops StringDeploy Strategy - Auto Deploy strategy. Valid values are
continuous
,manual
,timed_incremental
. - auto
Devops BooleanEnabled - Enable Auto DevOps for this project.
- autoclose
Referenced BooleanIssues - Set whether auto-closing referenced issues on default branch.
- avatar String
- A local path to the avatar image to upload. Note: not available for imported resources.
- avatar
Hash String - The hash of the avatar image. Use
filesha256("path/to/avatar.png")
whenever possible. Note: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. - avatar
Url String - The URL of the avatar image.
- build
Coverage StringRegex - Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
- build
Git StringStrategy - The Git strategy. Defaults to fetch. Valid values are
clone
,fetch
. - build
Timeout Number - The maximum amount of time, in seconds, that a job can run.
- builds
Access StringLevel - Set the builds access level. Valid values are
disabled
,private
,enabled
. - ci
Config StringPath - Custom Path to CI config file.
- ci
Default NumberGit Depth - Default number of revisions for shallow cloning.
- ci
Forward BooleanDeployment Enabled - When a new deployment job starts, skip older deployment jobs that are still pending.
- ci
Restrict StringPipeline Cancellation Role - The role required to cancel a pipeline or job. Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are
developer
,maintainer
,no one
- ci
Separated BooleanCaches - Use separate caches for protected branches.
- container
Expiration Property MapPolicy - Set the image cleanup policy for this project. Note: this field is sometimes named
container_expiration_policy_attributes
in the GitLab Upstream API. - container
Registry StringAccess Level - Set visibility of container registry, for this project. Valid values are
disabled
,private
,enabled
. - container
Registry BooleanEnabled - Enable container registry for the project.
- default
Branch String - The default branch for the project.
- description String
- A description of the project.
- emails
Enabled Boolean - Enable email notifications.
- empty
Repo Boolean - Whether the project is empty.
- environments
Access StringLevel - Set the environments access level. Valid values are
disabled
,private
,enabled
. - String
- The classification label for the project.
- feature
Flags StringAccess Level - Set the feature flags access level. Valid values are
disabled
,private
,enabled
. - forked
From NumberProject Id - The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
- forking
Access StringLevel - Set the forking access level. Valid values are
disabled
,private
,enabled
. - group
Runners BooleanEnabled - Enable group runners for this project.
- group
With NumberProject Templates Id - For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires usecustomtemplate to be true (enterprise edition).
- http
Url StringTo Repo - URL that can be provided to
git clone
to clone the - import
Url String - Git URL to a repository to be imported. Together with
mirror = true
it will setup a Pull Mirror. This can also be used together withforked_from_project_id
to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials inimport_url_username
andimport_url_password
. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringPassword - The password for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - import
Url StringUsername - The username for the
import_url
. The value of this field is used to construct a validimport_url
and is only related to the provider. This field cannot be imported usingpulumi import
. See the examples section for how to properly use it. - infrastructure
Access StringLevel - Set the infrastructure access level. Valid values are
disabled
,private
,enabled
. - initialize
With BooleanReadme - Create main branch with first commit containing a README.md file. Must be set to
true
if importing an uninitialized project with a differentdefault_branch
. - issues
Access StringLevel - Set the issues access level. Valid values are
disabled
,private
,enabled
. - issues
Enabled Boolean - Enable issue tracking for the project.
- issues
Template String - Sets the template for new issues in the project.
- keep
Latest BooleanArtifact - Disable or enable the ability to keep the latest artifact for this project.
- lfs
Enabled Boolean - Enable LFS for the project.
- merge
Commit StringTemplate - Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
- merge
Method String - Set the merge method. Valid values are
merge
,rebase_merge
,ff
. - merge
Pipelines BooleanEnabled - Enable or disable merge pipelines.
- merge
Requests StringAccess Level - Set the merge requests access level. Valid values are
disabled
,private
,enabled
. - merge
Requests BooleanEnabled - Enable merge requests for the project.
- merge
Requests StringTemplate - Sets the template for new merge requests in the project.
- merge
Trains BooleanEnabled - Enable or disable merge trains. Requires
merge_pipelines_enabled
to be set totrue
to take effect. - mirror Boolean
- Enable project pull mirror.
- mirror
Overwrites BooleanDiverged Branches - Enable overwrite diverged branches for a mirrored project.
- mirror
Trigger BooleanBuilds - Enable trigger builds on pushes for a mirrored project.
- monitor
Access StringLevel - Set the monitor access level. Valid values are
disabled
,private
,enabled
. - mr
Default BooleanTarget Self - For forked projects, target merge requests to this project. If false, the target will be the upstream project.
- name String
- The name of the project.
- namespace
Id Number - The namespace (group or user) of the project. Defaults to your user.
- only
Allow BooleanMerge If All Discussions Are Resolved - Set to true if you want allow merges only if all discussions are resolved.
- only
Allow BooleanMerge If Pipeline Succeeds - Set to true if you want allow merges only if a pipeline succeeds.
- only
Mirror BooleanProtected Branches - Enable only mirror protected branches for a mirrored project.
- packages
Enabled Boolean - Enable packages repository for the project.
- pages
Access StringLevel - Enable pages access control. Valid values are
public
,private
,enabled
,disabled
. - path String
- The path of the repository.
- path
With StringNamespace - The path of the repository with namespace.
- pipelines
Enabled Boolean - Enable pipelines for the project. The
pipelines_enabled
field is being sent asjobs_enabled
in the GitLab API calls. - printing
Merge BooleanRequest Link Enabled - Show link to create/view merge request when pushing from the command line
- public
Builds Boolean - If true, jobs can be viewed by non-project members.
- public
Jobs Boolean - If true, jobs can be viewed by non-project members.
- push
Rules Property Map - Push rules for the project.
- releases
Access StringLevel - Set the releases access level. Valid values are
disabled
,private
,enabled
. - remove
Source BooleanBranch After Merge - Enable
Delete source branch
option by default for all new merge requests. - repository
Access StringLevel - Set the repository access level. Valid values are
disabled
,private
,enabled
. - repository
Storage String - Which storage shard the repository is on. (administrator only)
- request
Access BooleanEnabled - Allow users to request member access.
- requirements
Access StringLevel - Set the requirements access level. Valid values are
disabled
,private
,enabled
. - resolve
Outdated BooleanDiff Discussions - Automatically resolve merge request diffs discussions on lines changed with a push.
- restrict
User BooleanDefined Variables - Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
- runners
Token String - Registration token to use during runner setup.
- security
And StringCompliance Access Level - Set the security and compliance access level. Valid values are
disabled
,private
,enabled
. - Boolean
- Enable shared runners for this project.
- skip
Wait BooleanFor Default Branch Protection - If
true
, the default behavior to wait for the default branch protection to be created is skipped. This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level. There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users. This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported. - snippets
Access StringLevel - Set the snippets access level. Valid values are
disabled
,private
,enabled
. - snippets
Enabled Boolean - Enable snippets for the project.
- squash
Commit StringTemplate - Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
- squash
Option String - Squash commits when merge request. Valid values are
never
,always
,default_on
, ordefault_off
. The default value isdefault_off
. [GitLab >= 14.1] - ssh
Url StringTo Repo - URL that can be provided to
git clone
to clone the - suggestion
Commit StringMessage - The commit message used to apply merge request suggestions.
- List<String>
- The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
- template
Name String - When used without usecustomtemplate, name of a built-in project template. When used with usecustomtemplate, name of a custom project template. This option is mutually exclusive with
template_project_id
. - template
Project NumberId - When used with usecustomtemplate, project ID of a custom project template. This is preferable to using templatename since templatename may be ambiguous (enterprise edition). This option is mutually exclusive with
template_name
. Seegitlab.GroupProjectFileTemplate
to set a project as a template project. If a project has not been set as a template, using it here will result in an error. - topics List<String>
- The list of topics for the project.
- use
Custom BooleanTemplate - Use either custom instance or group (with groupwithprojecttemplatesid) project template (enterprise edition). > When using a custom template, Group Tokens won't work. You must use a real user's Personal Access Token.
- visibility
Level String - Set to
public
to create a public project. Valid values areprivate
,internal
,public
. - web
Url String - URL that can be used to find the project in a browser.
- wiki
Access StringLevel - Set the wiki access level. Valid values are
disabled
,private
,enabled
. - wiki
Enabled Boolean - Enable wiki for the project.
Supporting Types
ProjectContainerExpirationPolicy, ProjectContainerExpirationPolicyArgs
- Cadence string
- The cadence of the policy. Valid values are:
1d
,7d
,14d
,1month
,3month
. - Enabled bool
- If true, the policy is enabled.
- Keep
N int - The number of images to keep.
- Name
Regex string - The regular expression to match image names to delete.
- Name
Regex stringDelete - The regular expression to match image names to delete.
- Name
Regex stringKeep - The regular expression to match image names to keep.
- Next
Run stringAt - The next time the policy will run.
- Older
Than string - The number of days to keep images.
- Cadence string
- The cadence of the policy. Valid values are:
1d
,7d
,14d
,1month
,3month
. - Enabled bool
- If true, the policy is enabled.
- Keep
N int - The number of images to keep.
- Name
Regex string - The regular expression to match image names to delete.
- Name
Regex stringDelete - The regular expression to match image names to delete.
- Name
Regex stringKeep - The regular expression to match image names to keep.
- Next
Run stringAt - The next time the policy will run.
- Older
Than string - The number of days to keep images.
- cadence String
- The cadence of the policy. Valid values are:
1d
,7d
,14d
,1month
,3month
. - enabled Boolean
- If true, the policy is enabled.
- keep
N Integer - The number of images to keep.
- name
Regex String - The regular expression to match image names to delete.
- name
Regex StringDelete - The regular expression to match image names to delete.
- name
Regex StringKeep - The regular expression to match image names to keep.
- next
Run StringAt - The next time the policy will run.
- older
Than String - The number of days to keep images.
- cadence string
- The cadence of the policy. Valid values are:
1d
,7d
,14d
,1month
,3month
. - enabled boolean
- If true, the policy is enabled.
- keep
N number - The number of images to keep.
- name
Regex string - The regular expression to match image names to delete.
- name
Regex stringDelete - The regular expression to match image names to delete.
- name
Regex stringKeep - The regular expression to match image names to keep.
- next
Run stringAt - The next time the policy will run.
- older
Than string - The number of days to keep images.
- cadence str
- The cadence of the policy. Valid values are:
1d
,7d
,14d
,1month
,3month
. - enabled bool
- If true, the policy is enabled.
- keep_
n int - The number of images to keep.
- name_
regex str - The regular expression to match image names to delete.
- name_
regex_ strdelete - The regular expression to match image names to delete.
- name_
regex_ strkeep - The regular expression to match image names to keep.
- next_
run_ strat - The next time the policy will run.
- older_
than str - The number of days to keep images.
- cadence String
- The cadence of the policy. Valid values are:
1d
,7d
,14d
,1month
,3month
. - enabled Boolean
- If true, the policy is enabled.
- keep
N Number - The number of images to keep.
- name
Regex String - The regular expression to match image names to delete.
- name
Regex StringDelete - The regular expression to match image names to delete.
- name
Regex StringKeep - The regular expression to match image names to keep.
- next
Run StringAt - The next time the policy will run.
- older
Than String - The number of days to keep images.
ProjectPushRules, ProjectPushRulesArgs
- string
- All commit author emails must match this regex, e.g.
@my-company.com$
. - Branch
Name stringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - Commit
Committer boolCheck - Users can only push commits to this repository that were committed with one of their own verified emails.
- Commit
Committer boolName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- Commit
Message stringNegative Regex - No commit message is allowed to match this regex, e.g.
ssh\:\/\/
. - Commit
Message stringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - Deny
Delete boolTag - Deny deleting a tag.
- File
Name stringRegex - All committed filenames must not match this regex, e.g.
(jar|exe)$
. - Max
File intSize - Maximum file size (MB).
- Member
Check bool - Restrict commits by author (email) to existing GitLab users.
- Prevent
Secrets bool - GitLab will reject any files that are likely to contain secrets.
- Reject
Unsigned boolCommits - Reject commit when it’s not signed through GPG.
- string
- All commit author emails must match this regex, e.g.
@my-company.com$
. - Branch
Name stringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - Commit
Committer boolCheck - Users can only push commits to this repository that were committed with one of their own verified emails.
- Commit
Committer boolName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- Commit
Message stringNegative Regex - No commit message is allowed to match this regex, e.g.
ssh\:\/\/
. - Commit
Message stringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - Deny
Delete boolTag - Deny deleting a tag.
- File
Name stringRegex - All committed filenames must not match this regex, e.g.
(jar|exe)$
. - Max
File intSize - Maximum file size (MB).
- Member
Check bool - Restrict commits by author (email) to existing GitLab users.
- Prevent
Secrets bool - GitLab will reject any files that are likely to contain secrets.
- Reject
Unsigned boolCommits - Reject commit when it’s not signed through GPG.
- String
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch
Name StringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit
Committer BooleanCheck - Users can only push commits to this repository that were committed with one of their own verified emails.
- commit
Committer BooleanName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit
Message StringNegative Regex - No commit message is allowed to match this regex, e.g.
ssh\:\/\/
. - commit
Message StringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny
Delete BooleanTag - Deny deleting a tag.
- file
Name StringRegex - All committed filenames must not match this regex, e.g.
(jar|exe)$
. - max
File IntegerSize - Maximum file size (MB).
- member
Check Boolean - Restrict commits by author (email) to existing GitLab users.
- prevent
Secrets Boolean - GitLab will reject any files that are likely to contain secrets.
- reject
Unsigned BooleanCommits - Reject commit when it’s not signed through GPG.
- string
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch
Name stringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit
Committer booleanCheck - Users can only push commits to this repository that were committed with one of their own verified emails.
- commit
Committer booleanName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit
Message stringNegative Regex - No commit message is allowed to match this regex, e.g.
ssh\:\/\/
. - commit
Message stringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny
Delete booleanTag - Deny deleting a tag.
- file
Name stringRegex - All committed filenames must not match this regex, e.g.
(jar|exe)$
. - max
File numberSize - Maximum file size (MB).
- member
Check boolean - Restrict commits by author (email) to existing GitLab users.
- prevent
Secrets boolean - GitLab will reject any files that are likely to contain secrets.
- reject
Unsigned booleanCommits - Reject commit when it’s not signed through GPG.
- str
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch_
name_ strregex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit_
committer_ boolcheck - Users can only push commits to this repository that were committed with one of their own verified emails.
- commit_
committer_ boolname_ check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit_
message_ strnegative_ regex - No commit message is allowed to match this regex, e.g.
ssh\:\/\/
. - commit_
message_ strregex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny_
delete_ booltag - Deny deleting a tag.
- file_
name_ strregex - All committed filenames must not match this regex, e.g.
(jar|exe)$
. - max_
file_ intsize - Maximum file size (MB).
- member_
check bool - Restrict commits by author (email) to existing GitLab users.
- prevent_
secrets bool - GitLab will reject any files that are likely to contain secrets.
- reject_
unsigned_ boolcommits - Reject commit when it’s not signed through GPG.
- String
- All commit author emails must match this regex, e.g.
@my-company.com$
. - branch
Name StringRegex - All branch names must match this regex, e.g.
(feature|hotfix)\/*
. - commit
Committer BooleanCheck - Users can only push commits to this repository that were committed with one of their own verified emails.
- commit
Committer BooleanName Check - Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
- commit
Message StringNegative Regex - No commit message is allowed to match this regex, e.g.
ssh\:\/\/
. - commit
Message StringRegex - All commit messages must match this regex, e.g.
Fixed \d+\..*
. - deny
Delete BooleanTag - Deny deleting a tag.
- file
Name StringRegex - All committed filenames must not match this regex, e.g.
(jar|exe)$
. - max
File NumberSize - Maximum file size (MB).
- member
Check Boolean - Restrict commits by author (email) to existing GitLab users.
- prevent
Secrets Boolean - GitLab will reject any files that are likely to contain secrets.
- reject
Unsigned BooleanCommits - Reject commit when it’s not signed through GPG.
Import
$ pulumi import gitlab:index/project:Project You can import a project state using `<resource> <id>`. The
id
can be whatever the [get single project api][get_single_project] takes for
its :id
value, so for example:
$ pulumi import gitlab:index/project:Project example richardc/example
NOTE: the import_url_username
and import_url_password
cannot be imported.
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- GitLab pulumi/pulumi-gitlab
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
gitlab
Terraform Provider.