diff --git a/github/data_source_github_repository.go b/github/data_source_github_repository.go index 67f1b22c19..4706ad4da4 100644 --- a/github/data_source_github_repository.go +++ b/github/data_source_github_repository.go @@ -79,6 +79,11 @@ func dataSourceGithubRepository() *schema.Resource { Type: schema.TypeBool, Computed: true, }, + "allow_forking": { + Type: schema.TypeBool, + Optional: true, + Default: true, + }, "default_branch": { Type: schema.TypeString, Computed: true, @@ -229,6 +234,7 @@ func dataSourceGithubRepositoryRead(d *schema.ResourceData, meta interface{}) er d.Set("allow_squash_merge", repo.GetAllowSquashMerge()) d.Set("allow_rebase_merge", repo.GetAllowRebaseMerge()) d.Set("allow_auto_merge", repo.GetAllowAutoMerge()) + d.Set("allow_forking", repo.GetAllowForking()) d.Set("has_downloads", repo.GetHasDownloads()) d.Set("full_name", repo.GetFullName()) d.Set("default_branch", repo.GetDefaultBranch()) diff --git a/github/resource_github_repository.go b/github/resource_github_repository.go index 38567d5d45..11c191a2bd 100644 --- a/github/resource_github_repository.go +++ b/github/resource_github_repository.go @@ -94,6 +94,11 @@ func resourceGithubRepository() *schema.Resource { Optional: true, Default: false, }, + "allow_forking": { + Type: schema.TypeBool, + Optional: true, + Default: true, + }, "delete_branch_on_merge": { Type: schema.TypeBool, Optional: true, @@ -295,6 +300,7 @@ func resourceGithubRepositoryObject(d *schema.ResourceData) *github.Repository { AllowSquashMerge: github.Bool(d.Get("allow_squash_merge").(bool)), AllowRebaseMerge: github.Bool(d.Get("allow_rebase_merge").(bool)), AllowAutoMerge: github.Bool(d.Get("allow_auto_merge").(bool)), + AllowForking: github.Bool(d.Get("allow_forking").(bool)), DeleteBranchOnMerge: github.Bool(d.Get("delete_branch_on_merge").(bool)), AutoInit: github.Bool(d.Get("auto_init").(bool)), LicenseTemplate: github.String(d.Get("license_template").(string)), @@ -440,6 +446,7 @@ func resourceGithubRepositoryRead(d *schema.ResourceData, meta interface{}) erro d.Set("allow_squash_merge", repo.GetAllowSquashMerge()) d.Set("allow_rebase_merge", repo.GetAllowRebaseMerge()) d.Set("allow_auto_merge", repo.GetAllowAutoMerge()) + d.Set("allow_forking", repo.GetAllowForking()) d.Set("delete_branch_on_merge", repo.GetDeleteBranchOnMerge()) d.Set("has_downloads", repo.GetHasDownloads()) d.Set("full_name", repo.GetFullName()) diff --git a/github/resource_github_repository_test.go b/github/resource_github_repository_test.go index 8814659406..b388a0580f 100644 --- a/github/resource_github_repository_test.go +++ b/github/resource_github_repository_test.go @@ -31,6 +31,7 @@ func TestAccGithubRepositories(t *testing.T) { allow_squash_merge = false allow_rebase_merge = false allow_auto_merge = true + allow_forking = false auto_init = false } @@ -45,6 +46,10 @@ func TestAccGithubRepositories(t *testing.T) { "github_repository.test", "allow_auto_merge", "true", ), + resource.TestCheckResourceAttr( + "github_repository.test", "allow_forking", + "false", + ), ) testCase := func(t *testing.T, mode string) { diff --git a/website/docs/d/repository.html.markdown b/website/docs/d/repository.html.markdown index 59f934bffc..d3ef8905a6 100644 --- a/website/docs/d/repository.html.markdown +++ b/website/docs/d/repository.html.markdown @@ -51,6 +51,8 @@ The following arguments are supported: * `allow_auto_merge` - Whether the repository allows auto-merging pull requests. +* `allow_forking` - Whether true to allow private forks, or false to prevent private forks. + * `has_downloads` - Whether the repository has Downloads feature enabled. * `default_branch` - The name of the default branch of the repository.