Branch Protection Args
data class BranchProtectionArgs(val allowsDeletions: Output<Boolean>? = null, val allowsForcePushes: Output<Boolean>? = null, val blocksCreations: Output<Boolean>? = null, val enforceAdmins: Output<Boolean>? = null, val forcePushBypassers: Output<List<String>>? = null, val lockBranch: Output<Boolean>? = null, val pattern: Output<String>? = null, val pushRestrictions: Output<List<String>>? = null, val repositoryId: Output<String>? = null, val requireConversationResolution: Output<Boolean>? = null, val requireSignedCommits: Output<Boolean>? = null, val requiredLinearHistory: Output<Boolean>? = null, val requiredPullRequestReviews: Output<List<BranchProtectionRequiredPullRequestReviewArgs>>? = null, val requiredStatusChecks: Output<List<BranchProtectionRequiredStatusCheckArgs>>? = null) : ConvertibleToJava<BranchProtectionArgs>
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.GithubFunctions;
import com.pulumi.github.inputs.GetUserArgs;
import com.pulumi.github.Team;
import com.pulumi.github.BranchProtection;
import com.pulumi.github.BranchProtectionArgs;
import com.pulumi.github.inputs.BranchProtectionRequiredStatusCheckArgs;
import com.pulumi.github.inputs.BranchProtectionRequiredPullRequestReviewArgs;
import com.pulumi.github.TeamRepository;
import com.pulumi.github.TeamRepositoryArgs;
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");
final var exampleUser = GithubFunctions.getUser(GetUserArgs.builder()
.username("example")
.build());
var exampleTeam = new Team("exampleTeam");
var exampleBranchProtection = new BranchProtection("exampleBranchProtection", BranchProtectionArgs.builder()
.repositoryId(exampleRepository.nodeId())
.pattern("main")
.enforceAdmins(true)
.allowsDeletions(true)
.requiredStatusChecks(BranchProtectionRequiredStatusCheckArgs.builder()
.strict(false)
.contexts("ci/travis")
.build())
.requiredPullRequestReviews(BranchProtectionRequiredPullRequestReviewArgs.builder()
.dismissStaleReviews(true)
.restrictDismissals(true)
.dismissalRestrictions(
exampleUser.applyValue(getUserResult -> getUserResult.nodeId()),
exampleTeam.nodeId(),
"/exampleuser",
"exampleorganization/exampleteam")
.build())
.pushRestrictions(
exampleUser.applyValue(getUserResult -> getUserResult.nodeId()),
"/exampleuser",
"exampleorganization/exampleteam")
.forcePushBypassers(
exampleUser.applyValue(getUserResult -> getUserResult.nodeId()),
"/exampleuser",
"exampleorganization/exampleteam")
.build());
var exampleTeamRepository = new TeamRepository("exampleTeamRepository", TeamRepositoryArgs.builder()
.teamId(exampleTeam.id())
.repository(exampleRepository.name())
.permission("pull")
.build());
}
}
Content copied to clipboard
Import
GitHub Branch Protection can be imported using an ID made up of repository:pattern
, e.g.
$ pulumi import github:index/branchProtection:BranchProtection terraform terraform:main
Content copied to clipboard
Constructors
Link copied to clipboard
fun BranchProtectionArgs(allowsDeletions: Output<Boolean>? = null, allowsForcePushes: Output<Boolean>? = null, blocksCreations: Output<Boolean>? = null, enforceAdmins: Output<Boolean>? = null, forcePushBypassers: Output<List<String>>? = null, lockBranch: Output<Boolean>? = null, pattern: Output<String>? = null, pushRestrictions: Output<List<String>>? = null, repositoryId: Output<String>? = null, requireConversationResolution: Output<Boolean>? = null, requireSignedCommits: Output<Boolean>? = null, requiredLinearHistory: Output<Boolean>? = null, requiredPullRequestReviews: Output<List<BranchProtectionRequiredPullRequestReviewArgs>>? = null, requiredStatusChecks: Output<List<BranchProtectionRequiredStatusCheckArgs>>? = null)