1. Packages
  2. Github Provider
  3. API Docs
  4. Repository
GitHub v6.3.2 published on Friday, Oct 11, 2024 by Pulumi

github.Repository

Explore with Pulumi AI

github logo
GitHub v6.3.2 published on Friday, Oct 11, 2024 by Pulumi

    This resource allows you to create and manage repositories within your GitHub organization or personal account.

    Note When used with GitHub App authentication, even GET requests must have the contents:write permission. Without it, the following arguments will be ignored, leading to unexpected behavior and confusing diffs: allow_merge_commit, allow_squash_merge, allow_rebase_merge, merge_commit_title, merge_commit_message, squash_merge_commit_title and squash_merge_commit_message.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as github from "@pulumi/github";
    
    const example = new github.Repository("example", {
        name: "example",
        description: "My awesome codebase",
        visibility: "public",
        template: {
            owner: "github",
            repository: "terraform-template-module",
            includeAllBranches: true,
        },
    });
    
    import pulumi
    import pulumi_github as github
    
    example = github.Repository("example",
        name="example",
        description="My awesome codebase",
        visibility="public",
        template={
            "owner": "github",
            "repository": "terraform-template-module",
            "include_all_branches": True,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-github/sdk/v6/go/github"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := github.NewRepository(ctx, "example", &github.RepositoryArgs{
    			Name:        pulumi.String("example"),
    			Description: pulumi.String("My awesome codebase"),
    			Visibility:  pulumi.String("public"),
    			Template: &github.RepositoryTemplateArgs{
    				Owner:              pulumi.String("github"),
    				Repository:         pulumi.String("terraform-template-module"),
    				IncludeAllBranches: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Github = Pulumi.Github;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Github.Repository("example", new()
        {
            Name = "example",
            Description = "My awesome codebase",
            Visibility = "public",
            Template = new Github.Inputs.RepositoryTemplateArgs
            {
                Owner = "github",
                Repository = "terraform-template-module",
                IncludeAllBranches = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.github.Repository;
    import com.pulumi.github.RepositoryArgs;
    import com.pulumi.github.inputs.RepositoryTemplateArgs;
    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 Repository("example", RepositoryArgs.builder()
                .name("example")
                .description("My awesome codebase")
                .visibility("public")
                .template(RepositoryTemplateArgs.builder()
                    .owner("github")
                    .repository("terraform-template-module")
                    .includeAllBranches(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: github:Repository
        properties:
          name: example
          description: My awesome codebase
          visibility: public
          template:
            owner: github
            repository: terraform-template-module
            includeAllBranches: true
    

    With GitHub Pages Enabled

    import * as pulumi from "@pulumi/pulumi";
    import * as github from "@pulumi/github";
    
    const example = new github.Repository("example", {
        name: "example",
        description: "My awesome web page",
        "private": false,
        pages: {
            source: {
                branch: "master",
                path: "/docs",
            },
        },
    });
    
    import pulumi
    import pulumi_github as github
    
    example = github.Repository("example",
        name="example",
        description="My awesome web page",
        private=False,
        pages={
            "source": {
                "branch": "master",
                "path": "/docs",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-github/sdk/v6/go/github"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := github.NewRepository(ctx, "example", &github.RepositoryArgs{
    			Name:        pulumi.String("example"),
    			Description: pulumi.String("My awesome web page"),
    			Private:     pulumi.Bool(false),
    			Pages: &github.RepositoryPagesArgs{
    				Source: &github.RepositoryPagesSourceArgs{
    					Branch: pulumi.String("master"),
    					Path:   pulumi.String("/docs"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Github = Pulumi.Github;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Github.Repository("example", new()
        {
            Name = "example",
            Description = "My awesome web page",
            Private = false,
            Pages = new Github.Inputs.RepositoryPagesArgs
            {
                Source = new Github.Inputs.RepositoryPagesSourceArgs
                {
                    Branch = "master",
                    Path = "/docs",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.github.Repository;
    import com.pulumi.github.RepositoryArgs;
    import com.pulumi.github.inputs.RepositoryPagesArgs;
    import com.pulumi.github.inputs.RepositoryPagesSourceArgs;
    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 Repository("example", RepositoryArgs.builder()
                .name("example")
                .description("My awesome web page")
                .private_(false)
                .pages(RepositoryPagesArgs.builder()
                    .source(RepositoryPagesSourceArgs.builder()
                        .branch("master")
                        .path("/docs")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: github:Repository
        properties:
          name: example
          description: My awesome web page
          private: false
          pages:
            source:
              branch: master
              path: /docs
    

    Create Repository Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Repository(name: string, args?: RepositoryArgs, opts?: CustomResourceOptions);
    @overload
    def Repository(resource_name: str,
                   args: Optional[RepositoryArgs] = None,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Repository(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   allow_auto_merge: Optional[bool] = None,
                   allow_merge_commit: Optional[bool] = None,
                   allow_rebase_merge: Optional[bool] = None,
                   allow_squash_merge: Optional[bool] = None,
                   allow_update_branch: Optional[bool] = None,
                   archive_on_destroy: Optional[bool] = None,
                   archived: Optional[bool] = None,
                   auto_init: Optional[bool] = None,
                   default_branch: Optional[str] = None,
                   delete_branch_on_merge: Optional[bool] = None,
                   description: Optional[str] = None,
                   gitignore_template: Optional[str] = None,
                   has_discussions: Optional[bool] = None,
                   has_downloads: Optional[bool] = None,
                   has_issues: Optional[bool] = None,
                   has_projects: Optional[bool] = None,
                   has_wiki: Optional[bool] = None,
                   homepage_url: Optional[str] = None,
                   ignore_vulnerability_alerts_during_read: Optional[bool] = None,
                   is_template: Optional[bool] = None,
                   license_template: Optional[str] = None,
                   merge_commit_message: Optional[str] = None,
                   merge_commit_title: Optional[str] = None,
                   name: Optional[str] = None,
                   pages: Optional[RepositoryPagesArgs] = None,
                   private: Optional[bool] = None,
                   security_and_analysis: Optional[RepositorySecurityAndAnalysisArgs] = None,
                   squash_merge_commit_message: Optional[str] = None,
                   squash_merge_commit_title: Optional[str] = None,
                   template: Optional[RepositoryTemplateArgs] = None,
                   topics: Optional[Sequence[str]] = None,
                   visibility: Optional[str] = None,
                   vulnerability_alerts: Optional[bool] = None,
                   web_commit_signoff_required: Optional[bool] = None)
    func NewRepository(ctx *Context, name string, args *RepositoryArgs, opts ...ResourceOption) (*Repository, error)
    public Repository(string name, RepositoryArgs? args = null, CustomResourceOptions? opts = null)
    public Repository(String name, RepositoryArgs args)
    public Repository(String name, RepositoryArgs args, CustomResourceOptions options)
    
    type: github:Repository
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args RepositoryArgs
    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 RepositoryArgs
    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 RepositoryArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RepositoryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RepositoryArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var repositoryResource = new Github.Repository("repositoryResource", new()
    {
        AllowAutoMerge = false,
        AllowMergeCommit = false,
        AllowRebaseMerge = false,
        AllowSquashMerge = false,
        AllowUpdateBranch = false,
        ArchiveOnDestroy = false,
        Archived = false,
        AutoInit = false,
        DeleteBranchOnMerge = false,
        Description = "string",
        GitignoreTemplate = "string",
        HasDiscussions = false,
        HasDownloads = false,
        HasIssues = false,
        HasProjects = false,
        HasWiki = false,
        HomepageUrl = "string",
        IgnoreVulnerabilityAlertsDuringRead = false,
        IsTemplate = false,
        LicenseTemplate = "string",
        MergeCommitMessage = "string",
        MergeCommitTitle = "string",
        Name = "string",
        Pages = new Github.Inputs.RepositoryPagesArgs
        {
            BuildType = "string",
            Cname = "string",
            Custom404 = false,
            HtmlUrl = "string",
            Source = new Github.Inputs.RepositoryPagesSourceArgs
            {
                Branch = "string",
                Path = "string",
            },
            Status = "string",
            Url = "string",
        },
        SecurityAndAnalysis = new Github.Inputs.RepositorySecurityAndAnalysisArgs
        {
            AdvancedSecurity = new Github.Inputs.RepositorySecurityAndAnalysisAdvancedSecurityArgs
            {
                Status = "string",
            },
            SecretScanning = new Github.Inputs.RepositorySecurityAndAnalysisSecretScanningArgs
            {
                Status = "string",
            },
            SecretScanningPushProtection = new Github.Inputs.RepositorySecurityAndAnalysisSecretScanningPushProtectionArgs
            {
                Status = "string",
            },
        },
        SquashMergeCommitMessage = "string",
        SquashMergeCommitTitle = "string",
        Template = new Github.Inputs.RepositoryTemplateArgs
        {
            Owner = "string",
            Repository = "string",
            IncludeAllBranches = false,
        },
        Topics = new[]
        {
            "string",
        },
        Visibility = "string",
        VulnerabilityAlerts = false,
        WebCommitSignoffRequired = false,
    });
    
    example, err := github.NewRepository(ctx, "repositoryResource", &github.RepositoryArgs{
    	AllowAutoMerge:                      pulumi.Bool(false),
    	AllowMergeCommit:                    pulumi.Bool(false),
    	AllowRebaseMerge:                    pulumi.Bool(false),
    	AllowSquashMerge:                    pulumi.Bool(false),
    	AllowUpdateBranch:                   pulumi.Bool(false),
    	ArchiveOnDestroy:                    pulumi.Bool(false),
    	Archived:                            pulumi.Bool(false),
    	AutoInit:                            pulumi.Bool(false),
    	DeleteBranchOnMerge:                 pulumi.Bool(false),
    	Description:                         pulumi.String("string"),
    	GitignoreTemplate:                   pulumi.String("string"),
    	HasDiscussions:                      pulumi.Bool(false),
    	HasDownloads:                        pulumi.Bool(false),
    	HasIssues:                           pulumi.Bool(false),
    	HasProjects:                         pulumi.Bool(false),
    	HasWiki:                             pulumi.Bool(false),
    	HomepageUrl:                         pulumi.String("string"),
    	IgnoreVulnerabilityAlertsDuringRead: pulumi.Bool(false),
    	IsTemplate:                          pulumi.Bool(false),
    	LicenseTemplate:                     pulumi.String("string"),
    	MergeCommitMessage:                  pulumi.String("string"),
    	MergeCommitTitle:                    pulumi.String("string"),
    	Name:                                pulumi.String("string"),
    	Pages: &github.RepositoryPagesArgs{
    		BuildType: pulumi.String("string"),
    		Cname:     pulumi.String("string"),
    		Custom404: pulumi.Bool(false),
    		HtmlUrl:   pulumi.String("string"),
    		Source: &github.RepositoryPagesSourceArgs{
    			Branch: pulumi.String("string"),
    			Path:   pulumi.String("string"),
    		},
    		Status: pulumi.String("string"),
    		Url:    pulumi.String("string"),
    	},
    	SecurityAndAnalysis: &github.RepositorySecurityAndAnalysisArgs{
    		AdvancedSecurity: &github.RepositorySecurityAndAnalysisAdvancedSecurityArgs{
    			Status: pulumi.String("string"),
    		},
    		SecretScanning: &github.RepositorySecurityAndAnalysisSecretScanningArgs{
    			Status: pulumi.String("string"),
    		},
    		SecretScanningPushProtection: &github.RepositorySecurityAndAnalysisSecretScanningPushProtectionArgs{
    			Status: pulumi.String("string"),
    		},
    	},
    	SquashMergeCommitMessage: pulumi.String("string"),
    	SquashMergeCommitTitle:   pulumi.String("string"),
    	Template: &github.RepositoryTemplateArgs{
    		Owner:              pulumi.String("string"),
    		Repository:         pulumi.String("string"),
    		IncludeAllBranches: pulumi.Bool(false),
    	},
    	Topics: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Visibility:               pulumi.String("string"),
    	VulnerabilityAlerts:      pulumi.Bool(false),
    	WebCommitSignoffRequired: pulumi.Bool(false),
    })
    
    var repositoryResource = new Repository("repositoryResource", RepositoryArgs.builder()
        .allowAutoMerge(false)
        .allowMergeCommit(false)
        .allowRebaseMerge(false)
        .allowSquashMerge(false)
        .allowUpdateBranch(false)
        .archiveOnDestroy(false)
        .archived(false)
        .autoInit(false)
        .deleteBranchOnMerge(false)
        .description("string")
        .gitignoreTemplate("string")
        .hasDiscussions(false)
        .hasDownloads(false)
        .hasIssues(false)
        .hasProjects(false)
        .hasWiki(false)
        .homepageUrl("string")
        .ignoreVulnerabilityAlertsDuringRead(false)
        .isTemplate(false)
        .licenseTemplate("string")
        .mergeCommitMessage("string")
        .mergeCommitTitle("string")
        .name("string")
        .pages(RepositoryPagesArgs.builder()
            .buildType("string")
            .cname("string")
            .custom404(false)
            .htmlUrl("string")
            .source(RepositoryPagesSourceArgs.builder()
                .branch("string")
                .path("string")
                .build())
            .status("string")
            .url("string")
            .build())
        .securityAndAnalysis(RepositorySecurityAndAnalysisArgs.builder()
            .advancedSecurity(RepositorySecurityAndAnalysisAdvancedSecurityArgs.builder()
                .status("string")
                .build())
            .secretScanning(RepositorySecurityAndAnalysisSecretScanningArgs.builder()
                .status("string")
                .build())
            .secretScanningPushProtection(RepositorySecurityAndAnalysisSecretScanningPushProtectionArgs.builder()
                .status("string")
                .build())
            .build())
        .squashMergeCommitMessage("string")
        .squashMergeCommitTitle("string")
        .template(RepositoryTemplateArgs.builder()
            .owner("string")
            .repository("string")
            .includeAllBranches(false)
            .build())
        .topics("string")
        .visibility("string")
        .vulnerabilityAlerts(false)
        .webCommitSignoffRequired(false)
        .build());
    
    repository_resource = github.Repository("repositoryResource",
        allow_auto_merge=False,
        allow_merge_commit=False,
        allow_rebase_merge=False,
        allow_squash_merge=False,
        allow_update_branch=False,
        archive_on_destroy=False,
        archived=False,
        auto_init=False,
        delete_branch_on_merge=False,
        description="string",
        gitignore_template="string",
        has_discussions=False,
        has_downloads=False,
        has_issues=False,
        has_projects=False,
        has_wiki=False,
        homepage_url="string",
        ignore_vulnerability_alerts_during_read=False,
        is_template=False,
        license_template="string",
        merge_commit_message="string",
        merge_commit_title="string",
        name="string",
        pages={
            "build_type": "string",
            "cname": "string",
            "custom404": False,
            "html_url": "string",
            "source": {
                "branch": "string",
                "path": "string",
            },
            "status": "string",
            "url": "string",
        },
        security_and_analysis={
            "advanced_security": {
                "status": "string",
            },
            "secret_scanning": {
                "status": "string",
            },
            "secret_scanning_push_protection": {
                "status": "string",
            },
        },
        squash_merge_commit_message="string",
        squash_merge_commit_title="string",
        template={
            "owner": "string",
            "repository": "string",
            "include_all_branches": False,
        },
        topics=["string"],
        visibility="string",
        vulnerability_alerts=False,
        web_commit_signoff_required=False)
    
    const repositoryResource = new github.Repository("repositoryResource", {
        allowAutoMerge: false,
        allowMergeCommit: false,
        allowRebaseMerge: false,
        allowSquashMerge: false,
        allowUpdateBranch: false,
        archiveOnDestroy: false,
        archived: false,
        autoInit: false,
        deleteBranchOnMerge: false,
        description: "string",
        gitignoreTemplate: "string",
        hasDiscussions: false,
        hasDownloads: false,
        hasIssues: false,
        hasProjects: false,
        hasWiki: false,
        homepageUrl: "string",
        ignoreVulnerabilityAlertsDuringRead: false,
        isTemplate: false,
        licenseTemplate: "string",
        mergeCommitMessage: "string",
        mergeCommitTitle: "string",
        name: "string",
        pages: {
            buildType: "string",
            cname: "string",
            custom404: false,
            htmlUrl: "string",
            source: {
                branch: "string",
                path: "string",
            },
            status: "string",
            url: "string",
        },
        securityAndAnalysis: {
            advancedSecurity: {
                status: "string",
            },
            secretScanning: {
                status: "string",
            },
            secretScanningPushProtection: {
                status: "string",
            },
        },
        squashMergeCommitMessage: "string",
        squashMergeCommitTitle: "string",
        template: {
            owner: "string",
            repository: "string",
            includeAllBranches: false,
        },
        topics: ["string"],
        visibility: "string",
        vulnerabilityAlerts: false,
        webCommitSignoffRequired: false,
    });
    
    type: github:Repository
    properties:
        allowAutoMerge: false
        allowMergeCommit: false
        allowRebaseMerge: false
        allowSquashMerge: false
        allowUpdateBranch: false
        archiveOnDestroy: false
        archived: false
        autoInit: false
        deleteBranchOnMerge: false
        description: string
        gitignoreTemplate: string
        hasDiscussions: false
        hasDownloads: false
        hasIssues: false
        hasProjects: false
        hasWiki: false
        homepageUrl: string
        ignoreVulnerabilityAlertsDuringRead: false
        isTemplate: false
        licenseTemplate: string
        mergeCommitMessage: string
        mergeCommitTitle: string
        name: string
        pages:
            buildType: string
            cname: string
            custom404: false
            htmlUrl: string
            source:
                branch: string
                path: string
            status: string
            url: string
        securityAndAnalysis:
            advancedSecurity:
                status: string
            secretScanning:
                status: string
            secretScanningPushProtection:
                status: string
        squashMergeCommitMessage: string
        squashMergeCommitTitle: string
        template:
            includeAllBranches: false
            owner: string
            repository: string
        topics:
            - string
        visibility: string
        vulnerabilityAlerts: false
        webCommitSignoffRequired: false
    

    Repository Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Repository resource accepts the following input properties:

    AllowAutoMerge bool
    Set to true to allow auto-merging pull requests on the repository.
    AllowMergeCommit bool
    Set to false to disable merge commits on the repository.
    AllowRebaseMerge bool
    Set to false to disable rebase merges on the repository.
    AllowSquashMerge bool
    Set to false to disable squash merges on the repository.
    AllowUpdateBranch bool
    Set to true to always suggest updating pull request branches.
    ArchiveOnDestroy bool
    Set to true to archive the repository instead of deleting on destroy.
    Archived bool
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    AutoInit bool
    Set to true to produce an initial commit in the repository.
    DefaultBranch string
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    DeleteBranchOnMerge bool
    Automatically delete head branch after a pull request is merged. Defaults to false.
    Description string
    A description of the repository.
    GitignoreTemplate string
    Use the name of the template without the extension. For example, "Haskell".
    HasDiscussions bool
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    HasDownloads bool
    Set to true to enable the (deprecated) downloads features on the repository.
    HasIssues bool
    Set to true to enable the GitHub Issues features on the repository.
    HasProjects bool
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    HasWiki bool
    Set to true to enable the GitHub Wiki features on the repository.
    HomepageUrl string
    URL of a page describing the project.
    IgnoreVulnerabilityAlertsDuringRead bool
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    IsTemplate bool
    Set to true to tell GitHub that this is a template repository.
    LicenseTemplate string
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    MergeCommitMessage string
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    MergeCommitTitle string
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    Name string
    The name of the repository.
    Pages RepositoryPages
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    Private bool
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    SecurityAndAnalysis RepositorySecurityAndAnalysis
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    SquashMergeCommitMessage string
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    SquashMergeCommitTitle string
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    Template RepositoryTemplate
    Use a template repository to create this resource. See Template Repositories below for details.
    Topics List<string>
    The list of topics of the repository.
    Visibility string
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    VulnerabilityAlerts bool
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    WebCommitSignoffRequired bool
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    AllowAutoMerge bool
    Set to true to allow auto-merging pull requests on the repository.
    AllowMergeCommit bool
    Set to false to disable merge commits on the repository.
    AllowRebaseMerge bool
    Set to false to disable rebase merges on the repository.
    AllowSquashMerge bool
    Set to false to disable squash merges on the repository.
    AllowUpdateBranch bool
    Set to true to always suggest updating pull request branches.
    ArchiveOnDestroy bool
    Set to true to archive the repository instead of deleting on destroy.
    Archived bool
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    AutoInit bool
    Set to true to produce an initial commit in the repository.
    DefaultBranch string
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    DeleteBranchOnMerge bool
    Automatically delete head branch after a pull request is merged. Defaults to false.
    Description string
    A description of the repository.
    GitignoreTemplate string
    Use the name of the template without the extension. For example, "Haskell".
    HasDiscussions bool
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    HasDownloads bool
    Set to true to enable the (deprecated) downloads features on the repository.
    HasIssues bool
    Set to true to enable the GitHub Issues features on the repository.
    HasProjects bool
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    HasWiki bool
    Set to true to enable the GitHub Wiki features on the repository.
    HomepageUrl string
    URL of a page describing the project.
    IgnoreVulnerabilityAlertsDuringRead bool
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    IsTemplate bool
    Set to true to tell GitHub that this is a template repository.
    LicenseTemplate string
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    MergeCommitMessage string
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    MergeCommitTitle string
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    Name string
    The name of the repository.
    Pages RepositoryPagesArgs
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    Private bool
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    SecurityAndAnalysis RepositorySecurityAndAnalysisArgs
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    SquashMergeCommitMessage string
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    SquashMergeCommitTitle string
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    Template RepositoryTemplateArgs
    Use a template repository to create this resource. See Template Repositories below for details.
    Topics []string
    The list of topics of the repository.
    Visibility string
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    VulnerabilityAlerts bool
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    WebCommitSignoffRequired bool
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allowAutoMerge Boolean
    Set to true to allow auto-merging pull requests on the repository.
    allowMergeCommit Boolean
    Set to false to disable merge commits on the repository.
    allowRebaseMerge Boolean
    Set to false to disable rebase merges on the repository.
    allowSquashMerge Boolean
    Set to false to disable squash merges on the repository.
    allowUpdateBranch Boolean
    Set to true to always suggest updating pull request branches.
    archiveOnDestroy Boolean
    Set to true to archive the repository instead of deleting on destroy.
    archived Boolean
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    autoInit Boolean
    Set to true to produce an initial commit in the repository.
    defaultBranch String
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    deleteBranchOnMerge Boolean
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description String
    A description of the repository.
    gitignoreTemplate String
    Use the name of the template without the extension. For example, "Haskell".
    hasDiscussions Boolean
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    hasDownloads Boolean
    Set to true to enable the (deprecated) downloads features on the repository.
    hasIssues Boolean
    Set to true to enable the GitHub Issues features on the repository.
    hasProjects Boolean
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    hasWiki Boolean
    Set to true to enable the GitHub Wiki features on the repository.
    homepageUrl String
    URL of a page describing the project.
    ignoreVulnerabilityAlertsDuringRead Boolean
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    isTemplate Boolean
    Set to true to tell GitHub that this is a template repository.
    licenseTemplate String
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    mergeCommitMessage String
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    mergeCommitTitle String
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name String
    The name of the repository.
    pages RepositoryPages
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    private_ Boolean
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    securityAndAnalysis RepositorySecurityAndAnalysis
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squashMergeCommitMessage String
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squashMergeCommitTitle String
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    template RepositoryTemplate
    Use a template repository to create this resource. See Template Repositories below for details.
    topics List<String>
    The list of topics of the repository.
    visibility String
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerabilityAlerts Boolean
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    webCommitSignoffRequired Boolean
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allowAutoMerge boolean
    Set to true to allow auto-merging pull requests on the repository.
    allowMergeCommit boolean
    Set to false to disable merge commits on the repository.
    allowRebaseMerge boolean
    Set to false to disable rebase merges on the repository.
    allowSquashMerge boolean
    Set to false to disable squash merges on the repository.
    allowUpdateBranch boolean
    Set to true to always suggest updating pull request branches.
    archiveOnDestroy boolean
    Set to true to archive the repository instead of deleting on destroy.
    archived boolean
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    autoInit boolean
    Set to true to produce an initial commit in the repository.
    defaultBranch string
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    deleteBranchOnMerge boolean
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description string
    A description of the repository.
    gitignoreTemplate string
    Use the name of the template without the extension. For example, "Haskell".
    hasDiscussions boolean
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    hasDownloads boolean
    Set to true to enable the (deprecated) downloads features on the repository.
    hasIssues boolean
    Set to true to enable the GitHub Issues features on the repository.
    hasProjects boolean
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    hasWiki boolean
    Set to true to enable the GitHub Wiki features on the repository.
    homepageUrl string
    URL of a page describing the project.
    ignoreVulnerabilityAlertsDuringRead boolean
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    isTemplate boolean
    Set to true to tell GitHub that this is a template repository.
    licenseTemplate string
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    mergeCommitMessage string
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    mergeCommitTitle string
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name string
    The name of the repository.
    pages RepositoryPages
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    private boolean
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    securityAndAnalysis RepositorySecurityAndAnalysis
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squashMergeCommitMessage string
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squashMergeCommitTitle string
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    template RepositoryTemplate
    Use a template repository to create this resource. See Template Repositories below for details.
    topics string[]
    The list of topics of the repository.
    visibility string
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerabilityAlerts boolean
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    webCommitSignoffRequired boolean
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allow_auto_merge bool
    Set to true to allow auto-merging pull requests on the repository.
    allow_merge_commit bool
    Set to false to disable merge commits on the repository.
    allow_rebase_merge bool
    Set to false to disable rebase merges on the repository.
    allow_squash_merge bool
    Set to false to disable squash merges on the repository.
    allow_update_branch bool
    Set to true to always suggest updating pull request branches.
    archive_on_destroy bool
    Set to true to archive the repository instead of deleting on destroy.
    archived bool
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    auto_init bool
    Set to true to produce an initial commit in the repository.
    default_branch str
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    delete_branch_on_merge bool
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description str
    A description of the repository.
    gitignore_template str
    Use the name of the template without the extension. For example, "Haskell".
    has_discussions bool
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    has_downloads bool
    Set to true to enable the (deprecated) downloads features on the repository.
    has_issues bool
    Set to true to enable the GitHub Issues features on the repository.
    has_projects bool
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    has_wiki bool
    Set to true to enable the GitHub Wiki features on the repository.
    homepage_url str
    URL of a page describing the project.
    ignore_vulnerability_alerts_during_read bool
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    is_template bool
    Set to true to tell GitHub that this is a template repository.
    license_template str
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    merge_commit_message str
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    merge_commit_title str
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name str
    The name of the repository.
    pages RepositoryPagesArgs
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    private bool
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    security_and_analysis RepositorySecurityAndAnalysisArgs
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squash_merge_commit_message str
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squash_merge_commit_title str
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    template RepositoryTemplateArgs
    Use a template repository to create this resource. See Template Repositories below for details.
    topics Sequence[str]
    The list of topics of the repository.
    visibility str
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerability_alerts bool
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    web_commit_signoff_required bool
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allowAutoMerge Boolean
    Set to true to allow auto-merging pull requests on the repository.
    allowMergeCommit Boolean
    Set to false to disable merge commits on the repository.
    allowRebaseMerge Boolean
    Set to false to disable rebase merges on the repository.
    allowSquashMerge Boolean
    Set to false to disable squash merges on the repository.
    allowUpdateBranch Boolean
    Set to true to always suggest updating pull request branches.
    archiveOnDestroy Boolean
    Set to true to archive the repository instead of deleting on destroy.
    archived Boolean
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    autoInit Boolean
    Set to true to produce an initial commit in the repository.
    defaultBranch String
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    deleteBranchOnMerge Boolean
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description String
    A description of the repository.
    gitignoreTemplate String
    Use the name of the template without the extension. For example, "Haskell".
    hasDiscussions Boolean
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    hasDownloads Boolean
    Set to true to enable the (deprecated) downloads features on the repository.
    hasIssues Boolean
    Set to true to enable the GitHub Issues features on the repository.
    hasProjects Boolean
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    hasWiki Boolean
    Set to true to enable the GitHub Wiki features on the repository.
    homepageUrl String
    URL of a page describing the project.
    ignoreVulnerabilityAlertsDuringRead Boolean
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    isTemplate Boolean
    Set to true to tell GitHub that this is a template repository.
    licenseTemplate String
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    mergeCommitMessage String
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    mergeCommitTitle String
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name String
    The name of the repository.
    pages Property Map
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    private Boolean
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    securityAndAnalysis Property Map
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squashMergeCommitMessage String
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squashMergeCommitTitle String
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    template Property Map
    Use a template repository to create this resource. See Template Repositories below for details.
    topics List<String>
    The list of topics of the repository.
    visibility String
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerabilityAlerts Boolean
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    webCommitSignoffRequired Boolean
    Require contributors to sign off on web-based commits. See more here. Defaults to false.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Repository resource produces the following output properties:

    Etag string
    FullName string
    A string of the form "orgname/reponame".
    GitCloneUrl string
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    HtmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    HttpCloneUrl string
    URL that can be provided to git clone to clone the repository via HTTPS.
    Id string
    The provider-assigned unique ID for this managed resource.
    NodeId string
    GraphQL global node id for use with v4 API
    PrimaryLanguage string
    The primary language used in the repository.
    RepoId int
    GitHub ID for the repository
    SshCloneUrl string
    URL that can be provided to git clone to clone the repository via SSH.
    SvnUrl string
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    Etag string
    FullName string
    A string of the form "orgname/reponame".
    GitCloneUrl string
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    HtmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    HttpCloneUrl string
    URL that can be provided to git clone to clone the repository via HTTPS.
    Id string
    The provider-assigned unique ID for this managed resource.
    NodeId string
    GraphQL global node id for use with v4 API
    PrimaryLanguage string
    The primary language used in the repository.
    RepoId int
    GitHub ID for the repository
    SshCloneUrl string
    URL that can be provided to git clone to clone the repository via SSH.
    SvnUrl string
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    etag String
    fullName String
    A string of the form "orgname/reponame".
    gitCloneUrl String
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    htmlUrl String
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    httpCloneUrl String
    URL that can be provided to git clone to clone the repository via HTTPS.
    id String
    The provider-assigned unique ID for this managed resource.
    nodeId String
    GraphQL global node id for use with v4 API
    primaryLanguage String
    The primary language used in the repository.
    repoId Integer
    GitHub ID for the repository
    sshCloneUrl String
    URL that can be provided to git clone to clone the repository via SSH.
    svnUrl String
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    etag string
    fullName string
    A string of the form "orgname/reponame".
    gitCloneUrl string
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    htmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    httpCloneUrl string
    URL that can be provided to git clone to clone the repository via HTTPS.
    id string
    The provider-assigned unique ID for this managed resource.
    nodeId string
    GraphQL global node id for use with v4 API
    primaryLanguage string
    The primary language used in the repository.
    repoId number
    GitHub ID for the repository
    sshCloneUrl string
    URL that can be provided to git clone to clone the repository via SSH.
    svnUrl string
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    etag str
    full_name str
    A string of the form "orgname/reponame".
    git_clone_url str
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    html_url str
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    http_clone_url str
    URL that can be provided to git clone to clone the repository via HTTPS.
    id str
    The provider-assigned unique ID for this managed resource.
    node_id str
    GraphQL global node id for use with v4 API
    primary_language str
    The primary language used in the repository.
    repo_id int
    GitHub ID for the repository
    ssh_clone_url str
    URL that can be provided to git clone to clone the repository via SSH.
    svn_url str
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    etag String
    fullName String
    A string of the form "orgname/reponame".
    gitCloneUrl String
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    htmlUrl String
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    httpCloneUrl String
    URL that can be provided to git clone to clone the repository via HTTPS.
    id String
    The provider-assigned unique ID for this managed resource.
    nodeId String
    GraphQL global node id for use with v4 API
    primaryLanguage String
    The primary language used in the repository.
    repoId Number
    GitHub ID for the repository
    sshCloneUrl String
    URL that can be provided to git clone to clone the repository via SSH.
    svnUrl String
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.

    Look up Existing Repository Resource

    Get an existing Repository 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?: RepositoryState, opts?: CustomResourceOptions): Repository
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allow_auto_merge: Optional[bool] = None,
            allow_merge_commit: Optional[bool] = None,
            allow_rebase_merge: Optional[bool] = None,
            allow_squash_merge: Optional[bool] = None,
            allow_update_branch: Optional[bool] = None,
            archive_on_destroy: Optional[bool] = None,
            archived: Optional[bool] = None,
            auto_init: Optional[bool] = None,
            default_branch: Optional[str] = None,
            delete_branch_on_merge: Optional[bool] = None,
            description: Optional[str] = None,
            etag: Optional[str] = None,
            full_name: Optional[str] = None,
            git_clone_url: Optional[str] = None,
            gitignore_template: Optional[str] = None,
            has_discussions: Optional[bool] = None,
            has_downloads: Optional[bool] = None,
            has_issues: Optional[bool] = None,
            has_projects: Optional[bool] = None,
            has_wiki: Optional[bool] = None,
            homepage_url: Optional[str] = None,
            html_url: Optional[str] = None,
            http_clone_url: Optional[str] = None,
            ignore_vulnerability_alerts_during_read: Optional[bool] = None,
            is_template: Optional[bool] = None,
            license_template: Optional[str] = None,
            merge_commit_message: Optional[str] = None,
            merge_commit_title: Optional[str] = None,
            name: Optional[str] = None,
            node_id: Optional[str] = None,
            pages: Optional[RepositoryPagesArgs] = None,
            primary_language: Optional[str] = None,
            private: Optional[bool] = None,
            repo_id: Optional[int] = None,
            security_and_analysis: Optional[RepositorySecurityAndAnalysisArgs] = None,
            squash_merge_commit_message: Optional[str] = None,
            squash_merge_commit_title: Optional[str] = None,
            ssh_clone_url: Optional[str] = None,
            svn_url: Optional[str] = None,
            template: Optional[RepositoryTemplateArgs] = None,
            topics: Optional[Sequence[str]] = None,
            visibility: Optional[str] = None,
            vulnerability_alerts: Optional[bool] = None,
            web_commit_signoff_required: Optional[bool] = None) -> Repository
    func GetRepository(ctx *Context, name string, id IDInput, state *RepositoryState, opts ...ResourceOption) (*Repository, error)
    public static Repository Get(string name, Input<string> id, RepositoryState? state, CustomResourceOptions? opts = null)
    public static Repository get(String name, Output<String> id, RepositoryState 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:
    AllowAutoMerge bool
    Set to true to allow auto-merging pull requests on the repository.
    AllowMergeCommit bool
    Set to false to disable merge commits on the repository.
    AllowRebaseMerge bool
    Set to false to disable rebase merges on the repository.
    AllowSquashMerge bool
    Set to false to disable squash merges on the repository.
    AllowUpdateBranch bool
    Set to true to always suggest updating pull request branches.
    ArchiveOnDestroy bool
    Set to true to archive the repository instead of deleting on destroy.
    Archived bool
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    AutoInit bool
    Set to true to produce an initial commit in the repository.
    DefaultBranch string
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    DeleteBranchOnMerge bool
    Automatically delete head branch after a pull request is merged. Defaults to false.
    Description string
    A description of the repository.
    Etag string
    FullName string
    A string of the form "orgname/reponame".
    GitCloneUrl string
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    GitignoreTemplate string
    Use the name of the template without the extension. For example, "Haskell".
    HasDiscussions bool
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    HasDownloads bool
    Set to true to enable the (deprecated) downloads features on the repository.
    HasIssues bool
    Set to true to enable the GitHub Issues features on the repository.
    HasProjects bool
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    HasWiki bool
    Set to true to enable the GitHub Wiki features on the repository.
    HomepageUrl string
    URL of a page describing the project.
    HtmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    HttpCloneUrl string
    URL that can be provided to git clone to clone the repository via HTTPS.
    IgnoreVulnerabilityAlertsDuringRead bool
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    IsTemplate bool
    Set to true to tell GitHub that this is a template repository.
    LicenseTemplate string
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    MergeCommitMessage string
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    MergeCommitTitle string
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    Name string
    The name of the repository.
    NodeId string
    GraphQL global node id for use with v4 API
    Pages RepositoryPages
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    PrimaryLanguage string
    The primary language used in the repository.
    Private bool
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    RepoId int
    GitHub ID for the repository
    SecurityAndAnalysis RepositorySecurityAndAnalysis
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    SquashMergeCommitMessage string
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    SquashMergeCommitTitle string
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    SshCloneUrl string
    URL that can be provided to git clone to clone the repository via SSH.
    SvnUrl string
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    Template RepositoryTemplate
    Use a template repository to create this resource. See Template Repositories below for details.
    Topics List<string>
    The list of topics of the repository.
    Visibility string
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    VulnerabilityAlerts bool
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    WebCommitSignoffRequired bool
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    AllowAutoMerge bool
    Set to true to allow auto-merging pull requests on the repository.
    AllowMergeCommit bool
    Set to false to disable merge commits on the repository.
    AllowRebaseMerge bool
    Set to false to disable rebase merges on the repository.
    AllowSquashMerge bool
    Set to false to disable squash merges on the repository.
    AllowUpdateBranch bool
    Set to true to always suggest updating pull request branches.
    ArchiveOnDestroy bool
    Set to true to archive the repository instead of deleting on destroy.
    Archived bool
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    AutoInit bool
    Set to true to produce an initial commit in the repository.
    DefaultBranch string
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    DeleteBranchOnMerge bool
    Automatically delete head branch after a pull request is merged. Defaults to false.
    Description string
    A description of the repository.
    Etag string
    FullName string
    A string of the form "orgname/reponame".
    GitCloneUrl string
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    GitignoreTemplate string
    Use the name of the template without the extension. For example, "Haskell".
    HasDiscussions bool
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    HasDownloads bool
    Set to true to enable the (deprecated) downloads features on the repository.
    HasIssues bool
    Set to true to enable the GitHub Issues features on the repository.
    HasProjects bool
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    HasWiki bool
    Set to true to enable the GitHub Wiki features on the repository.
    HomepageUrl string
    URL of a page describing the project.
    HtmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    HttpCloneUrl string
    URL that can be provided to git clone to clone the repository via HTTPS.
    IgnoreVulnerabilityAlertsDuringRead bool
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    IsTemplate bool
    Set to true to tell GitHub that this is a template repository.
    LicenseTemplate string
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    MergeCommitMessage string
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    MergeCommitTitle string
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    Name string
    The name of the repository.
    NodeId string
    GraphQL global node id for use with v4 API
    Pages RepositoryPagesArgs
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    PrimaryLanguage string
    The primary language used in the repository.
    Private bool
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    RepoId int
    GitHub ID for the repository
    SecurityAndAnalysis RepositorySecurityAndAnalysisArgs
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    SquashMergeCommitMessage string
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    SquashMergeCommitTitle string
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    SshCloneUrl string
    URL that can be provided to git clone to clone the repository via SSH.
    SvnUrl string
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    Template RepositoryTemplateArgs
    Use a template repository to create this resource. See Template Repositories below for details.
    Topics []string
    The list of topics of the repository.
    Visibility string
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    VulnerabilityAlerts bool
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    WebCommitSignoffRequired bool
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allowAutoMerge Boolean
    Set to true to allow auto-merging pull requests on the repository.
    allowMergeCommit Boolean
    Set to false to disable merge commits on the repository.
    allowRebaseMerge Boolean
    Set to false to disable rebase merges on the repository.
    allowSquashMerge Boolean
    Set to false to disable squash merges on the repository.
    allowUpdateBranch Boolean
    Set to true to always suggest updating pull request branches.
    archiveOnDestroy Boolean
    Set to true to archive the repository instead of deleting on destroy.
    archived Boolean
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    autoInit Boolean
    Set to true to produce an initial commit in the repository.
    defaultBranch String
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    deleteBranchOnMerge Boolean
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description String
    A description of the repository.
    etag String
    fullName String
    A string of the form "orgname/reponame".
    gitCloneUrl String
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    gitignoreTemplate String
    Use the name of the template without the extension. For example, "Haskell".
    hasDiscussions Boolean
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    hasDownloads Boolean
    Set to true to enable the (deprecated) downloads features on the repository.
    hasIssues Boolean
    Set to true to enable the GitHub Issues features on the repository.
    hasProjects Boolean
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    hasWiki Boolean
    Set to true to enable the GitHub Wiki features on the repository.
    homepageUrl String
    URL of a page describing the project.
    htmlUrl String
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    httpCloneUrl String
    URL that can be provided to git clone to clone the repository via HTTPS.
    ignoreVulnerabilityAlertsDuringRead Boolean
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    isTemplate Boolean
    Set to true to tell GitHub that this is a template repository.
    licenseTemplate String
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    mergeCommitMessage String
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    mergeCommitTitle String
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name String
    The name of the repository.
    nodeId String
    GraphQL global node id for use with v4 API
    pages RepositoryPages
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    primaryLanguage String
    The primary language used in the repository.
    private_ Boolean
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    repoId Integer
    GitHub ID for the repository
    securityAndAnalysis RepositorySecurityAndAnalysis
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squashMergeCommitMessage String
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squashMergeCommitTitle String
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    sshCloneUrl String
    URL that can be provided to git clone to clone the repository via SSH.
    svnUrl String
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    template RepositoryTemplate
    Use a template repository to create this resource. See Template Repositories below for details.
    topics List<String>
    The list of topics of the repository.
    visibility String
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerabilityAlerts Boolean
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    webCommitSignoffRequired Boolean
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allowAutoMerge boolean
    Set to true to allow auto-merging pull requests on the repository.
    allowMergeCommit boolean
    Set to false to disable merge commits on the repository.
    allowRebaseMerge boolean
    Set to false to disable rebase merges on the repository.
    allowSquashMerge boolean
    Set to false to disable squash merges on the repository.
    allowUpdateBranch boolean
    Set to true to always suggest updating pull request branches.
    archiveOnDestroy boolean
    Set to true to archive the repository instead of deleting on destroy.
    archived boolean
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    autoInit boolean
    Set to true to produce an initial commit in the repository.
    defaultBranch string
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    deleteBranchOnMerge boolean
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description string
    A description of the repository.
    etag string
    fullName string
    A string of the form "orgname/reponame".
    gitCloneUrl string
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    gitignoreTemplate string
    Use the name of the template without the extension. For example, "Haskell".
    hasDiscussions boolean
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    hasDownloads boolean
    Set to true to enable the (deprecated) downloads features on the repository.
    hasIssues boolean
    Set to true to enable the GitHub Issues features on the repository.
    hasProjects boolean
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    hasWiki boolean
    Set to true to enable the GitHub Wiki features on the repository.
    homepageUrl string
    URL of a page describing the project.
    htmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    httpCloneUrl string
    URL that can be provided to git clone to clone the repository via HTTPS.
    ignoreVulnerabilityAlertsDuringRead boolean
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    isTemplate boolean
    Set to true to tell GitHub that this is a template repository.
    licenseTemplate string
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    mergeCommitMessage string
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    mergeCommitTitle string
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name string
    The name of the repository.
    nodeId string
    GraphQL global node id for use with v4 API
    pages RepositoryPages
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    primaryLanguage string
    The primary language used in the repository.
    private boolean
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    repoId number
    GitHub ID for the repository
    securityAndAnalysis RepositorySecurityAndAnalysis
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squashMergeCommitMessage string
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squashMergeCommitTitle string
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    sshCloneUrl string
    URL that can be provided to git clone to clone the repository via SSH.
    svnUrl string
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    template RepositoryTemplate
    Use a template repository to create this resource. See Template Repositories below for details.
    topics string[]
    The list of topics of the repository.
    visibility string
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerabilityAlerts boolean
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    webCommitSignoffRequired boolean
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allow_auto_merge bool
    Set to true to allow auto-merging pull requests on the repository.
    allow_merge_commit bool
    Set to false to disable merge commits on the repository.
    allow_rebase_merge bool
    Set to false to disable rebase merges on the repository.
    allow_squash_merge bool
    Set to false to disable squash merges on the repository.
    allow_update_branch bool
    Set to true to always suggest updating pull request branches.
    archive_on_destroy bool
    Set to true to archive the repository instead of deleting on destroy.
    archived bool
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    auto_init bool
    Set to true to produce an initial commit in the repository.
    default_branch str
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    delete_branch_on_merge bool
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description str
    A description of the repository.
    etag str
    full_name str
    A string of the form "orgname/reponame".
    git_clone_url str
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    gitignore_template str
    Use the name of the template without the extension. For example, "Haskell".
    has_discussions bool
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    has_downloads bool
    Set to true to enable the (deprecated) downloads features on the repository.
    has_issues bool
    Set to true to enable the GitHub Issues features on the repository.
    has_projects bool
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    has_wiki bool
    Set to true to enable the GitHub Wiki features on the repository.
    homepage_url str
    URL of a page describing the project.
    html_url str
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    http_clone_url str
    URL that can be provided to git clone to clone the repository via HTTPS.
    ignore_vulnerability_alerts_during_read bool
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    is_template bool
    Set to true to tell GitHub that this is a template repository.
    license_template str
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    merge_commit_message str
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    merge_commit_title str
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name str
    The name of the repository.
    node_id str
    GraphQL global node id for use with v4 API
    pages RepositoryPagesArgs
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    primary_language str
    The primary language used in the repository.
    private bool
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    repo_id int
    GitHub ID for the repository
    security_and_analysis RepositorySecurityAndAnalysisArgs
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squash_merge_commit_message str
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squash_merge_commit_title str
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    ssh_clone_url str
    URL that can be provided to git clone to clone the repository via SSH.
    svn_url str
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    template RepositoryTemplateArgs
    Use a template repository to create this resource. See Template Repositories below for details.
    topics Sequence[str]
    The list of topics of the repository.
    visibility str
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerability_alerts bool
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    web_commit_signoff_required bool
    Require contributors to sign off on web-based commits. See more here. Defaults to false.
    allowAutoMerge Boolean
    Set to true to allow auto-merging pull requests on the repository.
    allowMergeCommit Boolean
    Set to false to disable merge commits on the repository.
    allowRebaseMerge Boolean
    Set to false to disable rebase merges on the repository.
    allowSquashMerge Boolean
    Set to false to disable squash merges on the repository.
    allowUpdateBranch Boolean
    Set to true to always suggest updating pull request branches.
    archiveOnDestroy Boolean
    Set to true to archive the repository instead of deleting on destroy.
    archived Boolean
    Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.
    autoInit Boolean
    Set to true to produce an initial commit in the repository.
    defaultBranch String
    (Deprecated: Use github.BranchDefault resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

    Deprecated: Use the github.BranchDefault resource instead

    deleteBranchOnMerge Boolean
    Automatically delete head branch after a pull request is merged. Defaults to false.
    description String
    A description of the repository.
    etag String
    fullName String
    A string of the form "orgname/reponame".
    gitCloneUrl String
    URL that can be provided to git clone to clone the repository anonymously via the git protocol.
    gitignoreTemplate String
    Use the name of the template without the extension. For example, "Haskell".
    hasDiscussions Boolean
    Set to true to enable GitHub Discussions on the repository. Defaults to false.
    hasDownloads Boolean
    Set to true to enable the (deprecated) downloads features on the repository.
    hasIssues Boolean
    Set to true to enable the GitHub Issues features on the repository.
    hasProjects Boolean
    Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.
    hasWiki Boolean
    Set to true to enable the GitHub Wiki features on the repository.
    homepageUrl String
    URL of a page describing the project.
    htmlUrl String
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    httpCloneUrl String
    URL that can be provided to git clone to clone the repository via HTTPS.
    ignoreVulnerabilityAlertsDuringRead Boolean
    Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
    isTemplate Boolean
    Set to true to tell GitHub that this is a template repository.
    licenseTemplate String
    Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
    mergeCommitMessage String
    Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true.
    mergeCommitTitle String
    Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true.
    name String
    The name of the repository.
    nodeId String
    GraphQL global node id for use with v4 API
    pages Property Map
    The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
    primaryLanguage String
    The primary language used in the repository.
    private Boolean
    Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

    Deprecated: use visibility instead

    repoId Number
    GitHub ID for the repository
    securityAndAnalysis Property Map
    The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
    squashMergeCommitMessage String
    Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true.
    squashMergeCommitTitle String
    Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true.
    sshCloneUrl String
    URL that can be provided to git clone to clone the repository via SSH.
    svnUrl String
    URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation.
    template Property Map
    Use a template repository to create this resource. See Template Repositories below for details.
    topics List<String>
    The list of topics of the repository.
    visibility String
    Can be public or private. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be internal. The visibility parameter overrides the private parameter.
    vulnerabilityAlerts Boolean
    Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings.
    webCommitSignoffRequired Boolean
    Require contributors to sign off on web-based commits. See more here. Defaults to false.

    Supporting Types

    RepositoryPages, RepositoryPagesArgs

    BuildType string
    The type of GitHub Pages site to build. Can be legacy or workflow. If you use legacy as build type you need to set the option source.
    Cname string
    The custom domain for the repository. This can only be set after the repository has been created.
    Custom404 bool
    Whether the rendered GitHub Pages site has a custom 404 page.
    HtmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    Source RepositoryPagesSource
    The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
    Status string
    The GitHub Pages site's build status e.g. building or built.
    Url string
    BuildType string
    The type of GitHub Pages site to build. Can be legacy or workflow. If you use legacy as build type you need to set the option source.
    Cname string
    The custom domain for the repository. This can only be set after the repository has been created.
    Custom404 bool
    Whether the rendered GitHub Pages site has a custom 404 page.
    HtmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    Source RepositoryPagesSource
    The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
    Status string
    The GitHub Pages site's build status e.g. building or built.
    Url string
    buildType String
    The type of GitHub Pages site to build. Can be legacy or workflow. If you use legacy as build type you need to set the option source.
    cname String
    The custom domain for the repository. This can only be set after the repository has been created.
    custom404 Boolean
    Whether the rendered GitHub Pages site has a custom 404 page.
    htmlUrl String
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    source RepositoryPagesSource
    The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
    status String
    The GitHub Pages site's build status e.g. building or built.
    url String
    buildType string
    The type of GitHub Pages site to build. Can be legacy or workflow. If you use legacy as build type you need to set the option source.
    cname string
    The custom domain for the repository. This can only be set after the repository has been created.
    custom404 boolean
    Whether the rendered GitHub Pages site has a custom 404 page.
    htmlUrl string
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    source RepositoryPagesSource
    The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
    status string
    The GitHub Pages site's build status e.g. building or built.
    url string
    build_type str
    The type of GitHub Pages site to build. Can be legacy or workflow. If you use legacy as build type you need to set the option source.
    cname str
    The custom domain for the repository. This can only be set after the repository has been created.
    custom404 bool
    Whether the rendered GitHub Pages site has a custom 404 page.
    html_url str
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    source RepositoryPagesSource
    The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
    status str
    The GitHub Pages site's build status e.g. building or built.
    url str
    buildType String
    The type of GitHub Pages site to build. Can be legacy or workflow. If you use legacy as build type you need to set the option source.
    cname String
    The custom domain for the repository. This can only be set after the repository has been created.
    custom404 Boolean
    Whether the rendered GitHub Pages site has a custom 404 page.
    htmlUrl String
    The absolute URL (including scheme) of the rendered GitHub Pages site e.g. https://username.github.io.
    source Property Map
    The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
    status String
    The GitHub Pages site's build status e.g. building or built.
    url String

    RepositoryPagesSource, RepositoryPagesSourceArgs

    Branch string
    The repository branch used to publish the site's source files. (i.e. main or gh-pages.
    Path string
    The repository directory from which the site publishes (Default: /).
    Branch string
    The repository branch used to publish the site's source files. (i.e. main or gh-pages.
    Path string
    The repository directory from which the site publishes (Default: /).
    branch String
    The repository branch used to publish the site's source files. (i.e. main or gh-pages.
    path String
    The repository directory from which the site publishes (Default: /).
    branch string
    The repository branch used to publish the site's source files. (i.e. main or gh-pages.
    path string
    The repository directory from which the site publishes (Default: /).
    branch str
    The repository branch used to publish the site's source files. (i.e. main or gh-pages.
    path str
    The repository directory from which the site publishes (Default: /).
    branch String
    The repository branch used to publish the site's source files. (i.e. main or gh-pages.
    path String
    The repository directory from which the site publishes (Default: /).

    RepositorySecurityAndAnalysis, RepositorySecurityAndAnalysisArgs

    AdvancedSecurity RepositorySecurityAndAnalysisAdvancedSecurity
    The advanced security configuration for the repository. See Advanced Security Configuration below for details. If a repository's visibility is public, advanced security is always enabled and cannot be changed, so this setting cannot be supplied.
    SecretScanning RepositorySecurityAndAnalysisSecretScanning
    The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
    SecretScanningPushProtection RepositorySecurityAndAnalysisSecretScanningPushProtection
    The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
    AdvancedSecurity RepositorySecurityAndAnalysisAdvancedSecurity
    The advanced security configuration for the repository. See Advanced Security Configuration below for details. If a repository's visibility is public, advanced security is always enabled and cannot be changed, so this setting cannot be supplied.
    SecretScanning RepositorySecurityAndAnalysisSecretScanning
    The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
    SecretScanningPushProtection RepositorySecurityAndAnalysisSecretScanningPushProtection
    The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
    advancedSecurity RepositorySecurityAndAnalysisAdvancedSecurity
    The advanced security configuration for the repository. See Advanced Security Configuration below for details. If a repository's visibility is public, advanced security is always enabled and cannot be changed, so this setting cannot be supplied.
    secretScanning RepositorySecurityAndAnalysisSecretScanning
    The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
    secretScanningPushProtection RepositorySecurityAndAnalysisSecretScanningPushProtection
    The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
    advancedSecurity RepositorySecurityAndAnalysisAdvancedSecurity
    The advanced security configuration for the repository. See Advanced Security Configuration below for details. If a repository's visibility is public, advanced security is always enabled and cannot be changed, so this setting cannot be supplied.
    secretScanning RepositorySecurityAndAnalysisSecretScanning
    The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
    secretScanningPushProtection RepositorySecurityAndAnalysisSecretScanningPushProtection
    The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
    advanced_security RepositorySecurityAndAnalysisAdvancedSecurity
    The advanced security configuration for the repository. See Advanced Security Configuration below for details. If a repository's visibility is public, advanced security is always enabled and cannot be changed, so this setting cannot be supplied.
    secret_scanning RepositorySecurityAndAnalysisSecretScanning
    The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
    secret_scanning_push_protection RepositorySecurityAndAnalysisSecretScanningPushProtection
    The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
    advancedSecurity Property Map
    The advanced security configuration for the repository. See Advanced Security Configuration below for details. If a repository's visibility is public, advanced security is always enabled and cannot be changed, so this setting cannot be supplied.
    secretScanning Property Map
    The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
    secretScanningPushProtection Property Map
    The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.

    RepositorySecurityAndAnalysisAdvancedSecurity, RepositorySecurityAndAnalysisAdvancedSecurityArgs

    Status string
    Set to enabled to enable advanced security features on the repository. Can be enabled or disabled.
    Status string
    Set to enabled to enable advanced security features on the repository. Can be enabled or disabled.
    status String
    Set to enabled to enable advanced security features on the repository. Can be enabled or disabled.
    status string
    Set to enabled to enable advanced security features on the repository. Can be enabled or disabled.
    status str
    Set to enabled to enable advanced security features on the repository. Can be enabled or disabled.
    status String
    Set to enabled to enable advanced security features on the repository. Can be enabled or disabled.

    RepositorySecurityAndAnalysisSecretScanning, RepositorySecurityAndAnalysisSecretScanningArgs

    Status string
    The GitHub Pages site's build status e.g. building or built.
    Status string
    The GitHub Pages site's build status e.g. building or built.
    status String
    The GitHub Pages site's build status e.g. building or built.
    status string
    The GitHub Pages site's build status e.g. building or built.
    status str
    The GitHub Pages site's build status e.g. building or built.
    status String
    The GitHub Pages site's build status e.g. building or built.

    RepositorySecurityAndAnalysisSecretScanningPushProtection, RepositorySecurityAndAnalysisSecretScanningPushProtectionArgs

    Status string
    The GitHub Pages site's build status e.g. building or built.
    Status string
    The GitHub Pages site's build status e.g. building or built.
    status String
    The GitHub Pages site's build status e.g. building or built.
    status string
    The GitHub Pages site's build status e.g. building or built.
    status str
    The GitHub Pages site's build status e.g. building or built.
    status String
    The GitHub Pages site's build status e.g. building or built.

    RepositoryTemplate, RepositoryTemplateArgs

    Owner string
    The GitHub organization or user the template repository is owned by.
    Repository string
    The name of the template repository.
    IncludeAllBranches bool
    Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
    Owner string
    The GitHub organization or user the template repository is owned by.
    Repository string
    The name of the template repository.
    IncludeAllBranches bool
    Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
    owner String
    The GitHub organization or user the template repository is owned by.
    repository String
    The name of the template repository.
    includeAllBranches Boolean
    Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
    owner string
    The GitHub organization or user the template repository is owned by.
    repository string
    The name of the template repository.
    includeAllBranches boolean
    Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
    owner str
    The GitHub organization or user the template repository is owned by.
    repository str
    The name of the template repository.
    include_all_branches bool
    Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
    owner String
    The GitHub organization or user the template repository is owned by.
    repository String
    The name of the template repository.
    includeAllBranches Boolean
    Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).

    Import

    Repositories can be imported using the name, e.g.

    $ pulumi import github:index/repository:Repository terraform terraform
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    GitHub pulumi/pulumi-github
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the github Terraform Provider.
    github logo
    GitHub v6.3.2 published on Friday, Oct 11, 2024 by Pulumi