github.Repository
Explore with Pulumi AI
This resource allows you to create and manage repositories within your GitHub organization or personal account.
Note When used with GitHub App authentication, even GET requests must have the
contents:write
permission. Without it, the following arguments will be ignored, leading to unexpected behavior and confusing diffs:allow_merge_commit
,allow_squash_merge
,allow_rebase_merge
,merge_commit_title
,merge_commit_message
,squash_merge_commit_title
andsquash_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:
- Allow
Auto boolMerge - Set to
true
to allow auto-merging pull requests on the repository. - Allow
Merge boolCommit - Set to
false
to disable merge commits on the repository. - Allow
Rebase boolMerge - Set to
false
to disable rebase merges on the repository. - Allow
Squash boolMerge - Set to
false
to disable squash merges on the repository. - Allow
Update boolBranch - Set to
true
to always suggest updating pull request branches. - Archive
On boolDestroy - Set to
true
to archive the repository instead of deleting on destroy. - Archived bool
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - Auto
Init bool - Set to
true
to produce an initial commit in the repository. - Default
Branch string - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - Delete
Branch boolOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - Description string
- A description of the repository.
- Gitignore
Template string - Use the name of the template without the extension. For example, "Haskell".
- Has
Discussions bool - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - Has
Downloads bool - Set to
true
to enable the (deprecated) downloads features on the repository. - Has
Issues bool - Set to
true
to enable the GitHub Issues features on the repository. - Has
Projects bool - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - Has
Wiki bool - Set to
true
to enable the GitHub Wiki features on the repository. - Homepage
Url string - URL of a page describing the project.
- Ignore
Vulnerability boolAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - Is
Template bool - Set to
true
to tell GitHub that this is a template repository. - License
Template string - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- Merge
Commit stringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - Merge
Commit stringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - Name string
- The name of the repository.
- Pages
Repository
Pages - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- Private bool
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - Security
And RepositoryAnalysis Security And Analysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- Squash
Merge stringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - Squash
Merge stringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - Template
Repository
Template - Use a template repository to create this resource. See Template Repositories below for details.
- Topics List<string>
- The list of topics of the repository.
- Visibility string
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - Vulnerability
Alerts bool - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - Web
Commit boolSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- Allow
Auto boolMerge - Set to
true
to allow auto-merging pull requests on the repository. - Allow
Merge boolCommit - Set to
false
to disable merge commits on the repository. - Allow
Rebase boolMerge - Set to
false
to disable rebase merges on the repository. - Allow
Squash boolMerge - Set to
false
to disable squash merges on the repository. - Allow
Update boolBranch - Set to
true
to always suggest updating pull request branches. - Archive
On boolDestroy - Set to
true
to archive the repository instead of deleting on destroy. - Archived bool
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - Auto
Init bool - Set to
true
to produce an initial commit in the repository. - Default
Branch string - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - Delete
Branch boolOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - Description string
- A description of the repository.
- Gitignore
Template string - Use the name of the template without the extension. For example, "Haskell".
- Has
Discussions bool - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - Has
Downloads bool - Set to
true
to enable the (deprecated) downloads features on the repository. - Has
Issues bool - Set to
true
to enable the GitHub Issues features on the repository. - Has
Projects bool - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - Has
Wiki bool - Set to
true
to enable the GitHub Wiki features on the repository. - Homepage
Url string - URL of a page describing the project.
- Ignore
Vulnerability boolAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - Is
Template bool - Set to
true
to tell GitHub that this is a template repository. - License
Template string - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- Merge
Commit stringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - Merge
Commit stringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - Name string
- The name of the repository.
- Pages
Repository
Pages Args - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- Private bool
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - Security
And RepositoryAnalysis Security And Analysis Args - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- Squash
Merge stringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - Squash
Merge stringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - Template
Repository
Template 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
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - Vulnerability
Alerts bool - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - Web
Commit boolSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow
Auto BooleanMerge - Set to
true
to allow auto-merging pull requests on the repository. - allow
Merge BooleanCommit - Set to
false
to disable merge commits on the repository. - allow
Rebase BooleanMerge - Set to
false
to disable rebase merges on the repository. - allow
Squash BooleanMerge - Set to
false
to disable squash merges on the repository. - allow
Update BooleanBranch - Set to
true
to always suggest updating pull request branches. - archive
On BooleanDestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived Boolean
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto
Init Boolean - Set to
true
to produce an initial commit in the repository. - default
Branch String - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - delete
Branch BooleanOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - description String
- A description of the repository.
- gitignore
Template String - Use the name of the template without the extension. For example, "Haskell".
- has
Discussions Boolean - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has
Downloads Boolean - Set to
true
to enable the (deprecated) downloads features on the repository. - has
Issues Boolean - Set to
true
to enable the GitHub Issues features on the repository. - has
Projects Boolean - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has
Wiki Boolean - Set to
true
to enable the GitHub Wiki features on the repository. - homepage
Url String - URL of a page describing the project.
- ignore
Vulnerability BooleanAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is
Template Boolean - Set to
true
to tell GitHub that this is a template repository. - license
Template String - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge
Commit StringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge
Commit StringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name String
- The name of the repository.
- pages
Repository
Pages - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- private_ Boolean
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - security
And RepositoryAnalysis Security And Analysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash
Merge StringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash
Merge StringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - template
Repository
Template - Use a template repository to create this resource. See Template Repositories below for details.
- topics List<String>
- The list of topics of the repository.
- visibility String
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability
Alerts Boolean - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web
Commit BooleanSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow
Auto booleanMerge - Set to
true
to allow auto-merging pull requests on the repository. - allow
Merge booleanCommit - Set to
false
to disable merge commits on the repository. - allow
Rebase booleanMerge - Set to
false
to disable rebase merges on the repository. - allow
Squash booleanMerge - Set to
false
to disable squash merges on the repository. - allow
Update booleanBranch - Set to
true
to always suggest updating pull request branches. - archive
On booleanDestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived boolean
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto
Init boolean - Set to
true
to produce an initial commit in the repository. - default
Branch string - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - delete
Branch booleanOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - description string
- A description of the repository.
- gitignore
Template string - Use the name of the template without the extension. For example, "Haskell".
- has
Discussions boolean - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has
Downloads boolean - Set to
true
to enable the (deprecated) downloads features on the repository. - has
Issues boolean - Set to
true
to enable the GitHub Issues features on the repository. - has
Projects boolean - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has
Wiki boolean - Set to
true
to enable the GitHub Wiki features on the repository. - homepage
Url string - URL of a page describing the project.
- ignore
Vulnerability booleanAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is
Template boolean - Set to
true
to tell GitHub that this is a template repository. - license
Template string - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge
Commit stringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge
Commit stringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name string
- The name of the repository.
- pages
Repository
Pages - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- private boolean
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - security
And RepositoryAnalysis Security And Analysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash
Merge stringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash
Merge stringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - template
Repository
Template - Use a template repository to create this resource. See Template Repositories below for details.
- topics string[]
- The list of topics of the repository.
- visibility string
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability
Alerts boolean - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web
Commit booleanSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow_
auto_ boolmerge - Set to
true
to allow auto-merging pull requests on the repository. - allow_
merge_ boolcommit - Set to
false
to disable merge commits on the repository. - allow_
rebase_ boolmerge - Set to
false
to disable rebase merges on the repository. - allow_
squash_ boolmerge - Set to
false
to disable squash merges on the repository. - allow_
update_ boolbranch - Set to
true
to always suggest updating pull request branches. - archive_
on_ booldestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived bool
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto_
init bool - Set to
true
to produce an initial commit in the repository. - default_
branch str - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - 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
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has_
downloads bool - Set to
true
to enable the (deprecated) downloads features on the repository. - has_
issues bool - Set to
true
to enable the GitHub Issues features on the repository. - has_
projects bool - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has_
wiki bool - Set to
true
to enable the GitHub Wiki features on the repository. - homepage_
url str - URL of a page describing the project.
- ignore_
vulnerability_ boolalerts_ during_ read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is_
template bool - Set to
true
to tell GitHub that this is a template repository. - license_
template str - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge_
commit_ strmessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge_
commit_ strtitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name str
- The name of the repository.
- pages
Repository
Pages Args - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- private bool
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - 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
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash_
merge_ strcommit_ title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - template
Repository
Template 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
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability_
alerts bool - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web_
commit_ boolsignoff_ required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow
Auto BooleanMerge - Set to
true
to allow auto-merging pull requests on the repository. - allow
Merge BooleanCommit - Set to
false
to disable merge commits on the repository. - allow
Rebase BooleanMerge - Set to
false
to disable rebase merges on the repository. - allow
Squash BooleanMerge - Set to
false
to disable squash merges on the repository. - allow
Update BooleanBranch - Set to
true
to always suggest updating pull request branches. - archive
On BooleanDestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived Boolean
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto
Init Boolean - Set to
true
to produce an initial commit in the repository. - default
Branch String - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - delete
Branch BooleanOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - description String
- A description of the repository.
- gitignore
Template String - Use the name of the template without the extension. For example, "Haskell".
- has
Discussions Boolean - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has
Downloads Boolean - Set to
true
to enable the (deprecated) downloads features on the repository. - has
Issues Boolean - Set to
true
to enable the GitHub Issues features on the repository. - has
Projects Boolean - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has
Wiki Boolean - Set to
true
to enable the GitHub Wiki features on the repository. - homepage
Url String - URL of a page describing the project.
- ignore
Vulnerability BooleanAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is
Template Boolean - Set to
true
to tell GitHub that this is a template repository. - license
Template String - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge
Commit StringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge
Commit StringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name String
- The name of the repository.
- pages Property Map
- The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- private Boolean
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - security
And Property MapAnalysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash
Merge StringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash
Merge StringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - template Property Map
- Use a template repository to create this resource. See Template Repositories below for details.
- topics List<String>
- The list of topics of the repository.
- visibility String
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability
Alerts Boolean - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web
Commit 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
- Full
Name string - A string of the form "orgname/reponame".
- Git
Clone stringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - Html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - Http
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - Id string
- The provider-assigned unique ID for this managed resource.
- Node
Id string - GraphQL global node id for use with v4 API
- Primary
Language string - The primary language used in the repository.
- Repo
Id int - GitHub ID for the repository
- Ssh
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - Svn
Url string - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation.
- Etag string
- Full
Name string - A string of the form "orgname/reponame".
- Git
Clone stringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - Html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - Http
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - Id string
- The provider-assigned unique ID for this managed resource.
- Node
Id string - GraphQL global node id for use with v4 API
- Primary
Language string - The primary language used in the repository.
- Repo
Id int - GitHub ID for the repository
- Ssh
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - Svn
Url string - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation.
- etag String
- full
Name String - A string of the form "orgname/reponame".
- git
Clone StringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - html
Url String - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - id String
- The provider-assigned unique ID for this managed resource.
- node
Id String - GraphQL global node id for use with v4 API
- primary
Language String - The primary language used in the repository.
- repo
Id Integer - GitHub ID for the repository
- ssh
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - svn
Url String - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation.
- etag string
- full
Name string - A string of the form "orgname/reponame".
- git
Clone stringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - id string
- The provider-assigned unique ID for this managed resource.
- node
Id string - GraphQL global node id for use with v4 API
- primary
Language string - The primary language used in the repository.
- repo
Id number - GitHub ID for the repository
- ssh
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - svn
Url string - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation.
- etag str
- full_
name str - A string of the form "orgname/reponame".
- git_
clone_ strurl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - html_
url str - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http_
clone_ strurl - URL that can be provided to
git clone
to clone the repository via HTTPS. - id str
- The provider-assigned unique ID for this managed resource.
- node_
id str - GraphQL global node id for use with v4 API
- primary_
language str - The primary language used in the repository.
- repo_
id int - GitHub ID for the repository
- ssh_
clone_ strurl - URL that can be provided to
git clone
to clone the repository via SSH. - svn_
url str - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation.
- etag String
- full
Name String - A string of the form "orgname/reponame".
- git
Clone StringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - html
Url String - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - id String
- The provider-assigned unique ID for this managed resource.
- node
Id String - GraphQL global node id for use with v4 API
- primary
Language String - The primary language used in the repository.
- repo
Id Number - GitHub ID for the repository
- ssh
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - svn
Url String - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation.
Look up Existing Repository Resource
Get an existing Repository resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: RepositoryState, opts?: CustomResourceOptions): Repository
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
allow_auto_merge: Optional[bool] = None,
allow_merge_commit: Optional[bool] = None,
allow_rebase_merge: Optional[bool] = None,
allow_squash_merge: Optional[bool] = None,
allow_update_branch: Optional[bool] = None,
archive_on_destroy: Optional[bool] = None,
archived: Optional[bool] = None,
auto_init: Optional[bool] = None,
default_branch: Optional[str] = None,
delete_branch_on_merge: Optional[bool] = None,
description: Optional[str] = None,
etag: Optional[str] = None,
full_name: Optional[str] = None,
git_clone_url: Optional[str] = None,
gitignore_template: Optional[str] = None,
has_discussions: Optional[bool] = None,
has_downloads: Optional[bool] = None,
has_issues: Optional[bool] = None,
has_projects: Optional[bool] = None,
has_wiki: Optional[bool] = None,
homepage_url: Optional[str] = None,
html_url: Optional[str] = None,
http_clone_url: Optional[str] = None,
ignore_vulnerability_alerts_during_read: Optional[bool] = None,
is_template: Optional[bool] = None,
license_template: Optional[str] = None,
merge_commit_message: Optional[str] = None,
merge_commit_title: Optional[str] = None,
name: Optional[str] = None,
node_id: Optional[str] = None,
pages: Optional[RepositoryPagesArgs] = None,
primary_language: Optional[str] = None,
private: Optional[bool] = None,
repo_id: Optional[int] = None,
security_and_analysis: Optional[RepositorySecurityAndAnalysisArgs] = None,
squash_merge_commit_message: Optional[str] = None,
squash_merge_commit_title: Optional[str] = None,
ssh_clone_url: Optional[str] = None,
svn_url: Optional[str] = None,
template: Optional[RepositoryTemplateArgs] = None,
topics: Optional[Sequence[str]] = None,
visibility: Optional[str] = None,
vulnerability_alerts: Optional[bool] = None,
web_commit_signoff_required: Optional[bool] = None) -> Repository
func GetRepository(ctx *Context, name string, id IDInput, state *RepositoryState, opts ...ResourceOption) (*Repository, error)
public static Repository Get(string name, Input<string> id, RepositoryState? state, CustomResourceOptions? opts = null)
public static Repository get(String name, Output<String> id, RepositoryState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Allow
Auto boolMerge - Set to
true
to allow auto-merging pull requests on the repository. - Allow
Merge boolCommit - Set to
false
to disable merge commits on the repository. - Allow
Rebase boolMerge - Set to
false
to disable rebase merges on the repository. - Allow
Squash boolMerge - Set to
false
to disable squash merges on the repository. - Allow
Update boolBranch - Set to
true
to always suggest updating pull request branches. - Archive
On boolDestroy - Set to
true
to archive the repository instead of deleting on destroy. - Archived bool
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - Auto
Init bool - Set to
true
to produce an initial commit in the repository. - Default
Branch string - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - Delete
Branch boolOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - Description string
- A description of the repository.
- Etag string
- Full
Name string - A string of the form "orgname/reponame".
- Git
Clone stringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - Gitignore
Template string - Use the name of the template without the extension. For example, "Haskell".
- Has
Discussions bool - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - Has
Downloads bool - Set to
true
to enable the (deprecated) downloads features on the repository. - Has
Issues bool - Set to
true
to enable the GitHub Issues features on the repository. - Has
Projects bool - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - Has
Wiki bool - Set to
true
to enable the GitHub Wiki features on the repository. - Homepage
Url string - URL of a page describing the project.
- Html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - Http
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - Ignore
Vulnerability boolAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - Is
Template bool - Set to
true
to tell GitHub that this is a template repository. - License
Template string - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- Merge
Commit stringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - Merge
Commit stringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - Name string
- The name of the repository.
- Node
Id string - GraphQL global node id for use with v4 API
- Pages
Repository
Pages - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- Primary
Language string - The primary language used in the repository.
- Private bool
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - Repo
Id int - GitHub ID for the repository
- Security
And RepositoryAnalysis Security And Analysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- Squash
Merge stringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - Squash
Merge stringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - Ssh
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - Svn
Url string - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation. - Template
Repository
Template - Use a template repository to create this resource. See Template Repositories below for details.
- Topics List<string>
- The list of topics of the repository.
- Visibility string
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - Vulnerability
Alerts bool - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - Web
Commit boolSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- Allow
Auto boolMerge - Set to
true
to allow auto-merging pull requests on the repository. - Allow
Merge boolCommit - Set to
false
to disable merge commits on the repository. - Allow
Rebase boolMerge - Set to
false
to disable rebase merges on the repository. - Allow
Squash boolMerge - Set to
false
to disable squash merges on the repository. - Allow
Update boolBranch - Set to
true
to always suggest updating pull request branches. - Archive
On boolDestroy - Set to
true
to archive the repository instead of deleting on destroy. - Archived bool
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - Auto
Init bool - Set to
true
to produce an initial commit in the repository. - Default
Branch string - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - Delete
Branch boolOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - Description string
- A description of the repository.
- Etag string
- Full
Name string - A string of the form "orgname/reponame".
- Git
Clone stringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - Gitignore
Template string - Use the name of the template without the extension. For example, "Haskell".
- Has
Discussions bool - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - Has
Downloads bool - Set to
true
to enable the (deprecated) downloads features on the repository. - Has
Issues bool - Set to
true
to enable the GitHub Issues features on the repository. - Has
Projects bool - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - Has
Wiki bool - Set to
true
to enable the GitHub Wiki features on the repository. - Homepage
Url string - URL of a page describing the project.
- Html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - Http
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - Ignore
Vulnerability boolAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - Is
Template bool - Set to
true
to tell GitHub that this is a template repository. - License
Template string - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- Merge
Commit stringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - Merge
Commit stringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - Name string
- The name of the repository.
- Node
Id string - GraphQL global node id for use with v4 API
- Pages
Repository
Pages Args - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- Primary
Language string - The primary language used in the repository.
- Private bool
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - 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 stringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - Squash
Merge stringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - Ssh
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - Svn
Url string - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation. - Template
Repository
Template 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
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - Vulnerability
Alerts bool - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - Web
Commit boolSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow
Auto BooleanMerge - Set to
true
to allow auto-merging pull requests on the repository. - allow
Merge BooleanCommit - Set to
false
to disable merge commits on the repository. - allow
Rebase BooleanMerge - Set to
false
to disable rebase merges on the repository. - allow
Squash BooleanMerge - Set to
false
to disable squash merges on the repository. - allow
Update BooleanBranch - Set to
true
to always suggest updating pull request branches. - archive
On BooleanDestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived Boolean
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto
Init Boolean - Set to
true
to produce an initial commit in the repository. - default
Branch String - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - delete
Branch BooleanOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - description String
- A description of the repository.
- etag String
- full
Name String - A string of the form "orgname/reponame".
- git
Clone StringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - gitignore
Template String - Use the name of the template without the extension. For example, "Haskell".
- has
Discussions Boolean - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has
Downloads Boolean - Set to
true
to enable the (deprecated) downloads features on the repository. - has
Issues Boolean - Set to
true
to enable the GitHub Issues features on the repository. - has
Projects Boolean - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has
Wiki Boolean - Set to
true
to enable the GitHub Wiki features on the repository. - homepage
Url String - URL of a page describing the project.
- html
Url String - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - ignore
Vulnerability BooleanAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is
Template Boolean - Set to
true
to tell GitHub that this is a template repository. - license
Template String - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge
Commit StringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge
Commit StringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name String
- The name of the repository.
- node
Id String - GraphQL global node id for use with v4 API
- pages
Repository
Pages - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- primary
Language String - The primary language used in the repository.
- private_ Boolean
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - repo
Id Integer - GitHub ID for the repository
- security
And RepositoryAnalysis Security And Analysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash
Merge StringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash
Merge StringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - ssh
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - svn
Url String - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation. - template
Repository
Template - Use a template repository to create this resource. See Template Repositories below for details.
- topics List<String>
- The list of topics of the repository.
- visibility String
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability
Alerts Boolean - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web
Commit BooleanSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow
Auto booleanMerge - Set to
true
to allow auto-merging pull requests on the repository. - allow
Merge booleanCommit - Set to
false
to disable merge commits on the repository. - allow
Rebase booleanMerge - Set to
false
to disable rebase merges on the repository. - allow
Squash booleanMerge - Set to
false
to disable squash merges on the repository. - allow
Update booleanBranch - Set to
true
to always suggest updating pull request branches. - archive
On booleanDestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived boolean
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto
Init boolean - Set to
true
to produce an initial commit in the repository. - default
Branch string - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - delete
Branch booleanOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - description string
- A description of the repository.
- etag string
- full
Name string - A string of the form "orgname/reponame".
- git
Clone stringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - gitignore
Template string - Use the name of the template without the extension. For example, "Haskell".
- has
Discussions boolean - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has
Downloads boolean - Set to
true
to enable the (deprecated) downloads features on the repository. - has
Issues boolean - Set to
true
to enable the GitHub Issues features on the repository. - has
Projects boolean - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has
Wiki boolean - Set to
true
to enable the GitHub Wiki features on the repository. - homepage
Url string - URL of a page describing the project.
- html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - ignore
Vulnerability booleanAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is
Template boolean - Set to
true
to tell GitHub that this is a template repository. - license
Template string - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge
Commit stringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge
Commit stringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name string
- The name of the repository.
- node
Id string - GraphQL global node id for use with v4 API
- pages
Repository
Pages - The repository's GitHub Pages configuration. See GitHub Pages Configuration below for details.
- primary
Language string - The primary language used in the repository.
- private boolean
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - repo
Id number - GitHub ID for the repository
- security
And RepositoryAnalysis Security And Analysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash
Merge stringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash
Merge stringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - ssh
Clone stringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - svn
Url string - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation. - template
Repository
Template - Use a template repository to create this resource. See Template Repositories below for details.
- topics string[]
- The list of topics of the repository.
- visibility string
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability
Alerts boolean - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web
Commit booleanSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow_
auto_ boolmerge - Set to
true
to allow auto-merging pull requests on the repository. - allow_
merge_ boolcommit - Set to
false
to disable merge commits on the repository. - allow_
rebase_ boolmerge - Set to
false
to disable rebase merges on the repository. - allow_
squash_ boolmerge - Set to
false
to disable squash merges on the repository. - allow_
update_ boolbranch - Set to
true
to always suggest updating pull request branches. - archive_
on_ booldestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived bool
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto_
init bool - Set to
true
to produce an initial commit in the repository. - default_
branch str - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - 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 clone
to clone the repository anonymously via the git protocol. - gitignore_
template str - Use the name of the template without the extension. For example, "Haskell".
- has_
discussions bool - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has_
downloads bool - Set to
true
to enable the (deprecated) downloads features on the repository. - has_
issues bool - Set to
true
to enable the GitHub Issues features on the repository. - has_
projects bool - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has_
wiki bool - Set to
true
to enable the GitHub Wiki features on the repository. - homepage_
url str - URL of a page describing the project.
- html_
url str - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http_
clone_ strurl - URL that can be provided to
git clone
to clone the repository via HTTPS. - ignore_
vulnerability_ boolalerts_ during_ read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is_
template bool - Set to
true
to tell GitHub that this is a template repository. - license_
template str - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge_
commit_ strmessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge_
commit_ strtitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name str
- The name of the repository.
- node_
id str - GraphQL global node id for use with v4 API
- pages
Repository
Pages 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
true
to 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
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash_
merge_ strcommit_ title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - ssh_
clone_ strurl - URL that can be provided to
git clone
to clone the repository via SSH. - svn_
url str - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation. - template
Repository
Template 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
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability_
alerts bool - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web_
commit_ boolsignoff_ required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
- allow
Auto BooleanMerge - Set to
true
to allow auto-merging pull requests on the repository. - allow
Merge BooleanCommit - Set to
false
to disable merge commits on the repository. - allow
Rebase BooleanMerge - Set to
false
to disable rebase merges on the repository. - allow
Squash BooleanMerge - Set to
false
to disable squash merges on the repository. - allow
Update BooleanBranch - Set to
true
to always suggest updating pull request branches. - archive
On BooleanDestroy - Set to
true
to archive the repository instead of deleting on destroy. - archived Boolean
- Specifies if the repository should be archived. Defaults to
false
. NOTE Currently, the API does not support unarchiving. - auto
Init Boolean - Set to
true
to produce an initial commit in the repository. - default
Branch String - (Deprecated: Use
github.BranchDefault
resource instead) The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute. - delete
Branch BooleanOn Merge - Automatically delete head branch after a pull request is merged. Defaults to
false
. - description String
- A description of the repository.
- etag String
- full
Name String - A string of the form "orgname/reponame".
- git
Clone StringUrl - URL that can be provided to
git clone
to clone the repository anonymously via the git protocol. - gitignore
Template String - Use the name of the template without the extension. For example, "Haskell".
- has
Discussions Boolean - Set to
true
to enable GitHub Discussions on the repository. Defaults tofalse
. - has
Downloads Boolean - Set to
true
to enable the (deprecated) downloads features on the repository. - has
Issues Boolean - Set to
true
to enable the GitHub Issues features on the repository. - has
Projects Boolean - Set to
true
to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default tofalse
and will otherwise default totrue
. If you specifytrue
when it has been disabled it will return an error. - has
Wiki Boolean - Set to
true
to enable the GitHub Wiki features on the repository. - homepage
Url String - URL of a page describing the project.
- html
Url String - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - http
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via HTTPS. - ignore
Vulnerability BooleanAlerts During Read - Set to
true
to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. - is
Template Boolean - Set to
true
to tell GitHub that this is a template repository. - license
Template String - Use the name of the template without the extension. For example, "mit" or "mpl-2.0".
- merge
Commit StringMessage - Can be
PR_BODY
,PR_TITLE
, orBLANK
for a default merge commit message. Applicable only ifallow_merge_commit
istrue
. - merge
Commit StringTitle - Can be
PR_TITLE
orMERGE_MESSAGE
for a default merge commit title. Applicable only ifallow_merge_commit
istrue
. - name String
- The name of the repository.
- node
Id 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.
- primary
Language String - The primary language used in the repository.
- private Boolean
- Set to
true
to create a private repository. Repositories are created as public (e.g. open source) by default. - repo
Id Number - GitHub ID for the repository
- security
And Property MapAnalysis - The repository's security and analysis configuration. See Security and Analysis Configuration below for details.
- squash
Merge StringCommit Message - Can be
PR_BODY
,COMMIT_MESSAGES
, orBLANK
for a default squash merge commit message. Applicable only ifallow_squash_merge
istrue
. - squash
Merge StringCommit Title - Can be
PR_TITLE
orCOMMIT_OR_PR_TITLE
for a default squash merge commit title. Applicable only ifallow_squash_merge
istrue
. - ssh
Clone StringUrl - URL that can be provided to
git clone
to clone the repository via SSH. - svn
Url String - URL that can be provided to
svn checkout
to check out the repository via GitHub's Subversion protocol emulation. - template Property Map
- Use a template repository to create this resource. See Template Repositories below for details.
- topics List<String>
- The list of topics of the repository.
- visibility String
- Can be
public
orprivate
. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also beinternal
. Thevisibility
parameter overrides theprivate
parameter. - vulnerability
Alerts Boolean - Set to
true
to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See GitHub Documentation for details. Note that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. - web
Commit BooleanSignoff Required - Require contributors to sign off on web-based commits. See more here. Defaults to
false
.
Supporting Types
RepositoryPages, RepositoryPagesArgs
- Build
Type string - The type of GitHub Pages site to build. Can be
legacy
orworkflow
. If you uselegacy
as 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.
- Html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - Source
Repository
Pages 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.
building
orbuilt
. - Url string
- Build
Type string - The type of GitHub Pages site to build. Can be
legacy
orworkflow
. If you uselegacy
as 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.
- Html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - Source
Repository
Pages 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.
building
orbuilt
. - Url string
- build
Type String - The type of GitHub Pages site to build. Can be
legacy
orworkflow
. If you uselegacy
as 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.
- html
Url String - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - source
Repository
Pages 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.
building
orbuilt
. - url String
- build
Type string - The type of GitHub Pages site to build. Can be
legacy
orworkflow
. If you uselegacy
as 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.
- html
Url string - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - source
Repository
Pages 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.
building
orbuilt
. - url string
- build_
type str - The type of GitHub Pages site to build. Can be
legacy
orworkflow
. If you uselegacy
as 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
Repository
Pages 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.
building
orbuilt
. - url str
- build
Type String - The type of GitHub Pages site to build. Can be
legacy
orworkflow
. If you uselegacy
as 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.
- html
Url String - The absolute URL (including scheme) of the rendered GitHub Pages site e.g.
https://username.github.io
. - source Property Map
- The source branch and directory for the rendered Pages site. See GitHub Pages Source below for details.
- status String
- The GitHub Pages site's build status e.g.
building
orbuilt
. - url String
RepositoryPagesSource, RepositoryPagesSourceArgs
RepositorySecurityAndAnalysis, RepositorySecurityAndAnalysisArgs
- 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.
- 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.
- 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.
- 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.
- 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.
- advanced
Security 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. - secret
Scanning Property Map - The secret scanning configuration for the repository. See Secret Scanning Configuration below for details.
- secret
Scanning 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
enabled
to enable advanced security features on the repository. Can beenabled
ordisabled
.
- Status string
- Set to
enabled
to enable advanced security features on the repository. Can beenabled
ordisabled
.
- status String
- Set to
enabled
to enable advanced security features on the repository. Can beenabled
ordisabled
.
- status string
- Set to
enabled
to enable advanced security features on the repository. Can beenabled
ordisabled
.
- status str
- Set to
enabled
to enable advanced security features on the repository. Can beenabled
ordisabled
.
- status String
- Set to
enabled
to enable advanced security features on the repository. Can beenabled
ordisabled
.
RepositorySecurityAndAnalysisSecretScanning, RepositorySecurityAndAnalysisSecretScanningArgs
- Status string
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- Status string
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status String
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status string
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status str
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status String
- The GitHub Pages site's build status e.g.
building
orbuilt
.
RepositorySecurityAndAnalysisSecretScanningPushProtection, RepositorySecurityAndAnalysisSecretScanningPushProtectionArgs
- Status string
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- Status string
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status String
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status string
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status str
- The GitHub Pages site's build status e.g.
building
orbuilt
.
- status String
- The GitHub Pages site's build status e.g.
building
orbuilt
.
RepositoryTemplate, RepositoryTemplateArgs
- Owner string
- The GitHub organization or user the template repository is owned by.
- Repository string
- 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.
- 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.
- include
All 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.
- include
All 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.
- include
All 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
github
Terraform Provider.