github.Repository
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:writepermission. 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_titleandsquash_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:
- AllowAuto boolMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- AllowMerge boolCommit 
- Set to falseto disable merge commits on the repository.
- AllowRebase boolMerge 
- Set to falseto disable rebase merges on the repository.
- AllowSquash boolMerge 
- Set to falseto disable squash merges on the repository.
- AllowUpdate boolBranch 
- Set to trueto always suggest updating pull request branches.
- ArchiveOn boolDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- DefaultBranch string
- (Deprecated: Use github.BranchDefaultresource 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.
- DeleteBranch boolOn Merge 
- 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- HasDownloads bool
- Set to trueto enable the (deprecated) downloads features on the repository.
- HasIssues bool
- Set to trueto enable the GitHub Issues features on the repository.
- HasProjects bool
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- HasWiki bool
- Set to trueto enable the GitHub Wiki features on the repository.
- HomepageUrl string
- URL of a page describing the project.
- IgnoreVulnerability boolAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- IsTemplate bool
- Set to trueto 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".
- MergeCommit stringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- MergeCommit stringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- SecurityAnd RepositoryAnalysis Security And Analysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- SquashMerge stringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- SquashMerge stringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- VulnerabilityAlerts bool
- Set to trueto 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.
- WebCommit boolSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- AllowAuto boolMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- AllowMerge boolCommit 
- Set to falseto disable merge commits on the repository.
- AllowRebase boolMerge 
- Set to falseto disable rebase merges on the repository.
- AllowSquash boolMerge 
- Set to falseto disable squash merges on the repository.
- AllowUpdate boolBranch 
- Set to trueto always suggest updating pull request branches.
- ArchiveOn boolDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- DefaultBranch string
- (Deprecated: Use github.BranchDefaultresource 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.
- DeleteBranch boolOn Merge 
- 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- HasDownloads bool
- Set to trueto enable the (deprecated) downloads features on the repository.
- HasIssues bool
- Set to trueto enable the GitHub Issues features on the repository.
- HasProjects bool
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- HasWiki bool
- Set to trueto enable the GitHub Wiki features on the repository.
- HomepageUrl string
- URL of a page describing the project.
- IgnoreVulnerability boolAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- IsTemplate bool
- Set to trueto 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".
- MergeCommit stringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- MergeCommit stringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- Name string
- The name of the repository.
- Pages
RepositoryPages Args 
- The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- Private bool
- Set to trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- SecurityAnd RepositoryAnalysis Security And Analysis Args 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- SquashMerge stringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- SquashMerge stringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- Template
RepositoryTemplate Args 
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- VulnerabilityAlerts bool
- Set to trueto 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.
- WebCommit boolSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allowAuto BooleanMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allowMerge BooleanCommit 
- Set to falseto disable merge commits on the repository.
- allowRebase BooleanMerge 
- Set to falseto disable rebase merges on the repository.
- allowSquash BooleanMerge 
- Set to falseto disable squash merges on the repository.
- allowUpdate BooleanBranch 
- Set to trueto always suggest updating pull request branches.
- archiveOn BooleanDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- defaultBranch String
- (Deprecated: Use github.BranchDefaultresource 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.
- deleteBranch BooleanOn Merge 
- 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- hasDownloads Boolean
- Set to trueto enable the (deprecated) downloads features on the repository.
- hasIssues Boolean
- Set to trueto enable the GitHub Issues features on the repository.
- hasProjects Boolean
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- hasWiki Boolean
- Set to trueto enable the GitHub Wiki features on the repository.
- homepageUrl String
- URL of a page describing the project.
- ignoreVulnerability BooleanAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- isTemplate Boolean
- Set to trueto 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".
- mergeCommit StringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- mergeCommit StringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- securityAnd RepositoryAnalysis Security And Analysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squashMerge StringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squashMerge StringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerabilityAlerts Boolean
- Set to trueto 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.
- webCommit BooleanSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allowAuto booleanMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allowMerge booleanCommit 
- Set to falseto disable merge commits on the repository.
- allowRebase booleanMerge 
- Set to falseto disable rebase merges on the repository.
- allowSquash booleanMerge 
- Set to falseto disable squash merges on the repository.
- allowUpdate booleanBranch 
- Set to trueto always suggest updating pull request branches.
- archiveOn booleanDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- defaultBranch string
- (Deprecated: Use github.BranchDefaultresource 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.
- deleteBranch booleanOn Merge 
- 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- hasDownloads boolean
- Set to trueto enable the (deprecated) downloads features on the repository.
- hasIssues boolean
- Set to trueto enable the GitHub Issues features on the repository.
- hasProjects boolean
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- hasWiki boolean
- Set to trueto enable the GitHub Wiki features on the repository.
- homepageUrl string
- URL of a page describing the project.
- ignoreVulnerability booleanAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- isTemplate boolean
- Set to trueto 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".
- mergeCommit stringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- mergeCommit stringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- securityAnd RepositoryAnalysis Security And Analysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squashMerge stringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squashMerge stringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerabilityAlerts boolean
- Set to trueto 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.
- webCommit booleanSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allow_auto_ boolmerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allow_merge_ boolcommit 
- Set to falseto disable merge commits on the repository.
- allow_rebase_ boolmerge 
- Set to falseto disable rebase merges on the repository.
- allow_squash_ boolmerge 
- Set to falseto disable squash merges on the repository.
- allow_update_ boolbranch 
- Set to trueto always suggest updating pull request branches.
- archive_on_ booldestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- default_branch str
- (Deprecated: Use github.BranchDefaultresource 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.
- delete_branch_ boolon_ merge 
- 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- has_downloads bool
- Set to trueto enable the (deprecated) downloads features on the repository.
- has_issues bool
- Set to trueto enable the GitHub Issues features on the repository.
- has_projects bool
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- has_wiki bool
- Set to trueto enable the GitHub Wiki features on the repository.
- homepage_url str
- URL of a page describing the project.
- ignore_vulnerability_ boolalerts_ during_ read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- is_template bool
- Set to trueto 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_ strmessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- merge_commit_ strtitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- name str
- The name of the repository.
- pages
RepositoryPages Args 
- The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- private bool
- Set to trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- security_and_ Repositoryanalysis Security And Analysis Args 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash_merge_ strcommit_ message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squash_merge_ strcommit_ title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- template
RepositoryTemplate Args 
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerability_alerts bool
- Set to trueto 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_ boolsignoff_ required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allowAuto BooleanMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allowMerge BooleanCommit 
- Set to falseto disable merge commits on the repository.
- allowRebase BooleanMerge 
- Set to falseto disable rebase merges on the repository.
- allowSquash BooleanMerge 
- Set to falseto disable squash merges on the repository.
- allowUpdate BooleanBranch 
- Set to trueto always suggest updating pull request branches.
- archiveOn BooleanDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- defaultBranch String
- (Deprecated: Use github.BranchDefaultresource 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.
- deleteBranch BooleanOn Merge 
- 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- hasDownloads Boolean
- Set to trueto enable the (deprecated) downloads features on the repository.
- hasIssues Boolean
- Set to trueto enable the GitHub Issues features on the repository.
- hasProjects Boolean
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- hasWiki Boolean
- Set to trueto enable the GitHub Wiki features on the repository.
- homepageUrl String
- URL of a page describing the project.
- ignoreVulnerability BooleanAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- isTemplate Boolean
- Set to trueto 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".
- mergeCommit StringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- mergeCommit StringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- securityAnd Property MapAnalysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squashMerge StringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squashMerge StringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerabilityAlerts Boolean
- Set to trueto 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.
- webCommit BooleanSignoff Required 
- 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".
- GitClone stringUrl 
- URL that can be provided to git cloneto 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.
- HttpClone stringUrl 
- URL that can be provided to git cloneto 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
- SshClone stringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- SvnUrl string
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- Etag string
- FullName string
- A string of the form "orgname/reponame".
- GitClone stringUrl 
- URL that can be provided to git cloneto 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.
- HttpClone stringUrl 
- URL that can be provided to git cloneto 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
- SshClone stringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- SvnUrl string
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- etag String
- fullName String
- A string of the form "orgname/reponame".
- gitClone StringUrl 
- URL that can be provided to git cloneto 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.
- httpClone StringUrl 
- URL that can be provided to git cloneto 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
- sshClone StringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svnUrl String
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- etag string
- fullName string
- A string of the form "orgname/reponame".
- gitClone stringUrl 
- URL that can be provided to git cloneto 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.
- httpClone stringUrl 
- URL that can be provided to git cloneto 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
- sshClone stringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svnUrl string
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- etag str
- full_name str
- A string of the form "orgname/reponame".
- git_clone_ strurl 
- URL that can be provided to git cloneto 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_ strurl 
- URL that can be provided to git cloneto 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_ strurl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svn_url str
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- etag String
- fullName String
- A string of the form "orgname/reponame".
- gitClone StringUrl 
- URL that can be provided to git cloneto 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.
- httpClone StringUrl 
- URL that can be provided to git cloneto 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
- sshClone StringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svnUrl String
- URL that can be provided to svn checkoutto 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) -> Repositoryfunc 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)resources:  _:    type: github:Repository    get:      id: ${id}- 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.
- AllowAuto boolMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- AllowMerge boolCommit 
- Set to falseto disable merge commits on the repository.
- AllowRebase boolMerge 
- Set to falseto disable rebase merges on the repository.
- AllowSquash boolMerge 
- Set to falseto disable squash merges on the repository.
- AllowUpdate boolBranch 
- Set to trueto always suggest updating pull request branches.
- ArchiveOn boolDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- DefaultBranch string
- (Deprecated: Use github.BranchDefaultresource 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.
- DeleteBranch boolOn Merge 
- 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".
- GitClone stringUrl 
- URL that can be provided to git cloneto 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- HasDownloads bool
- Set to trueto enable the (deprecated) downloads features on the repository.
- HasIssues bool
- Set to trueto enable the GitHub Issues features on the repository.
- HasProjects bool
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- HasWiki bool
- Set to trueto 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.
- HttpClone stringUrl 
- URL that can be provided to git cloneto clone the repository via HTTPS.
- IgnoreVulnerability boolAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- IsTemplate bool
- Set to trueto 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".
- MergeCommit stringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- MergeCommit stringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- RepoId int
- GitHub ID for the repository
- SecurityAnd RepositoryAnalysis Security And Analysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- SquashMerge stringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- SquashMerge stringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- SshClone stringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- SvnUrl string
- URL that can be provided to svn checkoutto 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- VulnerabilityAlerts bool
- Set to trueto 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.
- WebCommit boolSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- AllowAuto boolMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- AllowMerge boolCommit 
- Set to falseto disable merge commits on the repository.
- AllowRebase boolMerge 
- Set to falseto disable rebase merges on the repository.
- AllowSquash boolMerge 
- Set to falseto disable squash merges on the repository.
- AllowUpdate boolBranch 
- Set to trueto always suggest updating pull request branches.
- ArchiveOn boolDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- DefaultBranch string
- (Deprecated: Use github.BranchDefaultresource 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.
- DeleteBranch boolOn Merge 
- 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".
- GitClone stringUrl 
- URL that can be provided to git cloneto 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- HasDownloads bool
- Set to trueto enable the (deprecated) downloads features on the repository.
- HasIssues bool
- Set to trueto enable the GitHub Issues features on the repository.
- HasProjects bool
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- HasWiki bool
- Set to trueto 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.
- HttpClone stringUrl 
- URL that can be provided to git cloneto clone the repository via HTTPS.
- IgnoreVulnerability boolAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- IsTemplate bool
- Set to trueto 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".
- MergeCommit stringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- MergeCommit stringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- Name string
- The name of the repository.
- NodeId string
- GraphQL global node id for use with v4 API
- Pages
RepositoryPages Args 
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- RepoId int
- GitHub ID for the repository
- SecurityAnd RepositoryAnalysis Security And Analysis Args 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- SquashMerge stringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- SquashMerge stringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- SshClone stringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- SvnUrl string
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- Template
RepositoryTemplate Args 
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- VulnerabilityAlerts bool
- Set to trueto 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.
- WebCommit boolSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allowAuto BooleanMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allowMerge BooleanCommit 
- Set to falseto disable merge commits on the repository.
- allowRebase BooleanMerge 
- Set to falseto disable rebase merges on the repository.
- allowSquash BooleanMerge 
- Set to falseto disable squash merges on the repository.
- allowUpdate BooleanBranch 
- Set to trueto always suggest updating pull request branches.
- archiveOn BooleanDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- defaultBranch String
- (Deprecated: Use github.BranchDefaultresource 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.
- deleteBranch BooleanOn Merge 
- 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".
- gitClone StringUrl 
- URL that can be provided to git cloneto 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- hasDownloads Boolean
- Set to trueto enable the (deprecated) downloads features on the repository.
- hasIssues Boolean
- Set to trueto enable the GitHub Issues features on the repository.
- hasProjects Boolean
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- hasWiki Boolean
- Set to trueto 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.
- httpClone StringUrl 
- URL that can be provided to git cloneto clone the repository via HTTPS.
- ignoreVulnerability BooleanAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- isTemplate Boolean
- Set to trueto 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".
- mergeCommit StringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- mergeCommit StringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- repoId Integer
- GitHub ID for the repository
- securityAnd RepositoryAnalysis Security And Analysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squashMerge StringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squashMerge StringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- sshClone StringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svnUrl String
- URL that can be provided to svn checkoutto 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerabilityAlerts Boolean
- Set to trueto 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.
- webCommit BooleanSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allowAuto booleanMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allowMerge booleanCommit 
- Set to falseto disable merge commits on the repository.
- allowRebase booleanMerge 
- Set to falseto disable rebase merges on the repository.
- allowSquash booleanMerge 
- Set to falseto disable squash merges on the repository.
- allowUpdate booleanBranch 
- Set to trueto always suggest updating pull request branches.
- archiveOn booleanDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- defaultBranch string
- (Deprecated: Use github.BranchDefaultresource 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.
- deleteBranch booleanOn Merge 
- 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".
- gitClone stringUrl 
- URL that can be provided to git cloneto 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- hasDownloads boolean
- Set to trueto enable the (deprecated) downloads features on the repository.
- hasIssues boolean
- Set to trueto enable the GitHub Issues features on the repository.
- hasProjects boolean
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- hasWiki boolean
- Set to trueto 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.
- httpClone stringUrl 
- URL that can be provided to git cloneto clone the repository via HTTPS.
- ignoreVulnerability booleanAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- isTemplate boolean
- Set to trueto 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".
- mergeCommit stringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- mergeCommit stringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- repoId number
- GitHub ID for the repository
- securityAnd RepositoryAnalysis Security And Analysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squashMerge stringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squashMerge stringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- sshClone stringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svnUrl string
- URL that can be provided to svn checkoutto 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerabilityAlerts boolean
- Set to trueto 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.
- webCommit booleanSignoff Required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allow_auto_ boolmerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allow_merge_ boolcommit 
- Set to falseto disable merge commits on the repository.
- allow_rebase_ boolmerge 
- Set to falseto disable rebase merges on the repository.
- allow_squash_ boolmerge 
- Set to falseto disable squash merges on the repository.
- allow_update_ boolbranch 
- Set to trueto always suggest updating pull request branches.
- archive_on_ booldestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- default_branch str
- (Deprecated: Use github.BranchDefaultresource 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.
- delete_branch_ boolon_ merge 
- 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_ strurl 
- URL that can be provided to git cloneto 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- has_downloads bool
- Set to trueto enable the (deprecated) downloads features on the repository.
- has_issues bool
- Set to trueto enable the GitHub Issues features on the repository.
- has_projects bool
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- has_wiki bool
- Set to trueto 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_ strurl 
- URL that can be provided to git cloneto clone the repository via HTTPS.
- ignore_vulnerability_ boolalerts_ during_ read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- is_template bool
- Set to trueto 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_ strmessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- merge_commit_ strtitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- name str
- The name of the repository.
- node_id str
- GraphQL global node id for use with v4 API
- pages
RepositoryPages Args 
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- repo_id int
- GitHub ID for the repository
- security_and_ Repositoryanalysis Security And Analysis Args 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash_merge_ strcommit_ message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squash_merge_ strcommit_ title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- ssh_clone_ strurl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svn_url str
- URL that can be provided to svn checkoutto check out the repository via GitHub's Subversion protocol emulation.
- template
RepositoryTemplate Args 
- 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerability_alerts bool
- Set to trueto 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_ boolsignoff_ required 
- Require contributors to sign off on web-based commits. See more here. Defaults to false.
- allowAuto BooleanMerge 
- Set to trueto allow auto-merging pull requests on the repository.
- allowMerge BooleanCommit 
- Set to falseto disable merge commits on the repository.
- allowRebase BooleanMerge 
- Set to falseto disable rebase merges on the repository.
- allowSquash BooleanMerge 
- Set to falseto disable squash merges on the repository.
- allowUpdate BooleanBranch 
- Set to trueto always suggest updating pull request branches.
- archiveOn BooleanDestroy 
- Set to trueto 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 trueto produce an initial commit in the repository.
- defaultBranch String
- (Deprecated: Use github.BranchDefaultresource 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.
- deleteBranch BooleanOn Merge 
- 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".
- gitClone StringUrl 
- URL that can be provided to git cloneto 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 trueto enable GitHub Discussions on the repository. Defaults tofalse.
- hasDownloads Boolean
- Set to trueto enable the (deprecated) downloads features on the repository.
- hasIssues Boolean
- Set to trueto enable the GitHub Issues features on the repository.
- hasProjects Boolean
- Set to trueto enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalseand will otherwise default totrue. If you specifytruewhen it has been disabled it will return an error.
- hasWiki Boolean
- Set to trueto 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.
- httpClone StringUrl 
- URL that can be provided to git cloneto clone the repository via HTTPS.
- ignoreVulnerability BooleanAlerts During Read 
- Set to trueto not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read.
- isTemplate Boolean
- Set to trueto 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".
- mergeCommit StringMessage 
- Can be PR_BODY,PR_TITLE, orBLANKfor a default merge commit message. Applicable only ifallow_merge_commitistrue.
- mergeCommit StringTitle 
- Can be PR_TITLEorMERGE_MESSAGEfor a default merge commit title. Applicable only ifallow_merge_commitistrue.
- 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 trueto create a private repository. Repositories are created as public (e.g. open source) by default.
- repoId Number
- GitHub ID for the repository
- securityAnd Property MapAnalysis 
- The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squashMerge StringCommit Message 
- Can be PR_BODY,COMMIT_MESSAGES, orBLANKfor a default squash merge commit message. Applicable only ifallow_squash_mergeistrue.
- squashMerge StringCommit Title 
- Can be PR_TITLEorCOMMIT_OR_PR_TITLEfor a default squash merge commit title. Applicable only ifallow_squash_mergeistrue.
- sshClone StringUrl 
- URL that can be provided to git cloneto clone the repository via SSH.
- svnUrl String
- URL that can be provided to svn checkoutto 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 publicorprivate. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal. Thevisibilityparameter overrides theprivateparameter.
- vulnerabilityAlerts Boolean
- Set to trueto 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.
- webCommit BooleanSignoff Required 
- 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 legacyorworkflow. If you uselegacyas build type you need to set the optionsource.
- 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
RepositoryPages Source 
- 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. buildingorbuilt.
- Url string
- BuildType string
- The type of GitHub Pages site to build. Can be legacyorworkflow. If you uselegacyas build type you need to set the optionsource.
- 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
RepositoryPages Source 
- 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. buildingorbuilt.
- Url string
- buildType String
- The type of GitHub Pages site to build. Can be legacyorworkflow. If you uselegacyas build type you need to set the optionsource.
- 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
RepositoryPages Source 
- 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. buildingorbuilt.
- url String
- buildType string
- The type of GitHub Pages site to build. Can be legacyorworkflow. If you uselegacyas build type you need to set the optionsource.
- 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
RepositoryPages Source 
- 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. buildingorbuilt.
- url string
- build_type str
- The type of GitHub Pages site to build. Can be legacyorworkflow. If you uselegacyas build type you need to set the optionsource.
- 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
RepositoryPages Source 
- 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. buildingorbuilt.
- url str
- buildType String
- The type of GitHub Pages site to build. Can be legacyorworkflow. If you uselegacyas build type you need to set the optionsource.
- 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. buildingorbuilt.
- url String
RepositoryPagesSource, RepositoryPagesSourceArgs      
RepositorySecurityAndAnalysis, RepositorySecurityAndAnalysisArgs        
- AdvancedSecurity RepositorySecurity And Analysis Advanced Security 
- 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 RepositorySecurity And Analysis Secret Scanning 
- The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
- SecretScanning RepositoryPush Protection Security And Analysis Secret Scanning Push Protection 
- The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
- AdvancedSecurity RepositorySecurity And Analysis Advanced Security 
- 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 RepositorySecurity And Analysis Secret Scanning 
- The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
- SecretScanning RepositoryPush Protection Security And Analysis Secret Scanning Push Protection 
- The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
- advancedSecurity RepositorySecurity And Analysis Advanced Security 
- 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 RepositorySecurity And Analysis Secret Scanning 
- The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
- secretScanning RepositoryPush Protection Security And Analysis Secret Scanning Push Protection 
- The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
- advancedSecurity RepositorySecurity And Analysis Advanced Security 
- 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 RepositorySecurity And Analysis Secret Scanning 
- The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
- secretScanning RepositoryPush Protection Security And Analysis Secret Scanning Push Protection 
- The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
- advanced_security RepositorySecurity And Analysis Advanced Security 
- 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 RepositorySecurity And Analysis Secret Scanning 
- The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
- secret_scanning_ Repositorypush_ protection Security And Analysis Secret Scanning Push Protection 
- 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.
- secretScanning Property MapPush Protection 
- The secret scanning push protection configuration for the repository. See Secret Scanning Push Protection Configuration below for details.
RepositorySecurityAndAnalysisAdvancedSecurity, RepositorySecurityAndAnalysisAdvancedSecurityArgs            
- Status string
- Set to enabledto enable advanced security features on the repository. Can beenabledordisabled.
- Status string
- Set to enabledto enable advanced security features on the repository. Can beenabledordisabled.
- status String
- Set to enabledto enable advanced security features on the repository. Can beenabledordisabled.
- status string
- Set to enabledto enable advanced security features on the repository. Can beenabledordisabled.
- status str
- Set to enabledto enable advanced security features on the repository. Can beenabledordisabled.
- status String
- Set to enabledto enable advanced security features on the repository. Can beenabledordisabled.
RepositorySecurityAndAnalysisSecretScanning, RepositorySecurityAndAnalysisSecretScanningArgs            
- Status string
- The GitHub Pages site's build status e.g. buildingorbuilt.
- Status string
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status String
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status string
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status str
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status String
- The GitHub Pages site's build status e.g. buildingorbuilt.
RepositorySecurityAndAnalysisSecretScanningPushProtection, RepositorySecurityAndAnalysisSecretScanningPushProtectionArgs                
- Status string
- The GitHub Pages site's build status e.g. buildingorbuilt.
- Status string
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status String
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status string
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status str
- The GitHub Pages site's build status e.g. buildingorbuilt.
- status String
- The GitHub Pages site's build status e.g. buildingorbuilt.
RepositoryTemplate, RepositoryTemplateArgs    
- Owner string
- The GitHub organization or user the template repository is owned by.
- Repository string
- The name of the template repository.
- IncludeAll boolBranches 
- 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.
- IncludeAll boolBranches 
- 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.
- includeAll BooleanBranches 
- 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.
- includeAll booleanBranches 
- 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_ boolbranches 
- 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.
- includeAll BooleanBranches 
- 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 githubTerraform Provider.
