github.RepositoryRuleset
Explore with Pulumi AI
Creates a GitHub repository ruleset.
This resource allows you to create and manage rulesets on the repository level. When applied, a new ruleset will be created. When destroyed, that ruleset will be removed.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";
const example = new github.Repository("example", {
name: "example",
description: "Example repository",
});
const exampleRepositoryRuleset = new github.RepositoryRuleset("example", {
name: "example",
repository: example.name,
target: "branch",
enforcement: "active",
conditions: {
refName: {
includes: ["~ALL"],
excludes: [],
},
},
bypassActors: [{
actorId: 13473,
actorType: "Integration",
bypassMode: "always",
}],
rules: {
creation: true,
update: true,
deletion: true,
requiredLinearHistory: true,
requiredSignatures: true,
requiredDeployments: {
requiredDeploymentEnvironments: ["test"],
},
},
});
import pulumi
import pulumi_github as github
example = github.Repository("example",
name="example",
description="Example repository")
example_repository_ruleset = github.RepositoryRuleset("example",
name="example",
repository=example.name,
target="branch",
enforcement="active",
conditions={
"ref_name": {
"includes": ["~ALL"],
"excludes": [],
},
},
bypass_actors=[{
"actor_id": 13473,
"actor_type": "Integration",
"bypass_mode": "always",
}],
rules={
"creation": True,
"update": True,
"deletion": True,
"required_linear_history": True,
"required_signatures": True,
"required_deployments": {
"required_deployment_environments": ["test"],
},
})
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 {
example, err := github.NewRepository(ctx, "example", &github.RepositoryArgs{
Name: pulumi.String("example"),
Description: pulumi.String("Example repository"),
})
if err != nil {
return err
}
_, err = github.NewRepositoryRuleset(ctx, "example", &github.RepositoryRulesetArgs{
Name: pulumi.String("example"),
Repository: example.Name,
Target: pulumi.String("branch"),
Enforcement: pulumi.String("active"),
Conditions: &github.RepositoryRulesetConditionsArgs{
RefName: &github.RepositoryRulesetConditionsRefNameArgs{
Includes: pulumi.StringArray{
pulumi.String("~ALL"),
},
Excludes: pulumi.StringArray{},
},
},
BypassActors: github.RepositoryRulesetBypassActorArray{
&github.RepositoryRulesetBypassActorArgs{
ActorId: pulumi.Int(13473),
ActorType: pulumi.String("Integration"),
BypassMode: pulumi.String("always"),
},
},
Rules: &github.RepositoryRulesetRulesArgs{
Creation: pulumi.Bool(true),
Update: pulumi.Bool(true),
Deletion: pulumi.Bool(true),
RequiredLinearHistory: pulumi.Bool(true),
RequiredSignatures: pulumi.Bool(true),
RequiredDeployments: &github.RepositoryRulesetRulesRequiredDeploymentsArgs{
RequiredDeploymentEnvironments: pulumi.StringArray{
pulumi.String("test"),
},
},
},
})
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 = "Example repository",
});
var exampleRepositoryRuleset = new Github.RepositoryRuleset("example", new()
{
Name = "example",
Repository = example.Name,
Target = "branch",
Enforcement = "active",
Conditions = new Github.Inputs.RepositoryRulesetConditionsArgs
{
RefName = new Github.Inputs.RepositoryRulesetConditionsRefNameArgs
{
Includes = new[]
{
"~ALL",
},
Excludes = new() { },
},
},
BypassActors = new[]
{
new Github.Inputs.RepositoryRulesetBypassActorArgs
{
ActorId = 13473,
ActorType = "Integration",
BypassMode = "always",
},
},
Rules = new Github.Inputs.RepositoryRulesetRulesArgs
{
Creation = true,
Update = true,
Deletion = true,
RequiredLinearHistory = true,
RequiredSignatures = true,
RequiredDeployments = new Github.Inputs.RepositoryRulesetRulesRequiredDeploymentsArgs
{
RequiredDeploymentEnvironments = new[]
{
"test",
},
},
},
});
});
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.RepositoryRuleset;
import com.pulumi.github.RepositoryRulesetArgs;
import com.pulumi.github.inputs.RepositoryRulesetConditionsArgs;
import com.pulumi.github.inputs.RepositoryRulesetConditionsRefNameArgs;
import com.pulumi.github.inputs.RepositoryRulesetBypassActorArgs;
import com.pulumi.github.inputs.RepositoryRulesetRulesArgs;
import com.pulumi.github.inputs.RepositoryRulesetRulesRequiredDeploymentsArgs;
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("Example repository")
.build());
var exampleRepositoryRuleset = new RepositoryRuleset("exampleRepositoryRuleset", RepositoryRulesetArgs.builder()
.name("example")
.repository(example.name())
.target("branch")
.enforcement("active")
.conditions(RepositoryRulesetConditionsArgs.builder()
.refName(RepositoryRulesetConditionsRefNameArgs.builder()
.includes("~ALL")
.excludes()
.build())
.build())
.bypassActors(RepositoryRulesetBypassActorArgs.builder()
.actorId(13473)
.actorType("Integration")
.bypassMode("always")
.build())
.rules(RepositoryRulesetRulesArgs.builder()
.creation(true)
.update(true)
.deletion(true)
.requiredLinearHistory(true)
.requiredSignatures(true)
.requiredDeployments(RepositoryRulesetRulesRequiredDeploymentsArgs.builder()
.requiredDeploymentEnvironments("test")
.build())
.build())
.build());
}
}
resources:
example:
type: github:Repository
properties:
name: example
description: Example repository
exampleRepositoryRuleset:
type: github:RepositoryRuleset
name: example
properties:
name: example
repository: ${example.name}
target: branch
enforcement: active
conditions:
refName:
includes:
- ~ALL
excludes: []
bypassActors:
- actorId: 13473
actorType: Integration
bypassMode: always
rules:
creation: true
update: true
deletion: true
requiredLinearHistory: true
requiredSignatures: true
requiredDeployments:
requiredDeploymentEnvironments:
- test
Create RepositoryRuleset Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new RepositoryRuleset(name: string, args: RepositoryRulesetArgs, opts?: CustomResourceOptions);
@overload
def RepositoryRuleset(resource_name: str,
args: RepositoryRulesetArgs,
opts: Optional[ResourceOptions] = None)
@overload
def RepositoryRuleset(resource_name: str,
opts: Optional[ResourceOptions] = None,
enforcement: Optional[str] = None,
rules: Optional[RepositoryRulesetRulesArgs] = None,
target: Optional[str] = None,
bypass_actors: Optional[Sequence[RepositoryRulesetBypassActorArgs]] = None,
conditions: Optional[RepositoryRulesetConditionsArgs] = None,
name: Optional[str] = None,
repository: Optional[str] = None)
func NewRepositoryRuleset(ctx *Context, name string, args RepositoryRulesetArgs, opts ...ResourceOption) (*RepositoryRuleset, error)
public RepositoryRuleset(string name, RepositoryRulesetArgs args, CustomResourceOptions? opts = null)
public RepositoryRuleset(String name, RepositoryRulesetArgs args)
public RepositoryRuleset(String name, RepositoryRulesetArgs args, CustomResourceOptions options)
type: github:RepositoryRuleset
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 RepositoryRulesetArgs
- 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 RepositoryRulesetArgs
- 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 RepositoryRulesetArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args RepositoryRulesetArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args RepositoryRulesetArgs
- 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 repositoryRulesetResource = new Github.RepositoryRuleset("repositoryRulesetResource", new()
{
Enforcement = "string",
Rules = new Github.Inputs.RepositoryRulesetRulesArgs
{
BranchNamePattern = new Github.Inputs.RepositoryRulesetRulesBranchNamePatternArgs
{
Operator = "string",
Pattern = "string",
Name = "string",
Negate = false,
},
CommitAuthorEmailPattern = new Github.Inputs.RepositoryRulesetRulesCommitAuthorEmailPatternArgs
{
Operator = "string",
Pattern = "string",
Name = "string",
Negate = false,
},
CommitMessagePattern = new Github.Inputs.RepositoryRulesetRulesCommitMessagePatternArgs
{
Operator = "string",
Pattern = "string",
Name = "string",
Negate = false,
},
CommitterEmailPattern = new Github.Inputs.RepositoryRulesetRulesCommitterEmailPatternArgs
{
Operator = "string",
Pattern = "string",
Name = "string",
Negate = false,
},
Creation = false,
Deletion = false,
NonFastForward = false,
PullRequest = new Github.Inputs.RepositoryRulesetRulesPullRequestArgs
{
DismissStaleReviewsOnPush = false,
RequireCodeOwnerReview = false,
RequireLastPushApproval = false,
RequiredApprovingReviewCount = 0,
RequiredReviewThreadResolution = false,
},
RequiredDeployments = new Github.Inputs.RepositoryRulesetRulesRequiredDeploymentsArgs
{
RequiredDeploymentEnvironments = new[]
{
"string",
},
},
RequiredLinearHistory = false,
RequiredSignatures = false,
RequiredStatusChecks = new Github.Inputs.RepositoryRulesetRulesRequiredStatusChecksArgs
{
RequiredChecks = new[]
{
new Github.Inputs.RepositoryRulesetRulesRequiredStatusChecksRequiredCheckArgs
{
Context = "string",
IntegrationId = 0,
},
},
StrictRequiredStatusChecksPolicy = false,
},
TagNamePattern = new Github.Inputs.RepositoryRulesetRulesTagNamePatternArgs
{
Operator = "string",
Pattern = "string",
Name = "string",
Negate = false,
},
Update = false,
UpdateAllowsFetchAndMerge = false,
},
Target = "string",
BypassActors = new[]
{
new Github.Inputs.RepositoryRulesetBypassActorArgs
{
ActorId = 0,
ActorType = "string",
BypassMode = "string",
},
},
Conditions = new Github.Inputs.RepositoryRulesetConditionsArgs
{
RefName = new Github.Inputs.RepositoryRulesetConditionsRefNameArgs
{
Excludes = new[]
{
"string",
},
Includes = new[]
{
"string",
},
},
},
Name = "string",
Repository = "string",
});
example, err := github.NewRepositoryRuleset(ctx, "repositoryRulesetResource", &github.RepositoryRulesetArgs{
Enforcement: pulumi.String("string"),
Rules: &github.RepositoryRulesetRulesArgs{
BranchNamePattern: &github.RepositoryRulesetRulesBranchNamePatternArgs{
Operator: pulumi.String("string"),
Pattern: pulumi.String("string"),
Name: pulumi.String("string"),
Negate: pulumi.Bool(false),
},
CommitAuthorEmailPattern: &github.RepositoryRulesetRulesCommitAuthorEmailPatternArgs{
Operator: pulumi.String("string"),
Pattern: pulumi.String("string"),
Name: pulumi.String("string"),
Negate: pulumi.Bool(false),
},
CommitMessagePattern: &github.RepositoryRulesetRulesCommitMessagePatternArgs{
Operator: pulumi.String("string"),
Pattern: pulumi.String("string"),
Name: pulumi.String("string"),
Negate: pulumi.Bool(false),
},
CommitterEmailPattern: &github.RepositoryRulesetRulesCommitterEmailPatternArgs{
Operator: pulumi.String("string"),
Pattern: pulumi.String("string"),
Name: pulumi.String("string"),
Negate: pulumi.Bool(false),
},
Creation: pulumi.Bool(false),
Deletion: pulumi.Bool(false),
NonFastForward: pulumi.Bool(false),
PullRequest: &github.RepositoryRulesetRulesPullRequestArgs{
DismissStaleReviewsOnPush: pulumi.Bool(false),
RequireCodeOwnerReview: pulumi.Bool(false),
RequireLastPushApproval: pulumi.Bool(false),
RequiredApprovingReviewCount: pulumi.Int(0),
RequiredReviewThreadResolution: pulumi.Bool(false),
},
RequiredDeployments: &github.RepositoryRulesetRulesRequiredDeploymentsArgs{
RequiredDeploymentEnvironments: pulumi.StringArray{
pulumi.String("string"),
},
},
RequiredLinearHistory: pulumi.Bool(false),
RequiredSignatures: pulumi.Bool(false),
RequiredStatusChecks: &github.RepositoryRulesetRulesRequiredStatusChecksArgs{
RequiredChecks: github.RepositoryRulesetRulesRequiredStatusChecksRequiredCheckArray{
&github.RepositoryRulesetRulesRequiredStatusChecksRequiredCheckArgs{
Context: pulumi.String("string"),
IntegrationId: pulumi.Int(0),
},
},
StrictRequiredStatusChecksPolicy: pulumi.Bool(false),
},
TagNamePattern: &github.RepositoryRulesetRulesTagNamePatternArgs{
Operator: pulumi.String("string"),
Pattern: pulumi.String("string"),
Name: pulumi.String("string"),
Negate: pulumi.Bool(false),
},
Update: pulumi.Bool(false),
UpdateAllowsFetchAndMerge: pulumi.Bool(false),
},
Target: pulumi.String("string"),
BypassActors: github.RepositoryRulesetBypassActorArray{
&github.RepositoryRulesetBypassActorArgs{
ActorId: pulumi.Int(0),
ActorType: pulumi.String("string"),
BypassMode: pulumi.String("string"),
},
},
Conditions: &github.RepositoryRulesetConditionsArgs{
RefName: &github.RepositoryRulesetConditionsRefNameArgs{
Excludes: pulumi.StringArray{
pulumi.String("string"),
},
Includes: pulumi.StringArray{
pulumi.String("string"),
},
},
},
Name: pulumi.String("string"),
Repository: pulumi.String("string"),
})
var repositoryRulesetResource = new RepositoryRuleset("repositoryRulesetResource", RepositoryRulesetArgs.builder()
.enforcement("string")
.rules(RepositoryRulesetRulesArgs.builder()
.branchNamePattern(RepositoryRulesetRulesBranchNamePatternArgs.builder()
.operator("string")
.pattern("string")
.name("string")
.negate(false)
.build())
.commitAuthorEmailPattern(RepositoryRulesetRulesCommitAuthorEmailPatternArgs.builder()
.operator("string")
.pattern("string")
.name("string")
.negate(false)
.build())
.commitMessagePattern(RepositoryRulesetRulesCommitMessagePatternArgs.builder()
.operator("string")
.pattern("string")
.name("string")
.negate(false)
.build())
.committerEmailPattern(RepositoryRulesetRulesCommitterEmailPatternArgs.builder()
.operator("string")
.pattern("string")
.name("string")
.negate(false)
.build())
.creation(false)
.deletion(false)
.nonFastForward(false)
.pullRequest(RepositoryRulesetRulesPullRequestArgs.builder()
.dismissStaleReviewsOnPush(false)
.requireCodeOwnerReview(false)
.requireLastPushApproval(false)
.requiredApprovingReviewCount(0)
.requiredReviewThreadResolution(false)
.build())
.requiredDeployments(RepositoryRulesetRulesRequiredDeploymentsArgs.builder()
.requiredDeploymentEnvironments("string")
.build())
.requiredLinearHistory(false)
.requiredSignatures(false)
.requiredStatusChecks(RepositoryRulesetRulesRequiredStatusChecksArgs.builder()
.requiredChecks(RepositoryRulesetRulesRequiredStatusChecksRequiredCheckArgs.builder()
.context("string")
.integrationId(0)
.build())
.strictRequiredStatusChecksPolicy(false)
.build())
.tagNamePattern(RepositoryRulesetRulesTagNamePatternArgs.builder()
.operator("string")
.pattern("string")
.name("string")
.negate(false)
.build())
.update(false)
.updateAllowsFetchAndMerge(false)
.build())
.target("string")
.bypassActors(RepositoryRulesetBypassActorArgs.builder()
.actorId(0)
.actorType("string")
.bypassMode("string")
.build())
.conditions(RepositoryRulesetConditionsArgs.builder()
.refName(RepositoryRulesetConditionsRefNameArgs.builder()
.excludes("string")
.includes("string")
.build())
.build())
.name("string")
.repository("string")
.build());
repository_ruleset_resource = github.RepositoryRuleset("repositoryRulesetResource",
enforcement="string",
rules={
"branch_name_pattern": {
"operator": "string",
"pattern": "string",
"name": "string",
"negate": False,
},
"commit_author_email_pattern": {
"operator": "string",
"pattern": "string",
"name": "string",
"negate": False,
},
"commit_message_pattern": {
"operator": "string",
"pattern": "string",
"name": "string",
"negate": False,
},
"committer_email_pattern": {
"operator": "string",
"pattern": "string",
"name": "string",
"negate": False,
},
"creation": False,
"deletion": False,
"non_fast_forward": False,
"pull_request": {
"dismiss_stale_reviews_on_push": False,
"require_code_owner_review": False,
"require_last_push_approval": False,
"required_approving_review_count": 0,
"required_review_thread_resolution": False,
},
"required_deployments": {
"required_deployment_environments": ["string"],
},
"required_linear_history": False,
"required_signatures": False,
"required_status_checks": {
"required_checks": [{
"context": "string",
"integration_id": 0,
}],
"strict_required_status_checks_policy": False,
},
"tag_name_pattern": {
"operator": "string",
"pattern": "string",
"name": "string",
"negate": False,
},
"update": False,
"update_allows_fetch_and_merge": False,
},
target="string",
bypass_actors=[{
"actor_id": 0,
"actor_type": "string",
"bypass_mode": "string",
}],
conditions={
"ref_name": {
"excludes": ["string"],
"includes": ["string"],
},
},
name="string",
repository="string")
const repositoryRulesetResource = new github.RepositoryRuleset("repositoryRulesetResource", {
enforcement: "string",
rules: {
branchNamePattern: {
operator: "string",
pattern: "string",
name: "string",
negate: false,
},
commitAuthorEmailPattern: {
operator: "string",
pattern: "string",
name: "string",
negate: false,
},
commitMessagePattern: {
operator: "string",
pattern: "string",
name: "string",
negate: false,
},
committerEmailPattern: {
operator: "string",
pattern: "string",
name: "string",
negate: false,
},
creation: false,
deletion: false,
nonFastForward: false,
pullRequest: {
dismissStaleReviewsOnPush: false,
requireCodeOwnerReview: false,
requireLastPushApproval: false,
requiredApprovingReviewCount: 0,
requiredReviewThreadResolution: false,
},
requiredDeployments: {
requiredDeploymentEnvironments: ["string"],
},
requiredLinearHistory: false,
requiredSignatures: false,
requiredStatusChecks: {
requiredChecks: [{
context: "string",
integrationId: 0,
}],
strictRequiredStatusChecksPolicy: false,
},
tagNamePattern: {
operator: "string",
pattern: "string",
name: "string",
negate: false,
},
update: false,
updateAllowsFetchAndMerge: false,
},
target: "string",
bypassActors: [{
actorId: 0,
actorType: "string",
bypassMode: "string",
}],
conditions: {
refName: {
excludes: ["string"],
includes: ["string"],
},
},
name: "string",
repository: "string",
});
type: github:RepositoryRuleset
properties:
bypassActors:
- actorId: 0
actorType: string
bypassMode: string
conditions:
refName:
excludes:
- string
includes:
- string
enforcement: string
name: string
repository: string
rules:
branchNamePattern:
name: string
negate: false
operator: string
pattern: string
commitAuthorEmailPattern:
name: string
negate: false
operator: string
pattern: string
commitMessagePattern:
name: string
negate: false
operator: string
pattern: string
committerEmailPattern:
name: string
negate: false
operator: string
pattern: string
creation: false
deletion: false
nonFastForward: false
pullRequest:
dismissStaleReviewsOnPush: false
requireCodeOwnerReview: false
requireLastPushApproval: false
requiredApprovingReviewCount: 0
requiredReviewThreadResolution: false
requiredDeployments:
requiredDeploymentEnvironments:
- string
requiredLinearHistory: false
requiredSignatures: false
requiredStatusChecks:
requiredChecks:
- context: string
integrationId: 0
strictRequiredStatusChecksPolicy: false
tagNamePattern:
name: string
negate: false
operator: string
pattern: string
update: false
updateAllowsFetchAndMerge: false
target: string
RepositoryRuleset 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 RepositoryRuleset resource accepts the following input properties:
- Enforcement string
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - Rules
Repository
Ruleset Rules - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- Target string
- (String) Possible values are
branch
andtag
. - Bypass
Actors List<RepositoryRuleset Bypass Actor> - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- Conditions
Repository
Ruleset Conditions - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- Name string
- (String) The name of the ruleset.
- Repository string
- (String) Name of the repository to apply rulset to.
- Enforcement string
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - Rules
Repository
Ruleset Rules Args - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- Target string
- (String) Possible values are
branch
andtag
. - Bypass
Actors []RepositoryRuleset Bypass Actor Args - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- Conditions
Repository
Ruleset Conditions Args - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- Name string
- (String) The name of the ruleset.
- Repository string
- (String) Name of the repository to apply rulset to.
- enforcement String
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - rules
Repository
Ruleset Rules - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- target String
- (String) Possible values are
branch
andtag
. - bypass
Actors List<RepositoryRuleset Bypass Actor> - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions
Repository
Ruleset Conditions - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- name String
- (String) The name of the ruleset.
- repository String
- (String) Name of the repository to apply rulset to.
- enforcement string
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - rules
Repository
Ruleset Rules - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- target string
- (String) Possible values are
branch
andtag
. - bypass
Actors RepositoryRuleset Bypass Actor[] - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions
Repository
Ruleset Conditions - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- name string
- (String) The name of the ruleset.
- repository string
- (String) Name of the repository to apply rulset to.
- enforcement str
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - rules
Repository
Ruleset Rules Args - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- target str
- (String) Possible values are
branch
andtag
. - bypass_
actors Sequence[RepositoryRuleset Bypass Actor Args] - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions
Repository
Ruleset Conditions Args - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- name str
- (String) The name of the ruleset.
- repository str
- (String) Name of the repository to apply rulset to.
- enforcement String
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - rules Property Map
- (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- target String
- (String) Possible values are
branch
andtag
. - bypass
Actors List<Property Map> - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions Property Map
- (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- name String
- (String) The name of the ruleset.
- repository String
- (String) Name of the repository to apply rulset to.
Outputs
All input properties are implicitly available as output properties. Additionally, the RepositoryRuleset resource produces the following output properties:
- etag str
- (String)
- id str
- The provider-assigned unique ID for this managed resource.
- node_
id str - (String) GraphQL global node id for use with v4 API.
- ruleset_
id int - (Number) GitHub ID for the ruleset.
Look up Existing RepositoryRuleset Resource
Get an existing RepositoryRuleset 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?: RepositoryRulesetState, opts?: CustomResourceOptions): RepositoryRuleset
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
bypass_actors: Optional[Sequence[RepositoryRulesetBypassActorArgs]] = None,
conditions: Optional[RepositoryRulesetConditionsArgs] = None,
enforcement: Optional[str] = None,
etag: Optional[str] = None,
name: Optional[str] = None,
node_id: Optional[str] = None,
repository: Optional[str] = None,
rules: Optional[RepositoryRulesetRulesArgs] = None,
ruleset_id: Optional[int] = None,
target: Optional[str] = None) -> RepositoryRuleset
func GetRepositoryRuleset(ctx *Context, name string, id IDInput, state *RepositoryRulesetState, opts ...ResourceOption) (*RepositoryRuleset, error)
public static RepositoryRuleset Get(string name, Input<string> id, RepositoryRulesetState? state, CustomResourceOptions? opts = null)
public static RepositoryRuleset get(String name, Output<String> id, RepositoryRulesetState 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.
- Bypass
Actors List<RepositoryRuleset Bypass Actor> - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- Conditions
Repository
Ruleset Conditions - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- Enforcement string
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - Etag string
- (String)
- Name string
- (String) The name of the ruleset.
- Node
Id string - (String) GraphQL global node id for use with v4 API.
- Repository string
- (String) Name of the repository to apply rulset to.
- Rules
Repository
Ruleset Rules - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- Ruleset
Id int - (Number) GitHub ID for the ruleset.
- Target string
- (String) Possible values are
branch
andtag
.
- Bypass
Actors []RepositoryRuleset Bypass Actor Args - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- Conditions
Repository
Ruleset Conditions Args - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- Enforcement string
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - Etag string
- (String)
- Name string
- (String) The name of the ruleset.
- Node
Id string - (String) GraphQL global node id for use with v4 API.
- Repository string
- (String) Name of the repository to apply rulset to.
- Rules
Repository
Ruleset Rules Args - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- Ruleset
Id int - (Number) GitHub ID for the ruleset.
- Target string
- (String) Possible values are
branch
andtag
.
- bypass
Actors List<RepositoryRuleset Bypass Actor> - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions
Repository
Ruleset Conditions - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- enforcement String
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - etag String
- (String)
- name String
- (String) The name of the ruleset.
- node
Id String - (String) GraphQL global node id for use with v4 API.
- repository String
- (String) Name of the repository to apply rulset to.
- rules
Repository
Ruleset Rules - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- ruleset
Id Integer - (Number) GitHub ID for the ruleset.
- target String
- (String) Possible values are
branch
andtag
.
- bypass
Actors RepositoryRuleset Bypass Actor[] - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions
Repository
Ruleset Conditions - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- enforcement string
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - etag string
- (String)
- name string
- (String) The name of the ruleset.
- node
Id string - (String) GraphQL global node id for use with v4 API.
- repository string
- (String) Name of the repository to apply rulset to.
- rules
Repository
Ruleset Rules - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- ruleset
Id number - (Number) GitHub ID for the ruleset.
- target string
- (String) Possible values are
branch
andtag
.
- bypass_
actors Sequence[RepositoryRuleset Bypass Actor Args] - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions
Repository
Ruleset Conditions Args - (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- enforcement str
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - etag str
- (String)
- name str
- (String) The name of the ruleset.
- node_
id str - (String) GraphQL global node id for use with v4 API.
- repository str
- (String) Name of the repository to apply rulset to.
- rules
Repository
Ruleset Rules Args - (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- ruleset_
id int - (Number) GitHub ID for the ruleset.
- target str
- (String) Possible values are
branch
andtag
.
- bypass
Actors List<Property Map> - (Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)
- conditions Property Map
- (Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)
- enforcement String
- (String) Possible values for Enforcement are
disabled
,active
,evaluate
. Note:evaluate
is currently only supported for owners of typeorganization
. - etag String
- (String)
- name String
- (String) The name of the ruleset.
- node
Id String - (String) GraphQL global node id for use with v4 API.
- repository String
- (String) Name of the repository to apply rulset to.
- rules Property Map
- (Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)
- ruleset
Id Number - (Number) GitHub ID for the ruleset.
- target String
- (String) Possible values are
branch
andtag
.
Supporting Types
RepositoryRulesetBypassActor, RepositoryRulesetBypassActorArgs
- Actor
Id int - (Number) The ID of the actor that can bypass a ruleset.
- Actor
Type string - The type of actor that can bypass a ruleset. Can be one of:
RepositoryRole
,Team
,Integration
,OrganizationAdmin
. - Bypass
Mode string (String) When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. Can be one of:
always
,pull_request
.Note: at the time of writing this, the following actor types correspond to the following actor IDs:
OrganizationAdmin
>1
RepositoryRole
(This is the actor type, the following are the base repository roles and their associated IDs.)
- Actor
Id int - (Number) The ID of the actor that can bypass a ruleset.
- Actor
Type string - The type of actor that can bypass a ruleset. Can be one of:
RepositoryRole
,Team
,Integration
,OrganizationAdmin
. - Bypass
Mode string (String) When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. Can be one of:
always
,pull_request
.Note: at the time of writing this, the following actor types correspond to the following actor IDs:
OrganizationAdmin
>1
RepositoryRole
(This is the actor type, the following are the base repository roles and their associated IDs.)
- actor
Id Integer - (Number) The ID of the actor that can bypass a ruleset.
- actor
Type String - The type of actor that can bypass a ruleset. Can be one of:
RepositoryRole
,Team
,Integration
,OrganizationAdmin
. - bypass
Mode String (String) When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. Can be one of:
always
,pull_request
.Note: at the time of writing this, the following actor types correspond to the following actor IDs:
OrganizationAdmin
>1
RepositoryRole
(This is the actor type, the following are the base repository roles and their associated IDs.)
- actor
Id number - (Number) The ID of the actor that can bypass a ruleset.
- actor
Type string - The type of actor that can bypass a ruleset. Can be one of:
RepositoryRole
,Team
,Integration
,OrganizationAdmin
. - bypass
Mode string (String) When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. Can be one of:
always
,pull_request
.Note: at the time of writing this, the following actor types correspond to the following actor IDs:
OrganizationAdmin
>1
RepositoryRole
(This is the actor type, the following are the base repository roles and their associated IDs.)
- actor_
id int - (Number) The ID of the actor that can bypass a ruleset.
- actor_
type str - The type of actor that can bypass a ruleset. Can be one of:
RepositoryRole
,Team
,Integration
,OrganizationAdmin
. - bypass_
mode str (String) When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. Can be one of:
always
,pull_request
.Note: at the time of writing this, the following actor types correspond to the following actor IDs:
OrganizationAdmin
>1
RepositoryRole
(This is the actor type, the following are the base repository roles and their associated IDs.)
- actor
Id Number - (Number) The ID of the actor that can bypass a ruleset.
- actor
Type String - The type of actor that can bypass a ruleset. Can be one of:
RepositoryRole
,Team
,Integration
,OrganizationAdmin
. - bypass
Mode String (String) When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. Can be one of:
always
,pull_request
.Note: at the time of writing this, the following actor types correspond to the following actor IDs:
OrganizationAdmin
>1
RepositoryRole
(This is the actor type, the following are the base repository roles and their associated IDs.)
RepositoryRulesetConditions, RepositoryRulesetConditionsArgs
- Ref
Name RepositoryRuleset Conditions Ref Name - (Block List, Min: 1, Max: 1) (see below for nested schema)
- Ref
Name RepositoryRuleset Conditions Ref Name - (Block List, Min: 1, Max: 1) (see below for nested schema)
- ref
Name RepositoryRuleset Conditions Ref Name - (Block List, Min: 1, Max: 1) (see below for nested schema)
- ref
Name RepositoryRuleset Conditions Ref Name - (Block List, Min: 1, Max: 1) (see below for nested schema)
- ref_
name RepositoryRuleset Conditions Ref Name - (Block List, Min: 1, Max: 1) (see below for nested schema)
- ref
Name Property Map - (Block List, Min: 1, Max: 1) (see below for nested schema)
RepositoryRulesetConditionsRefName, RepositoryRulesetConditionsRefNameArgs
- Excludes List<string>
- Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
- Includes List<string>
- Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts
~DEFAULT_BRANCH
to include the default branch or~ALL
to include all branches.
- Excludes []string
- Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
- Includes []string
- Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts
~DEFAULT_BRANCH
to include the default branch or~ALL
to include all branches.
- excludes List<String>
- Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
- includes List<String>
- Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts
~DEFAULT_BRANCH
to include the default branch or~ALL
to include all branches.
- excludes string[]
- Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
- includes string[]
- Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts
~DEFAULT_BRANCH
to include the default branch or~ALL
to include all branches.
- excludes Sequence[str]
- Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
- includes Sequence[str]
- Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts
~DEFAULT_BRANCH
to include the default branch or~ALL
to include all branches.
- excludes List<String>
- Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
- includes List<String>
- Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts
~DEFAULT_BRANCH
to include the default branch or~ALL
to include all branches.
RepositoryRulesetRules, RepositoryRulesetRulesArgs
- Branch
Name RepositoryPattern Ruleset Rules Branch Name Pattern - (Block List, Max: 1) Parameters to be used for the branch_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
tag_name_pattern
as it only applied to rulesets with targetbranch
. (see below for nested schema) - Repository
Ruleset Rules Commit Author Email Pattern - (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- Commit
Message RepositoryPattern Ruleset Rules Commit Message Pattern - (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- Committer
Email RepositoryPattern Ruleset Rules Committer Email Pattern - (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- Creation bool
- (Boolean) Only allow users with bypass permission to create matching refs.
- Deletion bool
- (Boolean) Only allow users with bypass permissions to delete matching refs.
- Non
Fast boolForward - (Boolean) Prevent users with push access from force pushing to branches.
- Pull
Request RepositoryRuleset Rules Pull Request - (Block List, Max: 1) Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. (see below for nested schema)
- Required
Deployments RepositoryRuleset Rules Required Deployments - (Block List, Max: 1) Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. (see below for nested schema)
- Required
Linear boolHistory - (Boolean) Prevent merge commits from being pushed to matching branches.
- Required
Signatures bool - (Boolean) Commits pushed to matching branches must have verified signatures.
- Required
Status RepositoryChecks Ruleset Rules Required Status Checks - (Block List, Max: 1) Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. (see below for nested schema)
- Tag
Name RepositoryPattern Ruleset Rules Tag Name Pattern - (Block List, Max: 1) Parameters to be used for the tag_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
branch_name_pattern
as it only applied to rulesets with targettag
. (see below for nested schema) - Update bool
- (Boolean) Only allow users with bypass permission to update matching refs.
- Update
Allows boolFetch And Merge - (Boolean) Branch can pull changes from its upstream repository. This is only applicable to forked repositories. Requires
update
to be set totrue
. Note: behaviour is affected by a known bug on the GitHub side which may cause issues when using this parameter.
- Branch
Name RepositoryPattern Ruleset Rules Branch Name Pattern - (Block List, Max: 1) Parameters to be used for the branch_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
tag_name_pattern
as it only applied to rulesets with targetbranch
. (see below for nested schema) - Repository
Ruleset Rules Commit Author Email Pattern - (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- Commit
Message RepositoryPattern Ruleset Rules Commit Message Pattern - (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- Committer
Email RepositoryPattern Ruleset Rules Committer Email Pattern - (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- Creation bool
- (Boolean) Only allow users with bypass permission to create matching refs.
- Deletion bool
- (Boolean) Only allow users with bypass permissions to delete matching refs.
- Non
Fast boolForward - (Boolean) Prevent users with push access from force pushing to branches.
- Pull
Request RepositoryRuleset Rules Pull Request - (Block List, Max: 1) Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. (see below for nested schema)
- Required
Deployments RepositoryRuleset Rules Required Deployments - (Block List, Max: 1) Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. (see below for nested schema)
- Required
Linear boolHistory - (Boolean) Prevent merge commits from being pushed to matching branches.
- Required
Signatures bool - (Boolean) Commits pushed to matching branches must have verified signatures.
- Required
Status RepositoryChecks Ruleset Rules Required Status Checks - (Block List, Max: 1) Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. (see below for nested schema)
- Tag
Name RepositoryPattern Ruleset Rules Tag Name Pattern - (Block List, Max: 1) Parameters to be used for the tag_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
branch_name_pattern
as it only applied to rulesets with targettag
. (see below for nested schema) - Update bool
- (Boolean) Only allow users with bypass permission to update matching refs.
- Update
Allows boolFetch And Merge - (Boolean) Branch can pull changes from its upstream repository. This is only applicable to forked repositories. Requires
update
to be set totrue
. Note: behaviour is affected by a known bug on the GitHub side which may cause issues when using this parameter.
- branch
Name RepositoryPattern Ruleset Rules Branch Name Pattern - (Block List, Max: 1) Parameters to be used for the branch_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
tag_name_pattern
as it only applied to rulesets with targetbranch
. (see below for nested schema) - Repository
Ruleset Rules Commit Author Email Pattern - (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- commit
Message RepositoryPattern Ruleset Rules Commit Message Pattern - (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- committer
Email RepositoryPattern Ruleset Rules Committer Email Pattern - (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- creation Boolean
- (Boolean) Only allow users with bypass permission to create matching refs.
- deletion Boolean
- (Boolean) Only allow users with bypass permissions to delete matching refs.
- non
Fast BooleanForward - (Boolean) Prevent users with push access from force pushing to branches.
- pull
Request RepositoryRuleset Rules Pull Request - (Block List, Max: 1) Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. (see below for nested schema)
- required
Deployments RepositoryRuleset Rules Required Deployments - (Block List, Max: 1) Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. (see below for nested schema)
- required
Linear BooleanHistory - (Boolean) Prevent merge commits from being pushed to matching branches.
- required
Signatures Boolean - (Boolean) Commits pushed to matching branches must have verified signatures.
- required
Status RepositoryChecks Ruleset Rules Required Status Checks - (Block List, Max: 1) Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. (see below for nested schema)
- tag
Name RepositoryPattern Ruleset Rules Tag Name Pattern - (Block List, Max: 1) Parameters to be used for the tag_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
branch_name_pattern
as it only applied to rulesets with targettag
. (see below for nested schema) - update Boolean
- (Boolean) Only allow users with bypass permission to update matching refs.
- update
Allows BooleanFetch And Merge - (Boolean) Branch can pull changes from its upstream repository. This is only applicable to forked repositories. Requires
update
to be set totrue
. Note: behaviour is affected by a known bug on the GitHub side which may cause issues when using this parameter.
- branch
Name RepositoryPattern Ruleset Rules Branch Name Pattern - (Block List, Max: 1) Parameters to be used for the branch_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
tag_name_pattern
as it only applied to rulesets with targetbranch
. (see below for nested schema) - Repository
Ruleset Rules Commit Author Email Pattern - (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- commit
Message RepositoryPattern Ruleset Rules Commit Message Pattern - (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- committer
Email RepositoryPattern Ruleset Rules Committer Email Pattern - (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- creation boolean
- (Boolean) Only allow users with bypass permission to create matching refs.
- deletion boolean
- (Boolean) Only allow users with bypass permissions to delete matching refs.
- non
Fast booleanForward - (Boolean) Prevent users with push access from force pushing to branches.
- pull
Request RepositoryRuleset Rules Pull Request - (Block List, Max: 1) Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. (see below for nested schema)
- required
Deployments RepositoryRuleset Rules Required Deployments - (Block List, Max: 1) Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. (see below for nested schema)
- required
Linear booleanHistory - (Boolean) Prevent merge commits from being pushed to matching branches.
- required
Signatures boolean - (Boolean) Commits pushed to matching branches must have verified signatures.
- required
Status RepositoryChecks Ruleset Rules Required Status Checks - (Block List, Max: 1) Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. (see below for nested schema)
- tag
Name RepositoryPattern Ruleset Rules Tag Name Pattern - (Block List, Max: 1) Parameters to be used for the tag_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
branch_name_pattern
as it only applied to rulesets with targettag
. (see below for nested schema) - update boolean
- (Boolean) Only allow users with bypass permission to update matching refs.
- update
Allows booleanFetch And Merge - (Boolean) Branch can pull changes from its upstream repository. This is only applicable to forked repositories. Requires
update
to be set totrue
. Note: behaviour is affected by a known bug on the GitHub side which may cause issues when using this parameter.
- branch_
name_ Repositorypattern Ruleset Rules Branch Name Pattern - (Block List, Max: 1) Parameters to be used for the branch_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
tag_name_pattern
as it only applied to rulesets with targetbranch
. (see below for nested schema) - Repository
Ruleset Rules Commit Author Email Pattern - (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- commit_
message_ Repositorypattern Ruleset Rules Commit Message Pattern - (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- committer_
email_ Repositorypattern Ruleset Rules Committer Email Pattern - (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- creation bool
- (Boolean) Only allow users with bypass permission to create matching refs.
- deletion bool
- (Boolean) Only allow users with bypass permissions to delete matching refs.
- non_
fast_ boolforward - (Boolean) Prevent users with push access from force pushing to branches.
- pull_
request RepositoryRuleset Rules Pull Request - (Block List, Max: 1) Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. (see below for nested schema)
- required_
deployments RepositoryRuleset Rules Required Deployments - (Block List, Max: 1) Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. (see below for nested schema)
- required_
linear_ boolhistory - (Boolean) Prevent merge commits from being pushed to matching branches.
- required_
signatures bool - (Boolean) Commits pushed to matching branches must have verified signatures.
- required_
status_ Repositorychecks Ruleset Rules Required Status Checks - (Block List, Max: 1) Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. (see below for nested schema)
- tag_
name_ Repositorypattern Ruleset Rules Tag Name Pattern - (Block List, Max: 1) Parameters to be used for the tag_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
branch_name_pattern
as it only applied to rulesets with targettag
. (see below for nested schema) - update bool
- (Boolean) Only allow users with bypass permission to update matching refs.
- update_
allows_ boolfetch_ and_ merge - (Boolean) Branch can pull changes from its upstream repository. This is only applicable to forked repositories. Requires
update
to be set totrue
. Note: behaviour is affected by a known bug on the GitHub side which may cause issues when using this parameter.
- branch
Name Property MapPattern - (Block List, Max: 1) Parameters to be used for the branch_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
tag_name_pattern
as it only applied to rulesets with targetbranch
. (see below for nested schema) - Property Map
- (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- commit
Message Property MapPattern - (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- committer
Email Property MapPattern - (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
- creation Boolean
- (Boolean) Only allow users with bypass permission to create matching refs.
- deletion Boolean
- (Boolean) Only allow users with bypass permissions to delete matching refs.
- non
Fast BooleanForward - (Boolean) Prevent users with push access from force pushing to branches.
- pull
Request Property Map - (Block List, Max: 1) Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. (see below for nested schema)
- required
Deployments Property Map - (Block List, Max: 1) Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. (see below for nested schema)
- required
Linear BooleanHistory - (Boolean) Prevent merge commits from being pushed to matching branches.
- required
Signatures Boolean - (Boolean) Commits pushed to matching branches must have verified signatures.
- required
Status Property MapChecks - (Block List, Max: 1) Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. (see below for nested schema)
- tag
Name Property MapPattern - (Block List, Max: 1) Parameters to be used for the tag_name_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. Conflicts with
branch_name_pattern
as it only applied to rulesets with targettag
. (see below for nested schema) - update Boolean
- (Boolean) Only allow users with bypass permission to update matching refs.
- update
Allows BooleanFetch And Merge - (Boolean) Branch can pull changes from its upstream repository. This is only applicable to forked repositories. Requires
update
to be set totrue
. Note: behaviour is affected by a known bug on the GitHub side which may cause issues when using this parameter.
RepositoryRulesetRulesBranchNamePattern, RepositoryRulesetRulesBranchNamePatternArgs
RepositoryRulesetRulesCommitAuthorEmailPattern, RepositoryRulesetRulesCommitAuthorEmailPatternArgs
RepositoryRulesetRulesCommitMessagePattern, RepositoryRulesetRulesCommitMessagePatternArgs
RepositoryRulesetRulesCommitterEmailPattern, RepositoryRulesetRulesCommitterEmailPatternArgs
RepositoryRulesetRulesPullRequest, RepositoryRulesetRulesPullRequestArgs
- Dismiss
Stale boolReviews On Push - New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to
false
. - Require
Code boolOwner Review - Require an approving review in pull requests that modify files that have a designated code owner. Defaults to
false
. - Require
Last boolPush Approval - Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to
false
. - Required
Approving intReview Count - The number of approving reviews that are required before a pull request can be merged. Defaults to
0
. - Required
Review boolThread Resolution - All conversations on code must be resolved before a pull request can be merged. Defaults to
false
.
- Dismiss
Stale boolReviews On Push - New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to
false
. - Require
Code boolOwner Review - Require an approving review in pull requests that modify files that have a designated code owner. Defaults to
false
. - Require
Last boolPush Approval - Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to
false
. - Required
Approving intReview Count - The number of approving reviews that are required before a pull request can be merged. Defaults to
0
. - Required
Review boolThread Resolution - All conversations on code must be resolved before a pull request can be merged. Defaults to
false
.
- dismiss
Stale BooleanReviews On Push - New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to
false
. - require
Code BooleanOwner Review - Require an approving review in pull requests that modify files that have a designated code owner. Defaults to
false
. - require
Last BooleanPush Approval - Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to
false
. - required
Approving IntegerReview Count - The number of approving reviews that are required before a pull request can be merged. Defaults to
0
. - required
Review BooleanThread Resolution - All conversations on code must be resolved before a pull request can be merged. Defaults to
false
.
- dismiss
Stale booleanReviews On Push - New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to
false
. - require
Code booleanOwner Review - Require an approving review in pull requests that modify files that have a designated code owner. Defaults to
false
. - require
Last booleanPush Approval - Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to
false
. - required
Approving numberReview Count - The number of approving reviews that are required before a pull request can be merged. Defaults to
0
. - required
Review booleanThread Resolution - All conversations on code must be resolved before a pull request can be merged. Defaults to
false
.
- dismiss_
stale_ boolreviews_ on_ push - New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to
false
. - require_
code_ boolowner_ review - Require an approving review in pull requests that modify files that have a designated code owner. Defaults to
false
. - require_
last_ boolpush_ approval - Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to
false
. - required_
approving_ intreview_ count - The number of approving reviews that are required before a pull request can be merged. Defaults to
0
. - required_
review_ boolthread_ resolution - All conversations on code must be resolved before a pull request can be merged. Defaults to
false
.
- dismiss
Stale BooleanReviews On Push - New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to
false
. - require
Code BooleanOwner Review - Require an approving review in pull requests that modify files that have a designated code owner. Defaults to
false
. - require
Last BooleanPush Approval - Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to
false
. - required
Approving NumberReview Count - The number of approving reviews that are required before a pull request can be merged. Defaults to
0
. - required
Review BooleanThread Resolution - All conversations on code must be resolved before a pull request can be merged. Defaults to
false
.
RepositoryRulesetRulesRequiredDeployments, RepositoryRulesetRulesRequiredDeploymentsArgs
- Required
Deployment List<string>Environments - The environments that must be successfully deployed to before branches can be merged.
- Required
Deployment []stringEnvironments - The environments that must be successfully deployed to before branches can be merged.
- required
Deployment List<String>Environments - The environments that must be successfully deployed to before branches can be merged.
- required
Deployment string[]Environments - The environments that must be successfully deployed to before branches can be merged.
- required_
deployment_ Sequence[str]environments - The environments that must be successfully deployed to before branches can be merged.
- required
Deployment List<String>Environments - The environments that must be successfully deployed to before branches can be merged.
RepositoryRulesetRulesRequiredStatusChecks, RepositoryRulesetRulesRequiredStatusChecksArgs
- Required
Checks List<RepositoryRuleset Rules Required Status Checks Required Check> - Status checks that are required. Several can be defined.
- Strict
Required boolStatus Checks Policy - Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. Defaults to
false
.
- Required
Checks []RepositoryRuleset Rules Required Status Checks Required Check - Status checks that are required. Several can be defined.
- Strict
Required boolStatus Checks Policy - Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. Defaults to
false
.
- required
Checks List<RepositoryRuleset Rules Required Status Checks Required Check> - Status checks that are required. Several can be defined.
- strict
Required BooleanStatus Checks Policy - Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. Defaults to
false
.
- required
Checks RepositoryRuleset Rules Required Status Checks Required Check[] - Status checks that are required. Several can be defined.
- strict
Required booleanStatus Checks Policy - Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. Defaults to
false
.
- required_
checks Sequence[RepositoryRuleset Rules Required Status Checks Required Check] - Status checks that are required. Several can be defined.
- strict_
required_ boolstatus_ checks_ policy - Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. Defaults to
false
.
- required
Checks List<Property Map> - Status checks that are required. Several can be defined.
- strict
Required BooleanStatus Checks Policy - Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. Defaults to
false
.
RepositoryRulesetRulesRequiredStatusChecksRequiredCheck, RepositoryRulesetRulesRequiredStatusChecksRequiredCheckArgs
- Context string
- The status check context name that must be present on the commit.
- Integration
Id int - The optional integration ID that this status check must originate from.
- Context string
- The status check context name that must be present on the commit.
- Integration
Id int - The optional integration ID that this status check must originate from.
- context String
- The status check context name that must be present on the commit.
- integration
Id Integer - The optional integration ID that this status check must originate from.
- context string
- The status check context name that must be present on the commit.
- integration
Id number - The optional integration ID that this status check must originate from.
- context str
- The status check context name that must be present on the commit.
- integration_
id int - The optional integration ID that this status check must originate from.
- context String
- The status check context name that must be present on the commit.
- integration
Id Number - The optional integration ID that this status check must originate from.
RepositoryRulesetRulesTagNamePattern, RepositoryRulesetRulesTagNamePatternArgs
Import
GitHub Repository Rulesets can be imported using the GitHub repository name and ruleset ID e.g.
$ pulumi import github:index/repositoryRuleset:RepositoryRuleset example example:12345`
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.