1. Packages
  2. GitLab
  3. API Docs
  4. Project
GitLab v6.10.0 published on Monday, Mar 25, 2024 by Pulumi

gitlab.Project

Explore with Pulumi AI

gitlab logo
GitLab v6.10.0 published on Monday, Mar 25, 2024 by Pulumi

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as gitlab from "@pulumi/gitlab";
    
    const example = new gitlab.Project("example", {
        description: "My awesome codebase",
        visibilityLevel: "public",
    });
    // Project with custom push rules
    const example_two = new gitlab.Project("example-two", {pushRules: {
        authorEmailRegex: "@example\\.com$",
        commitCommitterCheck: true,
        memberCheck: true,
        preventSecrets: true,
    }});
    const peterParker = gitlab.getUser({
        username: "peter_parker",
    });
    const petersRepo = new gitlab.Project("petersRepo", {
        description: "This is a description",
        namespaceId: peterParker.then(peterParker => peterParker.namespaceId),
    });
    // Fork a project
    const forkProject = new gitlab.Project("forkProject", {
        description: "This is a fork",
        forkedFromProjectId: example.id,
    });
    // Fork a project and setup a pull mirror
    const forkIndex_projectProject = new gitlab.Project("forkIndex/projectProject", {
        description: "This is a fork",
        forkedFromProjectId: example.id,
        importUrl: example.httpUrlToRepo,
        mirror: true,
    });
    // Create a project by importing it from a public project
    const importPublic = new gitlab.Project("importPublic", {importUrl: "https://gitlab.example.com/repo.git"});
    // Create a project by importing it from a public project and setup the pull mirror
    const importPublicWithMirror = new gitlab.Project("importPublicWithMirror", {
        importUrl: "https://gitlab.example.com/repo.git",
        mirror: true,
    });
    // Create a project by importing it from a private project
    const importPrivateProject = new gitlab.Project("importPrivateProject", {
        importUrl: "https://gitlab.example.com/repo.git",
        importUrlUsername: "user",
        importUrlPassword: "pass",
    });
    // Create a project by importing it from a private project and setup the pull mirror
    const importPrivateWithMirror = new gitlab.Project("importPrivateWithMirror", {
        importUrl: "https://gitlab.example.com/repo.git",
        importUrlUsername: "user",
        importUrlPassword: "pass",
        mirror: true,
    });
    // Create a project by importing it from a private project and provide credentials in `import_url`
    // NOTE: only use this if you really must, use `import_url_username` and `import_url_password` whenever possible
    //       GitLab API will always return the `import_url` without credentials, therefore you must ignore the `import_url` for changes:
    const importPrivateIndex_projectProject = new gitlab.Project("importPrivateIndex/projectProject", {importUrl: "https://user:pass@gitlab.example.com/repo.git"});
    
    import pulumi
    import pulumi_gitlab as gitlab
    
    example = gitlab.Project("example",
        description="My awesome codebase",
        visibility_level="public")
    # Project with custom push rules
    example_two = gitlab.Project("example-two", push_rules=gitlab.ProjectPushRulesArgs(
        author_email_regex="@example\\.com$",
        commit_committer_check=True,
        member_check=True,
        prevent_secrets=True,
    ))
    peter_parker = gitlab.get_user(username="peter_parker")
    peters_repo = gitlab.Project("petersRepo",
        description="This is a description",
        namespace_id=peter_parker.namespace_id)
    # Fork a project
    fork_project = gitlab.Project("forkProject",
        description="This is a fork",
        forked_from_project_id=example.id)
    # Fork a project and setup a pull mirror
    fork_index_project_project = gitlab.Project("forkIndex/projectProject",
        description="This is a fork",
        forked_from_project_id=example.id,
        import_url=example.http_url_to_repo,
        mirror=True)
    # Create a project by importing it from a public project
    import_public = gitlab.Project("importPublic", import_url="https://gitlab.example.com/repo.git")
    # Create a project by importing it from a public project and setup the pull mirror
    import_public_with_mirror = gitlab.Project("importPublicWithMirror",
        import_url="https://gitlab.example.com/repo.git",
        mirror=True)
    # Create a project by importing it from a private project
    import_private_project = gitlab.Project("importPrivateProject",
        import_url="https://gitlab.example.com/repo.git",
        import_url_username="user",
        import_url_password="pass")
    # Create a project by importing it from a private project and setup the pull mirror
    import_private_with_mirror = gitlab.Project("importPrivateWithMirror",
        import_url="https://gitlab.example.com/repo.git",
        import_url_username="user",
        import_url_password="pass",
        mirror=True)
    # Create a project by importing it from a private project and provide credentials in `import_url`
    # NOTE: only use this if you really must, use `import_url_username` and `import_url_password` whenever possible
    #       GitLab API will always return the `import_url` without credentials, therefore you must ignore the `import_url` for changes:
    import_private_index_project_project = gitlab.Project("importPrivateIndex/projectProject", import_url="https://user:pass@gitlab.example.com/repo.git")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gitlab/sdk/v6/go/gitlab"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{
    			Description:     pulumi.String("My awesome codebase"),
    			VisibilityLevel: pulumi.String("public"),
    		})
    		if err != nil {
    			return err
    		}
    		// Project with custom push rules
    		_, err = gitlab.NewProject(ctx, "example-two", &gitlab.ProjectArgs{
    			PushRules: &gitlab.ProjectPushRulesArgs{
    				AuthorEmailRegex:     pulumi.String("@example\\.com$"),
    				CommitCommitterCheck: pulumi.Bool(true),
    				MemberCheck:          pulumi.Bool(true),
    				PreventSecrets:       pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		peterParker, err := gitlab.LookupUser(ctx, &gitlab.LookupUserArgs{
    			Username: pulumi.StringRef("peter_parker"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = gitlab.NewProject(ctx, "petersRepo", &gitlab.ProjectArgs{
    			Description: pulumi.String("This is a description"),
    			NamespaceId: pulumi.Int(peterParker.NamespaceId),
    		})
    		if err != nil {
    			return err
    		}
    		// Fork a project
    		_, err = gitlab.NewProject(ctx, "forkProject", &gitlab.ProjectArgs{
    			Description:         pulumi.String("This is a fork"),
    			ForkedFromProjectId: example.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		// Fork a project and setup a pull mirror
    		_, err = gitlab.NewProject(ctx, "forkIndex/projectProject", &gitlab.ProjectArgs{
    			Description:         pulumi.String("This is a fork"),
    			ForkedFromProjectId: example.ID(),
    			ImportUrl:           example.HttpUrlToRepo,
    			Mirror:              pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// Create a project by importing it from a public project
    		_, err = gitlab.NewProject(ctx, "importPublic", &gitlab.ProjectArgs{
    			ImportUrl: pulumi.String("https://gitlab.example.com/repo.git"),
    		})
    		if err != nil {
    			return err
    		}
    		// Create a project by importing it from a public project and setup the pull mirror
    		_, err = gitlab.NewProject(ctx, "importPublicWithMirror", &gitlab.ProjectArgs{
    			ImportUrl: pulumi.String("https://gitlab.example.com/repo.git"),
    			Mirror:    pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// Create a project by importing it from a private project
    		_, err = gitlab.NewProject(ctx, "importPrivateProject", &gitlab.ProjectArgs{
    			ImportUrl:         pulumi.String("https://gitlab.example.com/repo.git"),
    			ImportUrlUsername: pulumi.String("user"),
    			ImportUrlPassword: pulumi.String("pass"),
    		})
    		if err != nil {
    			return err
    		}
    		// Create a project by importing it from a private project and setup the pull mirror
    		_, err = gitlab.NewProject(ctx, "importPrivateWithMirror", &gitlab.ProjectArgs{
    			ImportUrl:         pulumi.String("https://gitlab.example.com/repo.git"),
    			ImportUrlUsername: pulumi.String("user"),
    			ImportUrlPassword: pulumi.String("pass"),
    			Mirror:            pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// Create a project by importing it from a private project and provide credentials in `import_url`
    		// NOTE: only use this if you really must, use `import_url_username` and `import_url_password` whenever possible
    		//
    		//	GitLab API will always return the `import_url` without credentials, therefore you must ignore the `import_url` for changes:
    		_, err = gitlab.NewProject(ctx, "importPrivateIndex/projectProject", &gitlab.ProjectArgs{
    			ImportUrl: pulumi.String("https://user:pass@gitlab.example.com/repo.git"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using GitLab = Pulumi.GitLab;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new GitLab.Project("example", new()
        {
            Description = "My awesome codebase",
            VisibilityLevel = "public",
        });
    
        // Project with custom push rules
        var example_two = new GitLab.Project("example-two", new()
        {
            PushRules = new GitLab.Inputs.ProjectPushRulesArgs
            {
                AuthorEmailRegex = "@example\\.com$",
                CommitCommitterCheck = true,
                MemberCheck = true,
                PreventSecrets = true,
            },
        });
    
        var peterParker = GitLab.GetUser.Invoke(new()
        {
            Username = "peter_parker",
        });
    
        var petersRepo = new GitLab.Project("petersRepo", new()
        {
            Description = "This is a description",
            NamespaceId = peterParker.Apply(getUserResult => getUserResult.NamespaceId),
        });
    
        // Fork a project
        var forkProject = new GitLab.Project("forkProject", new()
        {
            Description = "This is a fork",
            ForkedFromProjectId = example.Id,
        });
    
        // Fork a project and setup a pull mirror
        var forkIndex_projectProject = new GitLab.Project("forkIndex/projectProject", new()
        {
            Description = "This is a fork",
            ForkedFromProjectId = example.Id,
            ImportUrl = example.HttpUrlToRepo,
            Mirror = true,
        });
    
        // Create a project by importing it from a public project
        var importPublic = new GitLab.Project("importPublic", new()
        {
            ImportUrl = "https://gitlab.example.com/repo.git",
        });
    
        // Create a project by importing it from a public project and setup the pull mirror
        var importPublicWithMirror = new GitLab.Project("importPublicWithMirror", new()
        {
            ImportUrl = "https://gitlab.example.com/repo.git",
            Mirror = true,
        });
    
        // Create a project by importing it from a private project
        var importPrivateProject = new GitLab.Project("importPrivateProject", new()
        {
            ImportUrl = "https://gitlab.example.com/repo.git",
            ImportUrlUsername = "user",
            ImportUrlPassword = "pass",
        });
    
        // Create a project by importing it from a private project and setup the pull mirror
        var importPrivateWithMirror = new GitLab.Project("importPrivateWithMirror", new()
        {
            ImportUrl = "https://gitlab.example.com/repo.git",
            ImportUrlUsername = "user",
            ImportUrlPassword = "pass",
            Mirror = true,
        });
    
        // Create a project by importing it from a private project and provide credentials in `import_url`
        // NOTE: only use this if you really must, use `import_url_username` and `import_url_password` whenever possible
        //       GitLab API will always return the `import_url` without credentials, therefore you must ignore the `import_url` for changes:
        var importPrivateIndex_projectProject = new GitLab.Project("importPrivateIndex/projectProject", new()
        {
            ImportUrl = "https://user:pass@gitlab.example.com/repo.git",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gitlab.Project;
    import com.pulumi.gitlab.ProjectArgs;
    import com.pulumi.gitlab.inputs.ProjectPushRulesArgs;
    import com.pulumi.gitlab.GitlabFunctions;
    import com.pulumi.gitlab.inputs.GetUserArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Project("example", ProjectArgs.builder()        
                .description("My awesome codebase")
                .visibilityLevel("public")
                .build());
    
            var example_two = new Project("example-two", ProjectArgs.builder()        
                .pushRules(ProjectPushRulesArgs.builder()
                    .authorEmailRegex("@example\\.com$")
                    .commitCommitterCheck(true)
                    .memberCheck(true)
                    .preventSecrets(true)
                    .build())
                .build());
    
            final var peterParker = GitlabFunctions.getUser(GetUserArgs.builder()
                .username("peter_parker")
                .build());
    
            var petersRepo = new Project("petersRepo", ProjectArgs.builder()        
                .description("This is a description")
                .namespaceId(peterParker.applyValue(getUserResult -> getUserResult.namespaceId()))
                .build());
    
            var forkProject = new Project("forkProject", ProjectArgs.builder()        
                .description("This is a fork")
                .forkedFromProjectId(example.id())
                .build());
    
            var forkIndex_projectProject = new Project("forkIndex/projectProject", ProjectArgs.builder()        
                .description("This is a fork")
                .forkedFromProjectId(example.id())
                .importUrl(example.httpUrlToRepo())
                .mirror(true)
                .build());
    
            var importPublic = new Project("importPublic", ProjectArgs.builder()        
                .importUrl("https://gitlab.example.com/repo.git")
                .build());
    
            var importPublicWithMirror = new Project("importPublicWithMirror", ProjectArgs.builder()        
                .importUrl("https://gitlab.example.com/repo.git")
                .mirror(true)
                .build());
    
            var importPrivateProject = new Project("importPrivateProject", ProjectArgs.builder()        
                .importUrl("https://gitlab.example.com/repo.git")
                .importUrlUsername("user")
                .importUrlPassword("pass")
                .build());
    
            var importPrivateWithMirror = new Project("importPrivateWithMirror", ProjectArgs.builder()        
                .importUrl("https://gitlab.example.com/repo.git")
                .importUrlUsername("user")
                .importUrlPassword("pass")
                .mirror(true)
                .build());
    
            var importPrivateIndex_projectProject = new Project("importPrivateIndex/projectProject", ProjectArgs.builder()        
                .importUrl("https://user:pass@gitlab.example.com/repo.git")
                .build());
    
        }
    }
    
    resources:
      example:
        type: gitlab:Project
        properties:
          description: My awesome codebase
          visibilityLevel: public
      # Project with custom push rules
      example-two:
        type: gitlab:Project
        properties:
          pushRules:
            authorEmailRegex: '@example\.com$'
            commitCommitterCheck: true
            memberCheck: true
            preventSecrets: true
      petersRepo:
        type: gitlab:Project
        properties:
          description: This is a description
          namespaceId: ${peterParker.namespaceId}
      # Fork a project
      forkProject:
        type: gitlab:Project
        properties:
          description: This is a fork
          forkedFromProjectId: ${example.id}
      # Fork a project and setup a pull mirror
      forkIndex/projectProject:
        type: gitlab:Project
        properties:
          description: This is a fork
          forkedFromProjectId: ${example.id}
          importUrl: ${example.httpUrlToRepo}
          mirror: true
      # Create a project by importing it from a public project
      importPublic:
        type: gitlab:Project
        properties:
          importUrl: https://gitlab.example.com/repo.git
      # Create a project by importing it from a public project and setup the pull mirror
      importPublicWithMirror:
        type: gitlab:Project
        properties:
          importUrl: https://gitlab.example.com/repo.git
          mirror: true
      # Create a project by importing it from a private project
      importPrivateProject:
        type: gitlab:Project
        properties:
          importUrl: https://gitlab.example.com/repo.git
          importUrlUsername: user
          importUrlPassword: pass
      # Create a project by importing it from a private project and setup the pull mirror
      importPrivateWithMirror:
        type: gitlab:Project
        properties:
          importUrl: https://gitlab.example.com/repo.git
          importUrlUsername: user
          importUrlPassword: pass
          mirror: true
      # Create a project by importing it from a private project and provide credentials in `import_url`
      # NOTE: only use this if you really must, use `import_url_username` and `import_url_password` whenever possible
      #       GitLab API will always return the `import_url` without credentials, therefore you must ignore the `import_url` for changes:
      importPrivateIndex/projectProject:
        type: gitlab:Project
        properties:
          importUrl: https://user:pass@gitlab.example.com/repo.git
    variables:
      peterParker:
        fn::invoke:
          Function: gitlab:getUser
          Arguments:
            username: peter_parker
    

    Create Project Resource

    new Project(name: string, args?: ProjectArgs, opts?: CustomResourceOptions);
    @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_disabled: 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)
    @overload
    def Project(resource_name: str,
                args: Optional[ProjectArgs] = None,
                opts: Optional[ResourceOptions] = 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.
    
    
    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.

    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:

    AllowMergeOnSkippedPipeline bool
    Set to true if you want to treat skipped pipelines as if they finished with success.
    AnalyticsAccessLevel string
    Set the analytics access level. Valid values are disabled, private, enabled.
    ApprovalsBeforeMerge int
    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 use gitlab.ProjectApprovalRule instead.
    ArchiveOnDestroy bool
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    Archived bool
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    AutoCancelPendingPipelines string
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    AutoDevopsDeployStrategy string
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    AutoDevopsEnabled bool
    Enable Auto DevOps for this project.
    AutocloseReferencedIssues bool
    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.
    AvatarHash 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.
    BuildCoverageRegex string
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    BuildGitStrategy string
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    BuildTimeout int
    The maximum amount of time, in seconds, that a job can run.
    BuildsAccessLevel string
    Set the builds access level. Valid values are disabled, private, enabled.
    CiConfigPath string
    Custom Path to CI config file.
    CiDefaultGitDepth int
    Default number of revisions for shallow cloning.
    CiForwardDeploymentEnabled bool
    When a new deployment job starts, skip older deployment jobs that are still pending.
    CiRestrictPipelineCancellationRole string
    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
    CiSeparatedCaches bool
    Use separate caches for protected branches.
    ContainerExpirationPolicy Pulumi.GitLab.Inputs.ProjectContainerExpirationPolicy
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    ContainerRegistryAccessLevel string
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    ContainerRegistryEnabled bool
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    DefaultBranch string
    The default branch for the project.
    Description string
    A description of the project.
    EmailsDisabled bool
    Disable email notifications.
    EnvironmentsAccessLevel string
    Set the environments access level. Valid values are disabled, private, enabled.
    ExternalAuthorizationClassificationLabel string
    The classification label for the project.
    FeatureFlagsAccessLevel string
    Set the feature flags access level. Valid values are disabled, private, enabled.
    ForkedFromProjectId int
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    ForkingAccessLevel string
    Set the forking access level. Valid values are disabled, private, enabled.
    GroupRunnersEnabled bool
    Enable group runners for this project.
    GroupWithProjectTemplatesId int
    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).
    ImportUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlPassword string
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlUsername string
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    InfrastructureAccessLevel string
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    InitializeWithReadme bool
    Create main branch with first commit containing a README.md file.
    IssuesAccessLevel string
    Set the issues access level. Valid values are disabled, private, enabled.
    IssuesEnabled bool
    Enable issue tracking for the project.
    IssuesTemplate string
    Sets the template for new issues in the project.
    KeepLatestArtifact bool
    Disable or enable the ability to keep the latest artifact for this project.
    LfsEnabled bool
    Enable LFS for the project.
    MergeCommitTemplate string
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    MergeMethod string
    Set the merge method. Valid values are merge, rebase_merge, ff.
    MergePipelinesEnabled bool
    Enable or disable merge pipelines.
    MergeRequestsAccessLevel string
    Set the merge requests access level. Valid values are disabled, private, enabled.
    MergeRequestsEnabled bool
    Enable merge requests for the project.
    MergeRequestsTemplate string
    Sets the template for new merge requests in the project.
    MergeTrainsEnabled bool
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    Mirror bool
    Enable project pull mirror.
    MirrorOverwritesDivergedBranches bool
    Enable overwrite diverged branches for a mirrored project.
    MirrorTriggerBuilds bool
    Enable trigger builds on pushes for a mirrored project.
    MonitorAccessLevel string
    Set the monitor access level. Valid values are disabled, private, enabled.
    MrDefaultTargetSelf bool
    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.
    NamespaceId int
    The namespace (group or user) of the project. Defaults to your user.
    OnlyAllowMergeIfAllDiscussionsAreResolved bool
    Set to true if you want allow merges only if all discussions are resolved.
    OnlyAllowMergeIfPipelineSucceeds bool
    Set to true if you want allow merges only if a pipeline succeeds.
    OnlyMirrorProtectedBranches bool
    Enable only mirror protected branches for a mirrored project.
    PackagesEnabled bool
    Enable packages repository for the project.
    PagesAccessLevel string
    Enable pages access control. Valid values are public, private, enabled, disabled.
    Path string
    The path of the repository.
    PipelinesEnabled bool
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    PrintingMergeRequestLinkEnabled bool
    Show link to create/view merge request when pushing from the command line
    PublicBuilds bool
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    PublicJobs bool
    If true, jobs can be viewed by non-project members.
    PushRules Pulumi.GitLab.Inputs.ProjectPushRules
    Push rules for the project.
    ReleasesAccessLevel string
    Set the releases access level. Valid values are disabled, private, enabled.
    RemoveSourceBranchAfterMerge bool
    Enable Delete source branch option by default for all new merge requests.
    RepositoryAccessLevel string
    Set the repository access level. Valid values are disabled, private, enabled.
    RepositoryStorage string
    Which storage shard the repository is on. (administrator only)
    RequestAccessEnabled bool
    Allow users to request member access.
    RequirementsAccessLevel string
    Set the requirements access level. Valid values are disabled, private, enabled.
    ResolveOutdatedDiffDiscussions bool
    Automatically resolve merge request diffs discussions on lines changed with a push.
    RestrictUserDefinedVariables bool
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    SecurityAndComplianceAccessLevel string
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    SharedRunnersEnabled bool
    Enable shared runners for this project.
    SkipWaitForDefaultBranchProtection bool
    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.
    SnippetsAccessLevel string
    Set the snippets access level. Valid values are disabled, private, enabled.
    SnippetsEnabled bool
    Enable snippets for the project.
    SquashCommitTemplate string
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    SquashOption string
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    SuggestionCommitMessage string
    The commit message used to apply merge request suggestions.
    Tags List<string>
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    TemplateName 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.
    TemplateProjectId int
    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. See gitlab.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.
    UseCustomTemplate bool
    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.
    VisibilityLevel string
    Set to public to create a public project. Valid values are private, internal, public.
    WikiAccessLevel string
    Set the wiki access level. Valid values are disabled, private, enabled.
    WikiEnabled bool
    Enable wiki for the project.
    AllowMergeOnSkippedPipeline bool
    Set to true if you want to treat skipped pipelines as if they finished with success.
    AnalyticsAccessLevel string
    Set the analytics access level. Valid values are disabled, private, enabled.
    ApprovalsBeforeMerge int
    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 use gitlab.ProjectApprovalRule instead.
    ArchiveOnDestroy bool
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    Archived bool
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    AutoCancelPendingPipelines string
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    AutoDevopsDeployStrategy string
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    AutoDevopsEnabled bool
    Enable Auto DevOps for this project.
    AutocloseReferencedIssues bool
    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.
    AvatarHash 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.
    BuildCoverageRegex string
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    BuildGitStrategy string
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    BuildTimeout int
    The maximum amount of time, in seconds, that a job can run.
    BuildsAccessLevel string
    Set the builds access level. Valid values are disabled, private, enabled.
    CiConfigPath string
    Custom Path to CI config file.
    CiDefaultGitDepth int
    Default number of revisions for shallow cloning.
    CiForwardDeploymentEnabled bool
    When a new deployment job starts, skip older deployment jobs that are still pending.
    CiRestrictPipelineCancellationRole string
    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
    CiSeparatedCaches bool
    Use separate caches for protected branches.
    ContainerExpirationPolicy ProjectContainerExpirationPolicyArgs
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    ContainerRegistryAccessLevel string
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    ContainerRegistryEnabled bool
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    DefaultBranch string
    The default branch for the project.
    Description string
    A description of the project.
    EmailsDisabled bool
    Disable email notifications.
    EnvironmentsAccessLevel string
    Set the environments access level. Valid values are disabled, private, enabled.
    ExternalAuthorizationClassificationLabel string
    The classification label for the project.
    FeatureFlagsAccessLevel string
    Set the feature flags access level. Valid values are disabled, private, enabled.
    ForkedFromProjectId int
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    ForkingAccessLevel string
    Set the forking access level. Valid values are disabled, private, enabled.
    GroupRunnersEnabled bool
    Enable group runners for this project.
    GroupWithProjectTemplatesId int
    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).
    ImportUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlPassword string
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlUsername string
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    InfrastructureAccessLevel string
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    InitializeWithReadme bool
    Create main branch with first commit containing a README.md file.
    IssuesAccessLevel string
    Set the issues access level. Valid values are disabled, private, enabled.
    IssuesEnabled bool
    Enable issue tracking for the project.
    IssuesTemplate string
    Sets the template for new issues in the project.
    KeepLatestArtifact bool
    Disable or enable the ability to keep the latest artifact for this project.
    LfsEnabled bool
    Enable LFS for the project.
    MergeCommitTemplate string
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    MergeMethod string
    Set the merge method. Valid values are merge, rebase_merge, ff.
    MergePipelinesEnabled bool
    Enable or disable merge pipelines.
    MergeRequestsAccessLevel string
    Set the merge requests access level. Valid values are disabled, private, enabled.
    MergeRequestsEnabled bool
    Enable merge requests for the project.
    MergeRequestsTemplate string
    Sets the template for new merge requests in the project.
    MergeTrainsEnabled bool
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    Mirror bool
    Enable project pull mirror.
    MirrorOverwritesDivergedBranches bool
    Enable overwrite diverged branches for a mirrored project.
    MirrorTriggerBuilds bool
    Enable trigger builds on pushes for a mirrored project.
    MonitorAccessLevel string
    Set the monitor access level. Valid values are disabled, private, enabled.
    MrDefaultTargetSelf bool
    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.
    NamespaceId int
    The namespace (group or user) of the project. Defaults to your user.
    OnlyAllowMergeIfAllDiscussionsAreResolved bool
    Set to true if you want allow merges only if all discussions are resolved.
    OnlyAllowMergeIfPipelineSucceeds bool
    Set to true if you want allow merges only if a pipeline succeeds.
    OnlyMirrorProtectedBranches bool
    Enable only mirror protected branches for a mirrored project.
    PackagesEnabled bool
    Enable packages repository for the project.
    PagesAccessLevel string
    Enable pages access control. Valid values are public, private, enabled, disabled.
    Path string
    The path of the repository.
    PipelinesEnabled bool
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    PrintingMergeRequestLinkEnabled bool
    Show link to create/view merge request when pushing from the command line
    PublicBuilds bool
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    PublicJobs bool
    If true, jobs can be viewed by non-project members.
    PushRules ProjectPushRulesArgs
    Push rules for the project.
    ReleasesAccessLevel string
    Set the releases access level. Valid values are disabled, private, enabled.
    RemoveSourceBranchAfterMerge bool
    Enable Delete source branch option by default for all new merge requests.
    RepositoryAccessLevel string
    Set the repository access level. Valid values are disabled, private, enabled.
    RepositoryStorage string
    Which storage shard the repository is on. (administrator only)
    RequestAccessEnabled bool
    Allow users to request member access.
    RequirementsAccessLevel string
    Set the requirements access level. Valid values are disabled, private, enabled.
    ResolveOutdatedDiffDiscussions bool
    Automatically resolve merge request diffs discussions on lines changed with a push.
    RestrictUserDefinedVariables bool
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    SecurityAndComplianceAccessLevel string
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    SharedRunnersEnabled bool
    Enable shared runners for this project.
    SkipWaitForDefaultBranchProtection bool
    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.
    SnippetsAccessLevel string
    Set the snippets access level. Valid values are disabled, private, enabled.
    SnippetsEnabled bool
    Enable snippets for the project.
    SquashCommitTemplate string
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    SquashOption string
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    SuggestionCommitMessage string
    The commit message used to apply merge request suggestions.
    Tags []string
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    TemplateName 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.
    TemplateProjectId int
    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. See gitlab.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.
    UseCustomTemplate bool
    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.
    VisibilityLevel string
    Set to public to create a public project. Valid values are private, internal, public.
    WikiAccessLevel string
    Set the wiki access level. Valid values are disabled, private, enabled.
    WikiEnabled bool
    Enable wiki for the project.
    allowMergeOnSkippedPipeline Boolean
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analyticsAccessLevel String
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvalsBeforeMerge Integer
    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 use gitlab.ProjectApprovalRule instead.
    archiveOnDestroy Boolean
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived Boolean
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    autoCancelPendingPipelines String
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    autoDevopsDeployStrategy String
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    autoDevopsEnabled Boolean
    Enable Auto DevOps for this project.
    autocloseReferencedIssues Boolean
    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.
    avatarHash 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.
    buildCoverageRegex String
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    buildGitStrategy String
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    buildTimeout Integer
    The maximum amount of time, in seconds, that a job can run.
    buildsAccessLevel String
    Set the builds access level. Valid values are disabled, private, enabled.
    ciConfigPath String
    Custom Path to CI config file.
    ciDefaultGitDepth Integer
    Default number of revisions for shallow cloning.
    ciForwardDeploymentEnabled Boolean
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ciRestrictPipelineCancellationRole String
    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
    ciSeparatedCaches Boolean
    Use separate caches for protected branches.
    containerExpirationPolicy ProjectContainerExpirationPolicy
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    containerRegistryAccessLevel String
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    containerRegistryEnabled Boolean
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    defaultBranch String
    The default branch for the project.
    description String
    A description of the project.
    emailsDisabled Boolean
    Disable email notifications.
    environmentsAccessLevel String
    Set the environments access level. Valid values are disabled, private, enabled.
    externalAuthorizationClassificationLabel String
    The classification label for the project.
    featureFlagsAccessLevel String
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forkedFromProjectId Integer
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forkingAccessLevel String
    Set the forking access level. Valid values are disabled, private, enabled.
    groupRunnersEnabled Boolean
    Enable group runners for this project.
    groupWithProjectTemplatesId Integer
    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).
    importUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    importUrlPassword String
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    importUrlUsername String
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructureAccessLevel String
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initializeWithReadme Boolean
    Create main branch with first commit containing a README.md file.
    issuesAccessLevel String
    Set the issues access level. Valid values are disabled, private, enabled.
    issuesEnabled Boolean
    Enable issue tracking for the project.
    issuesTemplate String
    Sets the template for new issues in the project.
    keepLatestArtifact Boolean
    Disable or enable the ability to keep the latest artifact for this project.
    lfsEnabled Boolean
    Enable LFS for the project.
    mergeCommitTemplate String
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    mergeMethod String
    Set the merge method. Valid values are merge, rebase_merge, ff.
    mergePipelinesEnabled Boolean
    Enable or disable merge pipelines.
    mergeRequestsAccessLevel String
    Set the merge requests access level. Valid values are disabled, private, enabled.
    mergeRequestsEnabled Boolean
    Enable merge requests for the project.
    mergeRequestsTemplate String
    Sets the template for new merge requests in the project.
    mergeTrainsEnabled Boolean
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror Boolean
    Enable project pull mirror.
    mirrorOverwritesDivergedBranches Boolean
    Enable overwrite diverged branches for a mirrored project.
    mirrorTriggerBuilds Boolean
    Enable trigger builds on pushes for a mirrored project.
    monitorAccessLevel String
    Set the monitor access level. Valid values are disabled, private, enabled.
    mrDefaultTargetSelf Boolean
    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.
    namespaceId Integer
    The namespace (group or user) of the project. Defaults to your user.
    onlyAllowMergeIfAllDiscussionsAreResolved Boolean
    Set to true if you want allow merges only if all discussions are resolved.
    onlyAllowMergeIfPipelineSucceeds Boolean
    Set to true if you want allow merges only if a pipeline succeeds.
    onlyMirrorProtectedBranches Boolean
    Enable only mirror protected branches for a mirrored project.
    packagesEnabled Boolean
    Enable packages repository for the project.
    pagesAccessLevel String
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path String
    The path of the repository.
    pipelinesEnabled Boolean
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printingMergeRequestLinkEnabled Boolean
    Show link to create/view merge request when pushing from the command line
    publicBuilds Boolean
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    publicJobs Boolean
    If true, jobs can be viewed by non-project members.
    pushRules ProjectPushRules
    Push rules for the project.
    releasesAccessLevel String
    Set the releases access level. Valid values are disabled, private, enabled.
    removeSourceBranchAfterMerge Boolean
    Enable Delete source branch option by default for all new merge requests.
    repositoryAccessLevel String
    Set the repository access level. Valid values are disabled, private, enabled.
    repositoryStorage String
    Which storage shard the repository is on. (administrator only)
    requestAccessEnabled Boolean
    Allow users to request member access.
    requirementsAccessLevel String
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolveOutdatedDiffDiscussions Boolean
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrictUserDefinedVariables Boolean
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    securityAndComplianceAccessLevel String
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    sharedRunnersEnabled Boolean
    Enable shared runners for this project.
    skipWaitForDefaultBranchProtection Boolean
    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.
    snippetsAccessLevel String
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippetsEnabled Boolean
    Enable snippets for the project.
    squashCommitTemplate String
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    squashOption String
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    suggestionCommitMessage String
    The commit message used to apply merge request suggestions.
    tags List<String>
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    templateName 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.
    templateProjectId Integer
    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. See gitlab.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.
    useCustomTemplate Boolean
    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.
    visibilityLevel String
    Set to public to create a public project. Valid values are private, internal, public.
    wikiAccessLevel String
    Set the wiki access level. Valid values are disabled, private, enabled.
    wikiEnabled Boolean
    Enable wiki for the project.
    allowMergeOnSkippedPipeline boolean
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analyticsAccessLevel string
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvalsBeforeMerge number
    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 use gitlab.ProjectApprovalRule instead.
    archiveOnDestroy boolean
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived boolean
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    autoCancelPendingPipelines string
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    autoDevopsDeployStrategy string
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    autoDevopsEnabled boolean
    Enable Auto DevOps for this project.
    autocloseReferencedIssues boolean
    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.
    avatarHash 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.
    buildCoverageRegex string
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    buildGitStrategy string
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    buildTimeout number
    The maximum amount of time, in seconds, that a job can run.
    buildsAccessLevel string
    Set the builds access level. Valid values are disabled, private, enabled.
    ciConfigPath string
    Custom Path to CI config file.
    ciDefaultGitDepth number
    Default number of revisions for shallow cloning.
    ciForwardDeploymentEnabled boolean
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ciRestrictPipelineCancellationRole string
    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
    ciSeparatedCaches boolean
    Use separate caches for protected branches.
    containerExpirationPolicy ProjectContainerExpirationPolicy
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    containerRegistryAccessLevel string
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    containerRegistryEnabled boolean
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    defaultBranch string
    The default branch for the project.
    description string
    A description of the project.
    emailsDisabled boolean
    Disable email notifications.
    environmentsAccessLevel string
    Set the environments access level. Valid values are disabled, private, enabled.
    externalAuthorizationClassificationLabel string
    The classification label for the project.
    featureFlagsAccessLevel string
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forkedFromProjectId number
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forkingAccessLevel string
    Set the forking access level. Valid values are disabled, private, enabled.
    groupRunnersEnabled boolean
    Enable group runners for this project.
    groupWithProjectTemplatesId number
    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).
    importUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    importUrlPassword string
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    importUrlUsername string
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructureAccessLevel string
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initializeWithReadme boolean
    Create main branch with first commit containing a README.md file.
    issuesAccessLevel string
    Set the issues access level. Valid values are disabled, private, enabled.
    issuesEnabled boolean
    Enable issue tracking for the project.
    issuesTemplate string
    Sets the template for new issues in the project.
    keepLatestArtifact boolean
    Disable or enable the ability to keep the latest artifact for this project.
    lfsEnabled boolean
    Enable LFS for the project.
    mergeCommitTemplate string
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    mergeMethod string
    Set the merge method. Valid values are merge, rebase_merge, ff.
    mergePipelinesEnabled boolean
    Enable or disable merge pipelines.
    mergeRequestsAccessLevel string
    Set the merge requests access level. Valid values are disabled, private, enabled.
    mergeRequestsEnabled boolean
    Enable merge requests for the project.
    mergeRequestsTemplate string
    Sets the template for new merge requests in the project.
    mergeTrainsEnabled boolean
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror boolean
    Enable project pull mirror.
    mirrorOverwritesDivergedBranches boolean
    Enable overwrite diverged branches for a mirrored project.
    mirrorTriggerBuilds boolean
    Enable trigger builds on pushes for a mirrored project.
    monitorAccessLevel string
    Set the monitor access level. Valid values are disabled, private, enabled.
    mrDefaultTargetSelf boolean
    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.
    namespaceId number
    The namespace (group or user) of the project. Defaults to your user.
    onlyAllowMergeIfAllDiscussionsAreResolved boolean
    Set to true if you want allow merges only if all discussions are resolved.
    onlyAllowMergeIfPipelineSucceeds boolean
    Set to true if you want allow merges only if a pipeline succeeds.
    onlyMirrorProtectedBranches boolean
    Enable only mirror protected branches for a mirrored project.
    packagesEnabled boolean
    Enable packages repository for the project.
    pagesAccessLevel string
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path string
    The path of the repository.
    pipelinesEnabled boolean
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printingMergeRequestLinkEnabled boolean
    Show link to create/view merge request when pushing from the command line
    publicBuilds boolean
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    publicJobs boolean
    If true, jobs can be viewed by non-project members.
    pushRules ProjectPushRules
    Push rules for the project.
    releasesAccessLevel string
    Set the releases access level. Valid values are disabled, private, enabled.
    removeSourceBranchAfterMerge boolean
    Enable Delete source branch option by default for all new merge requests.
    repositoryAccessLevel string
    Set the repository access level. Valid values are disabled, private, enabled.
    repositoryStorage string
    Which storage shard the repository is on. (administrator only)
    requestAccessEnabled boolean
    Allow users to request member access.
    requirementsAccessLevel string
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolveOutdatedDiffDiscussions boolean
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrictUserDefinedVariables boolean
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    securityAndComplianceAccessLevel string
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    sharedRunnersEnabled boolean
    Enable shared runners for this project.
    skipWaitForDefaultBranchProtection boolean
    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.
    snippetsAccessLevel string
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippetsEnabled boolean
    Enable snippets for the project.
    squashCommitTemplate string
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    squashOption string
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    suggestionCommitMessage string
    The commit message used to apply merge request suggestions.
    tags string[]
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    templateName 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.
    templateProjectId number
    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. See gitlab.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.
    useCustomTemplate boolean
    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.
    visibilityLevel string
    Set to public to create a public project. Valid values are private, internal, public.
    wikiAccessLevel string
    Set the wiki access level. Valid values are disabled, private, enabled.
    wikiEnabled boolean
    Enable wiki for the project.
    allow_merge_on_skipped_pipeline bool
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analytics_access_level str
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvals_before_merge int
    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 use gitlab.ProjectApprovalRule instead.
    archive_on_destroy bool
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived bool
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    auto_cancel_pending_pipelines str
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    auto_devops_deploy_strategy str
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    auto_devops_enabled bool
    Enable Auto DevOps for this project.
    autoclose_referenced_issues bool
    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_regex str
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    build_git_strategy str
    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_level str
    Set the builds access level. Valid values are disabled, private, enabled.
    ci_config_path str
    Custom Path to CI config file.
    ci_default_git_depth int
    Default number of revisions for shallow cloning.
    ci_forward_deployment_enabled bool
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ci_restrict_pipeline_cancellation_role str
    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_caches bool
    Use separate caches for protected branches.
    container_expiration_policy ProjectContainerExpirationPolicyArgs
    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_access_level str
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    container_registry_enabled bool
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    default_branch str
    The default branch for the project.
    description str
    A description of the project.
    emails_disabled bool
    Disable email notifications.
    environments_access_level str
    Set the environments access level. Valid values are disabled, private, enabled.
    external_authorization_classification_label str
    The classification label for the project.
    feature_flags_access_level str
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forked_from_project_id int
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forking_access_level str
    Set the forking access level. Valid values are disabled, private, enabled.
    group_runners_enabled bool
    Enable group runners for this project.
    group_with_project_templates_id int
    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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    import_url_password str
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    import_url_username str
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructure_access_level str
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initialize_with_readme bool
    Create main branch with first commit containing a README.md file.
    issues_access_level str
    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_artifact bool
    Disable or enable the ability to keep the latest artifact for this project.
    lfs_enabled bool
    Enable LFS for the project.
    merge_commit_template str
    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_enabled bool
    Enable or disable merge pipelines.
    merge_requests_access_level str
    Set the merge requests access level. Valid values are disabled, private, enabled.
    merge_requests_enabled bool
    Enable merge requests for the project.
    merge_requests_template str
    Sets the template for new merge requests in the project.
    merge_trains_enabled bool
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror bool
    Enable project pull mirror.
    mirror_overwrites_diverged_branches bool
    Enable overwrite diverged branches for a mirrored project.
    mirror_trigger_builds bool
    Enable trigger builds on pushes for a mirrored project.
    monitor_access_level str
    Set the monitor access level. Valid values are disabled, private, enabled.
    mr_default_target_self bool
    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_merge_if_all_discussions_are_resolved bool
    Set to true if you want allow merges only if all discussions are resolved.
    only_allow_merge_if_pipeline_succeeds bool
    Set to true if you want allow merges only if a pipeline succeeds.
    only_mirror_protected_branches bool
    Enable only mirror protected branches for a mirrored project.
    packages_enabled bool
    Enable packages repository for the project.
    pages_access_level str
    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 as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printing_merge_request_link_enabled bool
    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.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    public_jobs bool
    If true, jobs can be viewed by non-project members.
    push_rules ProjectPushRulesArgs
    Push rules for the project.
    releases_access_level str
    Set the releases access level. Valid values are disabled, private, enabled.
    remove_source_branch_after_merge bool
    Enable Delete source branch option by default for all new merge requests.
    repository_access_level str
    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_enabled bool
    Allow users to request member access.
    requirements_access_level str
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolve_outdated_diff_discussions bool
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrict_user_defined_variables bool
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    security_and_compliance_access_level str
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    shared_runners_enabled bool
    Enable shared runners for this project.
    skip_wait_for_default_branch_protection bool
    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_level str
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippets_enabled bool
    Enable snippets for the project.
    squash_commit_template str
    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, or default_off. The default value is default_off. [GitLab >= 14.1]
    suggestion_commit_message str
    The commit message used to apply merge request suggestions.
    tags 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_id int
    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. See gitlab.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_template bool
    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 are private, internal, public.
    wiki_access_level str
    Set the wiki access level. Valid values are disabled, private, enabled.
    wiki_enabled bool
    Enable wiki for the project.
    allowMergeOnSkippedPipeline Boolean
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analyticsAccessLevel String
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvalsBeforeMerge Number
    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 use gitlab.ProjectApprovalRule instead.
    archiveOnDestroy Boolean
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived Boolean
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    autoCancelPendingPipelines String
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    autoDevopsDeployStrategy String
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    autoDevopsEnabled Boolean
    Enable Auto DevOps for this project.
    autocloseReferencedIssues Boolean
    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.
    avatarHash 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.
    buildCoverageRegex String
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    buildGitStrategy String
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    buildTimeout Number
    The maximum amount of time, in seconds, that a job can run.
    buildsAccessLevel String
    Set the builds access level. Valid values are disabled, private, enabled.
    ciConfigPath String
    Custom Path to CI config file.
    ciDefaultGitDepth Number
    Default number of revisions for shallow cloning.
    ciForwardDeploymentEnabled Boolean
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ciRestrictPipelineCancellationRole String
    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
    ciSeparatedCaches Boolean
    Use separate caches for protected branches.
    containerExpirationPolicy Property Map
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    containerRegistryAccessLevel String
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    containerRegistryEnabled Boolean
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    defaultBranch String
    The default branch for the project.
    description String
    A description of the project.
    emailsDisabled Boolean
    Disable email notifications.
    environmentsAccessLevel String
    Set the environments access level. Valid values are disabled, private, enabled.
    externalAuthorizationClassificationLabel String
    The classification label for the project.
    featureFlagsAccessLevel String
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forkedFromProjectId Number
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forkingAccessLevel String
    Set the forking access level. Valid values are disabled, private, enabled.
    groupRunnersEnabled Boolean
    Enable group runners for this project.
    groupWithProjectTemplatesId Number
    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).
    importUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    importUrlPassword String
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    importUrlUsername String
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructureAccessLevel String
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initializeWithReadme Boolean
    Create main branch with first commit containing a README.md file.
    issuesAccessLevel String
    Set the issues access level. Valid values are disabled, private, enabled.
    issuesEnabled Boolean
    Enable issue tracking for the project.
    issuesTemplate String
    Sets the template for new issues in the project.
    keepLatestArtifact Boolean
    Disable or enable the ability to keep the latest artifact for this project.
    lfsEnabled Boolean
    Enable LFS for the project.
    mergeCommitTemplate String
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    mergeMethod String
    Set the merge method. Valid values are merge, rebase_merge, ff.
    mergePipelinesEnabled Boolean
    Enable or disable merge pipelines.
    mergeRequestsAccessLevel String
    Set the merge requests access level. Valid values are disabled, private, enabled.
    mergeRequestsEnabled Boolean
    Enable merge requests for the project.
    mergeRequestsTemplate String
    Sets the template for new merge requests in the project.
    mergeTrainsEnabled Boolean
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror Boolean
    Enable project pull mirror.
    mirrorOverwritesDivergedBranches Boolean
    Enable overwrite diverged branches for a mirrored project.
    mirrorTriggerBuilds Boolean
    Enable trigger builds on pushes for a mirrored project.
    monitorAccessLevel String
    Set the monitor access level. Valid values are disabled, private, enabled.
    mrDefaultTargetSelf Boolean
    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.
    namespaceId Number
    The namespace (group or user) of the project. Defaults to your user.
    onlyAllowMergeIfAllDiscussionsAreResolved Boolean
    Set to true if you want allow merges only if all discussions are resolved.
    onlyAllowMergeIfPipelineSucceeds Boolean
    Set to true if you want allow merges only if a pipeline succeeds.
    onlyMirrorProtectedBranches Boolean
    Enable only mirror protected branches for a mirrored project.
    packagesEnabled Boolean
    Enable packages repository for the project.
    pagesAccessLevel String
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path String
    The path of the repository.
    pipelinesEnabled Boolean
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printingMergeRequestLinkEnabled Boolean
    Show link to create/view merge request when pushing from the command line
    publicBuilds Boolean
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    publicJobs Boolean
    If true, jobs can be viewed by non-project members.
    pushRules Property Map
    Push rules for the project.
    releasesAccessLevel String
    Set the releases access level. Valid values are disabled, private, enabled.
    removeSourceBranchAfterMerge Boolean
    Enable Delete source branch option by default for all new merge requests.
    repositoryAccessLevel String
    Set the repository access level. Valid values are disabled, private, enabled.
    repositoryStorage String
    Which storage shard the repository is on. (administrator only)
    requestAccessEnabled Boolean
    Allow users to request member access.
    requirementsAccessLevel String
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolveOutdatedDiffDiscussions Boolean
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrictUserDefinedVariables Boolean
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    securityAndComplianceAccessLevel String
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    sharedRunnersEnabled Boolean
    Enable shared runners for this project.
    skipWaitForDefaultBranchProtection Boolean
    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.
    snippetsAccessLevel String
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippetsEnabled Boolean
    Enable snippets for the project.
    squashCommitTemplate String
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    squashOption String
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    suggestionCommitMessage String
    The commit message used to apply merge request suggestions.
    tags List<String>
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    templateName 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.
    templateProjectId Number
    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. See gitlab.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.
    useCustomTemplate Boolean
    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.
    visibilityLevel String
    Set to public to create a public project. Valid values are private, internal, public.
    wikiAccessLevel String
    Set the wiki access level. Valid values are disabled, private, enabled.
    wikiEnabled 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:

    AvatarUrl string
    The URL of the avatar image.
    EmptyRepo bool
    Whether the project is empty.
    HttpUrlToRepo string
    URL that can be provided to git clone to clone the
    Id string
    The provider-assigned unique ID for this managed resource.
    PathWithNamespace string
    The path of the repository with namespace.
    RunnersToken string
    Registration token to use during runner setup.
    SshUrlToRepo string
    URL that can be provided to git clone to clone the
    WebUrl string
    URL that can be used to find the project in a browser.
    AvatarUrl string
    The URL of the avatar image.
    EmptyRepo bool
    Whether the project is empty.
    HttpUrlToRepo string
    URL that can be provided to git clone to clone the
    Id string
    The provider-assigned unique ID for this managed resource.
    PathWithNamespace string
    The path of the repository with namespace.
    RunnersToken string
    Registration token to use during runner setup.
    SshUrlToRepo string
    URL that can be provided to git clone to clone the
    WebUrl string
    URL that can be used to find the project in a browser.
    avatarUrl String
    The URL of the avatar image.
    emptyRepo Boolean
    Whether the project is empty.
    httpUrlToRepo String
    URL that can be provided to git clone to clone the
    id String
    The provider-assigned unique ID for this managed resource.
    pathWithNamespace String
    The path of the repository with namespace.
    runnersToken String
    Registration token to use during runner setup.
    sshUrlToRepo String
    URL that can be provided to git clone to clone the
    webUrl String
    URL that can be used to find the project in a browser.
    avatarUrl string
    The URL of the avatar image.
    emptyRepo boolean
    Whether the project is empty.
    httpUrlToRepo string
    URL that can be provided to git clone to clone the
    id string
    The provider-assigned unique ID for this managed resource.
    pathWithNamespace string
    The path of the repository with namespace.
    runnersToken string
    Registration token to use during runner setup.
    sshUrlToRepo string
    URL that can be provided to git clone to clone the
    webUrl 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_to_repo str
    URL that can be provided to git clone to clone the
    id str
    The provider-assigned unique ID for this managed resource.
    path_with_namespace str
    The path of the repository with namespace.
    runners_token str
    Registration token to use during runner setup.
    ssh_url_to_repo str
    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.
    avatarUrl String
    The URL of the avatar image.
    emptyRepo Boolean
    Whether the project is empty.
    httpUrlToRepo String
    URL that can be provided to git clone to clone the
    id String
    The provider-assigned unique ID for this managed resource.
    pathWithNamespace String
    The path of the repository with namespace.
    runnersToken String
    Registration token to use during runner setup.
    sshUrlToRepo String
    URL that can be provided to git clone to clone the
    webUrl 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_disabled: 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.
    The following state arguments are supported:
    AllowMergeOnSkippedPipeline bool
    Set to true if you want to treat skipped pipelines as if they finished with success.
    AnalyticsAccessLevel string
    Set the analytics access level. Valid values are disabled, private, enabled.
    ApprovalsBeforeMerge int
    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 use gitlab.ProjectApprovalRule instead.
    ArchiveOnDestroy bool
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    Archived bool
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    AutoCancelPendingPipelines string
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    AutoDevopsDeployStrategy string
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    AutoDevopsEnabled bool
    Enable Auto DevOps for this project.
    AutocloseReferencedIssues bool
    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.
    AvatarHash 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.
    AvatarUrl string
    The URL of the avatar image.
    BuildCoverageRegex string
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    BuildGitStrategy string
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    BuildTimeout int
    The maximum amount of time, in seconds, that a job can run.
    BuildsAccessLevel string
    Set the builds access level. Valid values are disabled, private, enabled.
    CiConfigPath string
    Custom Path to CI config file.
    CiDefaultGitDepth int
    Default number of revisions for shallow cloning.
    CiForwardDeploymentEnabled bool
    When a new deployment job starts, skip older deployment jobs that are still pending.
    CiRestrictPipelineCancellationRole string
    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
    CiSeparatedCaches bool
    Use separate caches for protected branches.
    ContainerExpirationPolicy Pulumi.GitLab.Inputs.ProjectContainerExpirationPolicy
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    ContainerRegistryAccessLevel string
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    ContainerRegistryEnabled bool
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    DefaultBranch string
    The default branch for the project.
    Description string
    A description of the project.
    EmailsDisabled bool
    Disable email notifications.
    EmptyRepo bool
    Whether the project is empty.
    EnvironmentsAccessLevel string
    Set the environments access level. Valid values are disabled, private, enabled.
    ExternalAuthorizationClassificationLabel string
    The classification label for the project.
    FeatureFlagsAccessLevel string
    Set the feature flags access level. Valid values are disabled, private, enabled.
    ForkedFromProjectId int
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    ForkingAccessLevel string
    Set the forking access level. Valid values are disabled, private, enabled.
    GroupRunnersEnabled bool
    Enable group runners for this project.
    GroupWithProjectTemplatesId int
    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).
    HttpUrlToRepo string
    URL that can be provided to git clone to clone the
    ImportUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlPassword string
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlUsername string
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    InfrastructureAccessLevel string
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    InitializeWithReadme bool
    Create main branch with first commit containing a README.md file.
    IssuesAccessLevel string
    Set the issues access level. Valid values are disabled, private, enabled.
    IssuesEnabled bool
    Enable issue tracking for the project.
    IssuesTemplate string
    Sets the template for new issues in the project.
    KeepLatestArtifact bool
    Disable or enable the ability to keep the latest artifact for this project.
    LfsEnabled bool
    Enable LFS for the project.
    MergeCommitTemplate string
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    MergeMethod string
    Set the merge method. Valid values are merge, rebase_merge, ff.
    MergePipelinesEnabled bool
    Enable or disable merge pipelines.
    MergeRequestsAccessLevel string
    Set the merge requests access level. Valid values are disabled, private, enabled.
    MergeRequestsEnabled bool
    Enable merge requests for the project.
    MergeRequestsTemplate string
    Sets the template for new merge requests in the project.
    MergeTrainsEnabled bool
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    Mirror bool
    Enable project pull mirror.
    MirrorOverwritesDivergedBranches bool
    Enable overwrite diverged branches for a mirrored project.
    MirrorTriggerBuilds bool
    Enable trigger builds on pushes for a mirrored project.
    MonitorAccessLevel string
    Set the monitor access level. Valid values are disabled, private, enabled.
    MrDefaultTargetSelf bool
    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.
    NamespaceId int
    The namespace (group or user) of the project. Defaults to your user.
    OnlyAllowMergeIfAllDiscussionsAreResolved bool
    Set to true if you want allow merges only if all discussions are resolved.
    OnlyAllowMergeIfPipelineSucceeds bool
    Set to true if you want allow merges only if a pipeline succeeds.
    OnlyMirrorProtectedBranches bool
    Enable only mirror protected branches for a mirrored project.
    PackagesEnabled bool
    Enable packages repository for the project.
    PagesAccessLevel string
    Enable pages access control. Valid values are public, private, enabled, disabled.
    Path string
    The path of the repository.
    PathWithNamespace string
    The path of the repository with namespace.
    PipelinesEnabled bool
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    PrintingMergeRequestLinkEnabled bool
    Show link to create/view merge request when pushing from the command line
    PublicBuilds bool
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    PublicJobs bool
    If true, jobs can be viewed by non-project members.
    PushRules Pulumi.GitLab.Inputs.ProjectPushRules
    Push rules for the project.
    ReleasesAccessLevel string
    Set the releases access level. Valid values are disabled, private, enabled.
    RemoveSourceBranchAfterMerge bool
    Enable Delete source branch option by default for all new merge requests.
    RepositoryAccessLevel string
    Set the repository access level. Valid values are disabled, private, enabled.
    RepositoryStorage string
    Which storage shard the repository is on. (administrator only)
    RequestAccessEnabled bool
    Allow users to request member access.
    RequirementsAccessLevel string
    Set the requirements access level. Valid values are disabled, private, enabled.
    ResolveOutdatedDiffDiscussions bool
    Automatically resolve merge request diffs discussions on lines changed with a push.
    RestrictUserDefinedVariables bool
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    RunnersToken string
    Registration token to use during runner setup.
    SecurityAndComplianceAccessLevel string
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    SharedRunnersEnabled bool
    Enable shared runners for this project.
    SkipWaitForDefaultBranchProtection bool
    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.
    SnippetsAccessLevel string
    Set the snippets access level. Valid values are disabled, private, enabled.
    SnippetsEnabled bool
    Enable snippets for the project.
    SquashCommitTemplate string
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    SquashOption string
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    SshUrlToRepo string
    URL that can be provided to git clone to clone the
    SuggestionCommitMessage string
    The commit message used to apply merge request suggestions.
    Tags List<string>
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    TemplateName 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.
    TemplateProjectId int
    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. See gitlab.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.
    UseCustomTemplate bool
    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.
    VisibilityLevel string
    Set to public to create a public project. Valid values are private, internal, public.
    WebUrl string
    URL that can be used to find the project in a browser.
    WikiAccessLevel string
    Set the wiki access level. Valid values are disabled, private, enabled.
    WikiEnabled bool
    Enable wiki for the project.
    AllowMergeOnSkippedPipeline bool
    Set to true if you want to treat skipped pipelines as if they finished with success.
    AnalyticsAccessLevel string
    Set the analytics access level. Valid values are disabled, private, enabled.
    ApprovalsBeforeMerge int
    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 use gitlab.ProjectApprovalRule instead.
    ArchiveOnDestroy bool
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    Archived bool
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    AutoCancelPendingPipelines string
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    AutoDevopsDeployStrategy string
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    AutoDevopsEnabled bool
    Enable Auto DevOps for this project.
    AutocloseReferencedIssues bool
    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.
    AvatarHash 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.
    AvatarUrl string
    The URL of the avatar image.
    BuildCoverageRegex string
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    BuildGitStrategy string
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    BuildTimeout int
    The maximum amount of time, in seconds, that a job can run.
    BuildsAccessLevel string
    Set the builds access level. Valid values are disabled, private, enabled.
    CiConfigPath string
    Custom Path to CI config file.
    CiDefaultGitDepth int
    Default number of revisions for shallow cloning.
    CiForwardDeploymentEnabled bool
    When a new deployment job starts, skip older deployment jobs that are still pending.
    CiRestrictPipelineCancellationRole string
    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
    CiSeparatedCaches bool
    Use separate caches for protected branches.
    ContainerExpirationPolicy ProjectContainerExpirationPolicyArgs
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    ContainerRegistryAccessLevel string
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    ContainerRegistryEnabled bool
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    DefaultBranch string
    The default branch for the project.
    Description string
    A description of the project.
    EmailsDisabled bool
    Disable email notifications.
    EmptyRepo bool
    Whether the project is empty.
    EnvironmentsAccessLevel string
    Set the environments access level. Valid values are disabled, private, enabled.
    ExternalAuthorizationClassificationLabel string
    The classification label for the project.
    FeatureFlagsAccessLevel string
    Set the feature flags access level. Valid values are disabled, private, enabled.
    ForkedFromProjectId int
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    ForkingAccessLevel string
    Set the forking access level. Valid values are disabled, private, enabled.
    GroupRunnersEnabled bool
    Enable group runners for this project.
    GroupWithProjectTemplatesId int
    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).
    HttpUrlToRepo string
    URL that can be provided to git clone to clone the
    ImportUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlPassword string
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    ImportUrlUsername string
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    InfrastructureAccessLevel string
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    InitializeWithReadme bool
    Create main branch with first commit containing a README.md file.
    IssuesAccessLevel string
    Set the issues access level. Valid values are disabled, private, enabled.
    IssuesEnabled bool
    Enable issue tracking for the project.
    IssuesTemplate string
    Sets the template for new issues in the project.
    KeepLatestArtifact bool
    Disable or enable the ability to keep the latest artifact for this project.
    LfsEnabled bool
    Enable LFS for the project.
    MergeCommitTemplate string
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    MergeMethod string
    Set the merge method. Valid values are merge, rebase_merge, ff.
    MergePipelinesEnabled bool
    Enable or disable merge pipelines.
    MergeRequestsAccessLevel string
    Set the merge requests access level. Valid values are disabled, private, enabled.
    MergeRequestsEnabled bool
    Enable merge requests for the project.
    MergeRequestsTemplate string
    Sets the template for new merge requests in the project.
    MergeTrainsEnabled bool
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    Mirror bool
    Enable project pull mirror.
    MirrorOverwritesDivergedBranches bool
    Enable overwrite diverged branches for a mirrored project.
    MirrorTriggerBuilds bool
    Enable trigger builds on pushes for a mirrored project.
    MonitorAccessLevel string
    Set the monitor access level. Valid values are disabled, private, enabled.
    MrDefaultTargetSelf bool
    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.
    NamespaceId int
    The namespace (group or user) of the project. Defaults to your user.
    OnlyAllowMergeIfAllDiscussionsAreResolved bool
    Set to true if you want allow merges only if all discussions are resolved.
    OnlyAllowMergeIfPipelineSucceeds bool
    Set to true if you want allow merges only if a pipeline succeeds.
    OnlyMirrorProtectedBranches bool
    Enable only mirror protected branches for a mirrored project.
    PackagesEnabled bool
    Enable packages repository for the project.
    PagesAccessLevel string
    Enable pages access control. Valid values are public, private, enabled, disabled.
    Path string
    The path of the repository.
    PathWithNamespace string
    The path of the repository with namespace.
    PipelinesEnabled bool
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    PrintingMergeRequestLinkEnabled bool
    Show link to create/view merge request when pushing from the command line
    PublicBuilds bool
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    PublicJobs bool
    If true, jobs can be viewed by non-project members.
    PushRules ProjectPushRulesArgs
    Push rules for the project.
    ReleasesAccessLevel string
    Set the releases access level. Valid values are disabled, private, enabled.
    RemoveSourceBranchAfterMerge bool
    Enable Delete source branch option by default for all new merge requests.
    RepositoryAccessLevel string
    Set the repository access level. Valid values are disabled, private, enabled.
    RepositoryStorage string
    Which storage shard the repository is on. (administrator only)
    RequestAccessEnabled bool
    Allow users to request member access.
    RequirementsAccessLevel string
    Set the requirements access level. Valid values are disabled, private, enabled.
    ResolveOutdatedDiffDiscussions bool
    Automatically resolve merge request diffs discussions on lines changed with a push.
    RestrictUserDefinedVariables bool
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    RunnersToken string
    Registration token to use during runner setup.
    SecurityAndComplianceAccessLevel string
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    SharedRunnersEnabled bool
    Enable shared runners for this project.
    SkipWaitForDefaultBranchProtection bool
    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.
    SnippetsAccessLevel string
    Set the snippets access level. Valid values are disabled, private, enabled.
    SnippetsEnabled bool
    Enable snippets for the project.
    SquashCommitTemplate string
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    SquashOption string
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    SshUrlToRepo string
    URL that can be provided to git clone to clone the
    SuggestionCommitMessage string
    The commit message used to apply merge request suggestions.
    Tags []string
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    TemplateName 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.
    TemplateProjectId int
    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. See gitlab.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.
    UseCustomTemplate bool
    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.
    VisibilityLevel string
    Set to public to create a public project. Valid values are private, internal, public.
    WebUrl string
    URL that can be used to find the project in a browser.
    WikiAccessLevel string
    Set the wiki access level. Valid values are disabled, private, enabled.
    WikiEnabled bool
    Enable wiki for the project.
    allowMergeOnSkippedPipeline Boolean
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analyticsAccessLevel String
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvalsBeforeMerge Integer
    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 use gitlab.ProjectApprovalRule instead.
    archiveOnDestroy Boolean
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived Boolean
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    autoCancelPendingPipelines String
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    autoDevopsDeployStrategy String
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    autoDevopsEnabled Boolean
    Enable Auto DevOps for this project.
    autocloseReferencedIssues Boolean
    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.
    avatarHash 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.
    avatarUrl String
    The URL of the avatar image.
    buildCoverageRegex String
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    buildGitStrategy String
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    buildTimeout Integer
    The maximum amount of time, in seconds, that a job can run.
    buildsAccessLevel String
    Set the builds access level. Valid values are disabled, private, enabled.
    ciConfigPath String
    Custom Path to CI config file.
    ciDefaultGitDepth Integer
    Default number of revisions for shallow cloning.
    ciForwardDeploymentEnabled Boolean
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ciRestrictPipelineCancellationRole String
    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
    ciSeparatedCaches Boolean
    Use separate caches for protected branches.
    containerExpirationPolicy ProjectContainerExpirationPolicy
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    containerRegistryAccessLevel String
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    containerRegistryEnabled Boolean
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    defaultBranch String
    The default branch for the project.
    description String
    A description of the project.
    emailsDisabled Boolean
    Disable email notifications.
    emptyRepo Boolean
    Whether the project is empty.
    environmentsAccessLevel String
    Set the environments access level. Valid values are disabled, private, enabled.
    externalAuthorizationClassificationLabel String
    The classification label for the project.
    featureFlagsAccessLevel String
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forkedFromProjectId Integer
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forkingAccessLevel String
    Set the forking access level. Valid values are disabled, private, enabled.
    groupRunnersEnabled Boolean
    Enable group runners for this project.
    groupWithProjectTemplatesId Integer
    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).
    httpUrlToRepo String
    URL that can be provided to git clone to clone the
    importUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    importUrlPassword String
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    importUrlUsername String
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructureAccessLevel String
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initializeWithReadme Boolean
    Create main branch with first commit containing a README.md file.
    issuesAccessLevel String
    Set the issues access level. Valid values are disabled, private, enabled.
    issuesEnabled Boolean
    Enable issue tracking for the project.
    issuesTemplate String
    Sets the template for new issues in the project.
    keepLatestArtifact Boolean
    Disable or enable the ability to keep the latest artifact for this project.
    lfsEnabled Boolean
    Enable LFS for the project.
    mergeCommitTemplate String
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    mergeMethod String
    Set the merge method. Valid values are merge, rebase_merge, ff.
    mergePipelinesEnabled Boolean
    Enable or disable merge pipelines.
    mergeRequestsAccessLevel String
    Set the merge requests access level. Valid values are disabled, private, enabled.
    mergeRequestsEnabled Boolean
    Enable merge requests for the project.
    mergeRequestsTemplate String
    Sets the template for new merge requests in the project.
    mergeTrainsEnabled Boolean
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror Boolean
    Enable project pull mirror.
    mirrorOverwritesDivergedBranches Boolean
    Enable overwrite diverged branches for a mirrored project.
    mirrorTriggerBuilds Boolean
    Enable trigger builds on pushes for a mirrored project.
    monitorAccessLevel String
    Set the monitor access level. Valid values are disabled, private, enabled.
    mrDefaultTargetSelf Boolean
    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.
    namespaceId Integer
    The namespace (group or user) of the project. Defaults to your user.
    onlyAllowMergeIfAllDiscussionsAreResolved Boolean
    Set to true if you want allow merges only if all discussions are resolved.
    onlyAllowMergeIfPipelineSucceeds Boolean
    Set to true if you want allow merges only if a pipeline succeeds.
    onlyMirrorProtectedBranches Boolean
    Enable only mirror protected branches for a mirrored project.
    packagesEnabled Boolean
    Enable packages repository for the project.
    pagesAccessLevel String
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path String
    The path of the repository.
    pathWithNamespace String
    The path of the repository with namespace.
    pipelinesEnabled Boolean
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printingMergeRequestLinkEnabled Boolean
    Show link to create/view merge request when pushing from the command line
    publicBuilds Boolean
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    publicJobs Boolean
    If true, jobs can be viewed by non-project members.
    pushRules ProjectPushRules
    Push rules for the project.
    releasesAccessLevel String
    Set the releases access level. Valid values are disabled, private, enabled.
    removeSourceBranchAfterMerge Boolean
    Enable Delete source branch option by default for all new merge requests.
    repositoryAccessLevel String
    Set the repository access level. Valid values are disabled, private, enabled.
    repositoryStorage String
    Which storage shard the repository is on. (administrator only)
    requestAccessEnabled Boolean
    Allow users to request member access.
    requirementsAccessLevel String
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolveOutdatedDiffDiscussions Boolean
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrictUserDefinedVariables Boolean
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    runnersToken String
    Registration token to use during runner setup.
    securityAndComplianceAccessLevel String
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    sharedRunnersEnabled Boolean
    Enable shared runners for this project.
    skipWaitForDefaultBranchProtection Boolean
    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.
    snippetsAccessLevel String
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippetsEnabled Boolean
    Enable snippets for the project.
    squashCommitTemplate String
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    squashOption String
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    sshUrlToRepo String
    URL that can be provided to git clone to clone the
    suggestionCommitMessage String
    The commit message used to apply merge request suggestions.
    tags List<String>
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    templateName 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.
    templateProjectId Integer
    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. See gitlab.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.
    useCustomTemplate Boolean
    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.
    visibilityLevel String
    Set to public to create a public project. Valid values are private, internal, public.
    webUrl String
    URL that can be used to find the project in a browser.
    wikiAccessLevel String
    Set the wiki access level. Valid values are disabled, private, enabled.
    wikiEnabled Boolean
    Enable wiki for the project.
    allowMergeOnSkippedPipeline boolean
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analyticsAccessLevel string
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvalsBeforeMerge number
    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 use gitlab.ProjectApprovalRule instead.
    archiveOnDestroy boolean
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived boolean
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    autoCancelPendingPipelines string
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    autoDevopsDeployStrategy string
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    autoDevopsEnabled boolean
    Enable Auto DevOps for this project.
    autocloseReferencedIssues boolean
    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.
    avatarHash 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.
    avatarUrl string
    The URL of the avatar image.
    buildCoverageRegex string
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    buildGitStrategy string
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    buildTimeout number
    The maximum amount of time, in seconds, that a job can run.
    buildsAccessLevel string
    Set the builds access level. Valid values are disabled, private, enabled.
    ciConfigPath string
    Custom Path to CI config file.
    ciDefaultGitDepth number
    Default number of revisions for shallow cloning.
    ciForwardDeploymentEnabled boolean
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ciRestrictPipelineCancellationRole string
    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
    ciSeparatedCaches boolean
    Use separate caches for protected branches.
    containerExpirationPolicy ProjectContainerExpirationPolicy
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    containerRegistryAccessLevel string
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    containerRegistryEnabled boolean
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    defaultBranch string
    The default branch for the project.
    description string
    A description of the project.
    emailsDisabled boolean
    Disable email notifications.
    emptyRepo boolean
    Whether the project is empty.
    environmentsAccessLevel string
    Set the environments access level. Valid values are disabled, private, enabled.
    externalAuthorizationClassificationLabel string
    The classification label for the project.
    featureFlagsAccessLevel string
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forkedFromProjectId number
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forkingAccessLevel string
    Set the forking access level. Valid values are disabled, private, enabled.
    groupRunnersEnabled boolean
    Enable group runners for this project.
    groupWithProjectTemplatesId number
    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).
    httpUrlToRepo string
    URL that can be provided to git clone to clone the
    importUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    importUrlPassword string
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    importUrlUsername string
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructureAccessLevel string
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initializeWithReadme boolean
    Create main branch with first commit containing a README.md file.
    issuesAccessLevel string
    Set the issues access level. Valid values are disabled, private, enabled.
    issuesEnabled boolean
    Enable issue tracking for the project.
    issuesTemplate string
    Sets the template for new issues in the project.
    keepLatestArtifact boolean
    Disable or enable the ability to keep the latest artifact for this project.
    lfsEnabled boolean
    Enable LFS for the project.
    mergeCommitTemplate string
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    mergeMethod string
    Set the merge method. Valid values are merge, rebase_merge, ff.
    mergePipelinesEnabled boolean
    Enable or disable merge pipelines.
    mergeRequestsAccessLevel string
    Set the merge requests access level. Valid values are disabled, private, enabled.
    mergeRequestsEnabled boolean
    Enable merge requests for the project.
    mergeRequestsTemplate string
    Sets the template for new merge requests in the project.
    mergeTrainsEnabled boolean
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror boolean
    Enable project pull mirror.
    mirrorOverwritesDivergedBranches boolean
    Enable overwrite diverged branches for a mirrored project.
    mirrorTriggerBuilds boolean
    Enable trigger builds on pushes for a mirrored project.
    monitorAccessLevel string
    Set the monitor access level. Valid values are disabled, private, enabled.
    mrDefaultTargetSelf boolean
    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.
    namespaceId number
    The namespace (group or user) of the project. Defaults to your user.
    onlyAllowMergeIfAllDiscussionsAreResolved boolean
    Set to true if you want allow merges only if all discussions are resolved.
    onlyAllowMergeIfPipelineSucceeds boolean
    Set to true if you want allow merges only if a pipeline succeeds.
    onlyMirrorProtectedBranches boolean
    Enable only mirror protected branches for a mirrored project.
    packagesEnabled boolean
    Enable packages repository for the project.
    pagesAccessLevel string
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path string
    The path of the repository.
    pathWithNamespace string
    The path of the repository with namespace.
    pipelinesEnabled boolean
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printingMergeRequestLinkEnabled boolean
    Show link to create/view merge request when pushing from the command line
    publicBuilds boolean
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    publicJobs boolean
    If true, jobs can be viewed by non-project members.
    pushRules ProjectPushRules
    Push rules for the project.
    releasesAccessLevel string
    Set the releases access level. Valid values are disabled, private, enabled.
    removeSourceBranchAfterMerge boolean
    Enable Delete source branch option by default for all new merge requests.
    repositoryAccessLevel string
    Set the repository access level. Valid values are disabled, private, enabled.
    repositoryStorage string
    Which storage shard the repository is on. (administrator only)
    requestAccessEnabled boolean
    Allow users to request member access.
    requirementsAccessLevel string
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolveOutdatedDiffDiscussions boolean
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrictUserDefinedVariables boolean
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    runnersToken string
    Registration token to use during runner setup.
    securityAndComplianceAccessLevel string
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    sharedRunnersEnabled boolean
    Enable shared runners for this project.
    skipWaitForDefaultBranchProtection boolean
    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.
    snippetsAccessLevel string
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippetsEnabled boolean
    Enable snippets for the project.
    squashCommitTemplate string
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    squashOption string
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    sshUrlToRepo string
    URL that can be provided to git clone to clone the
    suggestionCommitMessage string
    The commit message used to apply merge request suggestions.
    tags string[]
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    templateName 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.
    templateProjectId number
    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. See gitlab.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.
    useCustomTemplate boolean
    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.
    visibilityLevel string
    Set to public to create a public project. Valid values are private, internal, public.
    webUrl string
    URL that can be used to find the project in a browser.
    wikiAccessLevel string
    Set the wiki access level. Valid values are disabled, private, enabled.
    wikiEnabled boolean
    Enable wiki for the project.
    allow_merge_on_skipped_pipeline bool
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analytics_access_level str
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvals_before_merge int
    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 use gitlab.ProjectApprovalRule instead.
    archive_on_destroy bool
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived bool
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    auto_cancel_pending_pipelines str
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    auto_devops_deploy_strategy str
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    auto_devops_enabled bool
    Enable Auto DevOps for this project.
    autoclose_referenced_issues bool
    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_regex str
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    build_git_strategy str
    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_level str
    Set the builds access level. Valid values are disabled, private, enabled.
    ci_config_path str
    Custom Path to CI config file.
    ci_default_git_depth int
    Default number of revisions for shallow cloning.
    ci_forward_deployment_enabled bool
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ci_restrict_pipeline_cancellation_role str
    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_caches bool
    Use separate caches for protected branches.
    container_expiration_policy ProjectContainerExpirationPolicyArgs
    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_access_level str
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    container_registry_enabled bool
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    default_branch str
    The default branch for the project.
    description str
    A description of the project.
    emails_disabled bool
    Disable email notifications.
    empty_repo bool
    Whether the project is empty.
    environments_access_level str
    Set the environments access level. Valid values are disabled, private, enabled.
    external_authorization_classification_label str
    The classification label for the project.
    feature_flags_access_level str
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forked_from_project_id int
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forking_access_level str
    Set the forking access level. Valid values are disabled, private, enabled.
    group_runners_enabled bool
    Enable group runners for this project.
    group_with_project_templates_id int
    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_to_repo str
    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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    import_url_password str
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    import_url_username str
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructure_access_level str
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initialize_with_readme bool
    Create main branch with first commit containing a README.md file.
    issues_access_level str
    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_artifact bool
    Disable or enable the ability to keep the latest artifact for this project.
    lfs_enabled bool
    Enable LFS for the project.
    merge_commit_template str
    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_enabled bool
    Enable or disable merge pipelines.
    merge_requests_access_level str
    Set the merge requests access level. Valid values are disabled, private, enabled.
    merge_requests_enabled bool
    Enable merge requests for the project.
    merge_requests_template str
    Sets the template for new merge requests in the project.
    merge_trains_enabled bool
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror bool
    Enable project pull mirror.
    mirror_overwrites_diverged_branches bool
    Enable overwrite diverged branches for a mirrored project.
    mirror_trigger_builds bool
    Enable trigger builds on pushes for a mirrored project.
    monitor_access_level str
    Set the monitor access level. Valid values are disabled, private, enabled.
    mr_default_target_self bool
    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_merge_if_all_discussions_are_resolved bool
    Set to true if you want allow merges only if all discussions are resolved.
    only_allow_merge_if_pipeline_succeeds bool
    Set to true if you want allow merges only if a pipeline succeeds.
    only_mirror_protected_branches bool
    Enable only mirror protected branches for a mirrored project.
    packages_enabled bool
    Enable packages repository for the project.
    pages_access_level str
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path str
    The path of the repository.
    path_with_namespace str
    The path of the repository with namespace.
    pipelines_enabled bool
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printing_merge_request_link_enabled bool
    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.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    public_jobs bool
    If true, jobs can be viewed by non-project members.
    push_rules ProjectPushRulesArgs
    Push rules for the project.
    releases_access_level str
    Set the releases access level. Valid values are disabled, private, enabled.
    remove_source_branch_after_merge bool
    Enable Delete source branch option by default for all new merge requests.
    repository_access_level str
    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_enabled bool
    Allow users to request member access.
    requirements_access_level str
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolve_outdated_diff_discussions bool
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrict_user_defined_variables bool
    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_compliance_access_level str
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    shared_runners_enabled bool
    Enable shared runners for this project.
    skip_wait_for_default_branch_protection bool
    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_level str
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippets_enabled bool
    Enable snippets for the project.
    squash_commit_template str
    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, or default_off. The default value is default_off. [GitLab >= 14.1]
    ssh_url_to_repo str
    URL that can be provided to git clone to clone the
    suggestion_commit_message str
    The commit message used to apply merge request suggestions.
    tags 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_id int
    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. See gitlab.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_template bool
    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 are private, internal, public.
    web_url str
    URL that can be used to find the project in a browser.
    wiki_access_level str
    Set the wiki access level. Valid values are disabled, private, enabled.
    wiki_enabled bool
    Enable wiki for the project.
    allowMergeOnSkippedPipeline Boolean
    Set to true if you want to treat skipped pipelines as if they finished with success.
    analyticsAccessLevel String
    Set the analytics access level. Valid values are disabled, private, enabled.
    approvalsBeforeMerge Number
    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 use gitlab.ProjectApprovalRule instead.
    archiveOnDestroy Boolean
    Set to true to archive the project instead of deleting on destroy. If set to true it will entire omit the DELETE operation.
    archived Boolean
    Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
    autoCancelPendingPipelines String
    Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
    autoDevopsDeployStrategy String
    Auto Deploy strategy. Valid values are continuous, manual, timed_incremental.
    autoDevopsEnabled Boolean
    Enable Auto DevOps for this project.
    autocloseReferencedIssues Boolean
    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.
    avatarHash 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.
    avatarUrl String
    The URL of the avatar image.
    buildCoverageRegex String
    Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.

    Deprecated:build_coverage_regex is removed in GitLab 15.0.

    buildGitStrategy String
    The Git strategy. Defaults to fetch. Valid values are clone, fetch.
    buildTimeout Number
    The maximum amount of time, in seconds, that a job can run.
    buildsAccessLevel String
    Set the builds access level. Valid values are disabled, private, enabled.
    ciConfigPath String
    Custom Path to CI config file.
    ciDefaultGitDepth Number
    Default number of revisions for shallow cloning.
    ciForwardDeploymentEnabled Boolean
    When a new deployment job starts, skip older deployment jobs that are still pending.
    ciRestrictPipelineCancellationRole String
    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
    ciSeparatedCaches Boolean
    Use separate caches for protected branches.
    containerExpirationPolicy Property Map
    Set the image cleanup policy for this project. Note: this field is sometimes named container_expiration_policy_attributes in the GitLab Upstream API.
    containerRegistryAccessLevel String
    Set visibility of container registry, for this project. Valid values are disabled, private, enabled.
    containerRegistryEnabled Boolean
    Enable container registry for the project.

    Deprecated:Use container_registry_access_level instead.

    defaultBranch String
    The default branch for the project.
    description String
    A description of the project.
    emailsDisabled Boolean
    Disable email notifications.
    emptyRepo Boolean
    Whether the project is empty.
    environmentsAccessLevel String
    Set the environments access level. Valid values are disabled, private, enabled.
    externalAuthorizationClassificationLabel String
    The classification label for the project.
    featureFlagsAccessLevel String
    Set the feature flags access level. Valid values are disabled, private, enabled.
    forkedFromProjectId Number
    The id of the project to fork. During create the project is forked and during an update the fork relation is changed.
    forkingAccessLevel String
    Set the forking access level. Valid values are disabled, private, enabled.
    groupRunnersEnabled Boolean
    Enable group runners for this project.
    groupWithProjectTemplatesId Number
    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).
    httpUrlToRepo String
    URL that can be provided to git clone to clone the
    importUrl 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 with forked_from_project_id to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in import_url_username and import_url_password. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using pulumi import. See the examples section for how to properly use it.
    importUrlPassword String
    The password for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    importUrlUsername String
    The username for the import_url. The value of this field is used to construct a valid import_url and is only related to the provider. This field cannot be imported using pulumi import. See the examples section for how to properly use it.
    infrastructureAccessLevel String
    Set the infrastructure access level. Valid values are disabled, private, enabled.
    initializeWithReadme Boolean
    Create main branch with first commit containing a README.md file.
    issuesAccessLevel String
    Set the issues access level. Valid values are disabled, private, enabled.
    issuesEnabled Boolean
    Enable issue tracking for the project.
    issuesTemplate String
    Sets the template for new issues in the project.
    keepLatestArtifact Boolean
    Disable or enable the ability to keep the latest artifact for this project.
    lfsEnabled Boolean
    Enable LFS for the project.
    mergeCommitTemplate String
    Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
    mergeMethod String
    Set the merge method. Valid values are merge, rebase_merge, ff.
    mergePipelinesEnabled Boolean
    Enable or disable merge pipelines.
    mergeRequestsAccessLevel String
    Set the merge requests access level. Valid values are disabled, private, enabled.
    mergeRequestsEnabled Boolean
    Enable merge requests for the project.
    mergeRequestsTemplate String
    Sets the template for new merge requests in the project.
    mergeTrainsEnabled Boolean
    Enable or disable merge trains. Requires merge_pipelines_enabled to be set to true to take effect.
    mirror Boolean
    Enable project pull mirror.
    mirrorOverwritesDivergedBranches Boolean
    Enable overwrite diverged branches for a mirrored project.
    mirrorTriggerBuilds Boolean
    Enable trigger builds on pushes for a mirrored project.
    monitorAccessLevel String
    Set the monitor access level. Valid values are disabled, private, enabled.
    mrDefaultTargetSelf Boolean
    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.
    namespaceId Number
    The namespace (group or user) of the project. Defaults to your user.
    onlyAllowMergeIfAllDiscussionsAreResolved Boolean
    Set to true if you want allow merges only if all discussions are resolved.
    onlyAllowMergeIfPipelineSucceeds Boolean
    Set to true if you want allow merges only if a pipeline succeeds.
    onlyMirrorProtectedBranches Boolean
    Enable only mirror protected branches for a mirrored project.
    packagesEnabled Boolean
    Enable packages repository for the project.
    pagesAccessLevel String
    Enable pages access control. Valid values are public, private, enabled, disabled.
    path String
    The path of the repository.
    pathWithNamespace String
    The path of the repository with namespace.
    pipelinesEnabled Boolean
    Enable pipelines for the project. The pipelines_enabled field is being sent as jobs_enabled in the GitLab API calls.

    Deprecated:Deprecated in favor of builds_access_level

    printingMergeRequestLinkEnabled Boolean
    Show link to create/view merge request when pushing from the command line
    publicBuilds Boolean
    If true, jobs can be viewed by non-project members.

    Deprecated:The public_builds attribute has been deprecated in favor of public_jobs and will be removed in the next major version of the provider.

    publicJobs Boolean
    If true, jobs can be viewed by non-project members.
    pushRules Property Map
    Push rules for the project.
    releasesAccessLevel String
    Set the releases access level. Valid values are disabled, private, enabled.
    removeSourceBranchAfterMerge Boolean
    Enable Delete source branch option by default for all new merge requests.
    repositoryAccessLevel String
    Set the repository access level. Valid values are disabled, private, enabled.
    repositoryStorage String
    Which storage shard the repository is on. (administrator only)
    requestAccessEnabled Boolean
    Allow users to request member access.
    requirementsAccessLevel String
    Set the requirements access level. Valid values are disabled, private, enabled.
    resolveOutdatedDiffDiscussions Boolean
    Automatically resolve merge request diffs discussions on lines changed with a push.
    restrictUserDefinedVariables Boolean
    Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
    runnersToken String
    Registration token to use during runner setup.
    securityAndComplianceAccessLevel String
    Set the security and compliance access level. Valid values are disabled, private, enabled.
    sharedRunnersEnabled Boolean
    Enable shared runners for this project.
    skipWaitForDefaultBranchProtection Boolean
    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.
    snippetsAccessLevel String
    Set the snippets access level. Valid values are disabled, private, enabled.
    snippetsEnabled Boolean
    Enable snippets for the project.
    squashCommitTemplate String
    Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
    squashOption String
    Squash commits when merge request. Valid values are never, always, default_on, or default_off. The default value is default_off. [GitLab >= 14.1]
    sshUrlToRepo String
    URL that can be provided to git clone to clone the
    suggestionCommitMessage String
    The commit message used to apply merge request suggestions.
    tags List<String>
    The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
    templateName 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.
    templateProjectId Number
    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. See gitlab.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.
    useCustomTemplate Boolean
    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.
    visibilityLevel String
    Set to public to create a public project. Valid values are private, internal, public.
    webUrl String
    URL that can be used to find the project in a browser.
    wikiAccessLevel String
    Set the wiki access level. Valid values are disabled, private, enabled.
    wikiEnabled 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.
    KeepN int
    The number of images to keep.
    NameRegex string
    The regular expression to match image names to delete.

    Deprecated:name_regex has been deprecated. Use name_regex_delete instead.

    NameRegexDelete string
    The regular expression to match image names to delete.
    NameRegexKeep string
    The regular expression to match image names to keep.
    NextRunAt string
    The next time the policy will run.
    OlderThan 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.
    KeepN int
    The number of images to keep.
    NameRegex string
    The regular expression to match image names to delete.

    Deprecated:name_regex has been deprecated. Use name_regex_delete instead.

    NameRegexDelete string
    The regular expression to match image names to delete.
    NameRegexKeep string
    The regular expression to match image names to keep.
    NextRunAt string
    The next time the policy will run.
    OlderThan 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.
    keepN Integer
    The number of images to keep.
    nameRegex String
    The regular expression to match image names to delete.

    Deprecated:name_regex has been deprecated. Use name_regex_delete instead.

    nameRegexDelete String
    The regular expression to match image names to delete.
    nameRegexKeep String
    The regular expression to match image names to keep.
    nextRunAt String
    The next time the policy will run.
    olderThan 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.
    keepN number
    The number of images to keep.
    nameRegex string
    The regular expression to match image names to delete.

    Deprecated:name_regex has been deprecated. Use name_regex_delete instead.

    nameRegexDelete string
    The regular expression to match image names to delete.
    nameRegexKeep string
    The regular expression to match image names to keep.
    nextRunAt string
    The next time the policy will run.
    olderThan 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.

    Deprecated:name_regex has been deprecated. Use name_regex_delete instead.

    name_regex_delete str
    The regular expression to match image names to delete.
    name_regex_keep str
    The regular expression to match image names to keep.
    next_run_at str
    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.
    keepN Number
    The number of images to keep.
    nameRegex String
    The regular expression to match image names to delete.

    Deprecated:name_regex has been deprecated. Use name_regex_delete instead.

    nameRegexDelete String
    The regular expression to match image names to delete.
    nameRegexKeep String
    The regular expression to match image names to keep.
    nextRunAt String
    The next time the policy will run.
    olderThan String
    The number of days to keep images.

    ProjectPushRules, ProjectPushRulesArgs

    AuthorEmailRegex string
    All commit author emails must match this regex, e.g. @my-company.com$.
    BranchNameRegex string
    All branch names must match this regex, e.g. (feature|hotfix)\/*.
    CommitCommitterCheck bool
    Users can only push commits to this repository that were committed with one of their own verified emails.
    CommitMessageNegativeRegex string
    No commit message is allowed to match this regex, for example ssh\:\/\/.
    CommitMessageRegex string
    All commit messages must match this regex, e.g. Fixed \d+\..*.
    DenyDeleteTag bool
    Deny deleting a tag.
    FileNameRegex string
    All committed filenames must not match this regex, e.g. (jar|exe)$.
    MaxFileSize int
    Maximum file size (MB).
    MemberCheck bool
    Restrict commits by author (email) to existing GitLab users.
    PreventSecrets bool
    GitLab will reject any files that are likely to contain secrets.
    RejectUnsignedCommits bool
    Reject commit when it’s not signed through GPG.
    AuthorEmailRegex string
    All commit author emails must match this regex, e.g. @my-company.com$.
    BranchNameRegex string
    All branch names must match this regex, e.g. (feature|hotfix)\/*.
    CommitCommitterCheck bool
    Users can only push commits to this repository that were committed with one of their own verified emails.
    CommitMessageNegativeRegex string
    No commit message is allowed to match this regex, for example ssh\:\/\/.
    CommitMessageRegex string
    All commit messages must match this regex, e.g. Fixed \d+\..*.
    DenyDeleteTag bool
    Deny deleting a tag.
    FileNameRegex string
    All committed filenames must not match this regex, e.g. (jar|exe)$.
    MaxFileSize int
    Maximum file size (MB).
    MemberCheck bool
    Restrict commits by author (email) to existing GitLab users.
    PreventSecrets bool
    GitLab will reject any files that are likely to contain secrets.
    RejectUnsignedCommits bool
    Reject commit when it’s not signed through GPG.
    authorEmailRegex String
    All commit author emails must match this regex, e.g. @my-company.com$.
    branchNameRegex String
    All branch names must match this regex, e.g. (feature|hotfix)\/*.
    commitCommitterCheck Boolean
    Users can only push commits to this repository that were committed with one of their own verified emails.
    commitMessageNegativeRegex String
    No commit message is allowed to match this regex, for example ssh\:\/\/.
    commitMessageRegex String
    All commit messages must match this regex, e.g. Fixed \d+\..*.
    denyDeleteTag Boolean
    Deny deleting a tag.
    fileNameRegex String
    All committed filenames must not match this regex, e.g. (jar|exe)$.
    maxFileSize Integer
    Maximum file size (MB).
    memberCheck Boolean
    Restrict commits by author (email) to existing GitLab users.
    preventSecrets Boolean
    GitLab will reject any files that are likely to contain secrets.
    rejectUnsignedCommits Boolean
    Reject commit when it’s not signed through GPG.
    authorEmailRegex string
    All commit author emails must match this regex, e.g. @my-company.com$.
    branchNameRegex string
    All branch names must match this regex, e.g. (feature|hotfix)\/*.
    commitCommitterCheck boolean
    Users can only push commits to this repository that were committed with one of their own verified emails.
    commitMessageNegativeRegex string
    No commit message is allowed to match this regex, for example ssh\:\/\/.
    commitMessageRegex string
    All commit messages must match this regex, e.g. Fixed \d+\..*.
    denyDeleteTag boolean
    Deny deleting a tag.
    fileNameRegex string
    All committed filenames must not match this regex, e.g. (jar|exe)$.
    maxFileSize number
    Maximum file size (MB).
    memberCheck boolean
    Restrict commits by author (email) to existing GitLab users.
    preventSecrets boolean
    GitLab will reject any files that are likely to contain secrets.
    rejectUnsignedCommits boolean
    Reject commit when it’s not signed through GPG.
    author_email_regex str
    All commit author emails must match this regex, e.g. @my-company.com$.
    branch_name_regex str
    All branch names must match this regex, e.g. (feature|hotfix)\/*.
    commit_committer_check bool
    Users can only push commits to this repository that were committed with one of their own verified emails.
    commit_message_negative_regex str
    No commit message is allowed to match this regex, for example ssh\:\/\/.
    commit_message_regex str
    All commit messages must match this regex, e.g. Fixed \d+\..*.
    deny_delete_tag bool
    Deny deleting a tag.
    file_name_regex str
    All committed filenames must not match this regex, e.g. (jar|exe)$.
    max_file_size int
    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_commits bool
    Reject commit when it’s not signed through GPG.
    authorEmailRegex String
    All commit author emails must match this regex, e.g. @my-company.com$.
    branchNameRegex String
    All branch names must match this regex, e.g. (feature|hotfix)\/*.
    commitCommitterCheck Boolean
    Users can only push commits to this repository that were committed with one of their own verified emails.
    commitMessageNegativeRegex String
    No commit message is allowed to match this regex, for example ssh\:\/\/.
    commitMessageRegex String
    All commit messages must match this regex, e.g. Fixed \d+\..*.
    denyDeleteTag Boolean
    Deny deleting a tag.
    fileNameRegex String
    All committed filenames must not match this regex, e.g. (jar|exe)$.
    maxFileSize Number
    Maximum file size (MB).
    memberCheck Boolean
    Restrict commits by author (email) to existing GitLab users.
    preventSecrets Boolean
    GitLab will reject any files that are likely to contain secrets.
    rejectUnsignedCommits Boolean
    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.

    Package Details

    Repository
    GitLab pulumi/pulumi-gitlab
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the gitlab Terraform Provider.
    gitlab logo
    GitLab v6.10.0 published on Monday, Mar 25, 2024 by Pulumi