RepositoryRulesetArgs

data class RepositoryRulesetArgs(val bypassActors: Output<List<RepositoryRulesetBypassActorArgs>>? = null, val conditions: Output<RepositoryRulesetConditionsArgs>? = null, val enforcement: Output<String>? = null, val name: Output<String>? = null, val repository: Output<String>? = null, val rules: Output<RepositoryRulesetRulesArgs>? = null, val target: Output<String>? = null) : ConvertibleToJava<RepositoryRulesetArgs>

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

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 exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder()
.description("Example repository")
.build());
var exampleRepositoryRuleset = new RepositoryRuleset("exampleRepositoryRuleset", RepositoryRulesetArgs.builder()
.repository(exampleRepository.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());
}
}

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`

Constructors

Link copied to clipboard
constructor(bypassActors: Output<List<RepositoryRulesetBypassActorArgs>>? = null, conditions: Output<RepositoryRulesetConditionsArgs>? = null, enforcement: Output<String>? = null, name: Output<String>? = null, repository: Output<String>? = null, rules: Output<RepositoryRulesetRulesArgs>? = null, target: Output<String>? = null)

Properties

Link copied to clipboard

(Block List) The actors that can bypass the rules in this ruleset. (see below for nested schema)

Link copied to clipboard

(Block List, Max: 1) Parameters for a repository ruleset ref name condition. (see below for nested schema)

Link copied to clipboard
val enforcement: Output<String>? = null

(String) Possible values for Enforcement are disabled, active, evaluate. Note: evaluate is currently only supported for owners of type organization.

Link copied to clipboard
val name: Output<String>? = null

(String) The name of the ruleset.

Link copied to clipboard
val repository: Output<String>? = null

(String) Name of the repository to apply rulset to.

Link copied to clipboard
val rules: Output<RepositoryRulesetRulesArgs>? = null

(Block List, Min: 1, Max: 1) Rules within the ruleset. (see below for nested schema)

Link copied to clipboard
val target: Output<String>? = null

(String) Possible values are branch and tag.

Functions

Link copied to clipboard
open override fun toJava(): RepositoryRulesetArgs