Documentation ¶
Index ¶
- Constants
- func GenerateOAuthTokenFromApp(baseURL, appID, appInstallationID, pemData string) (string, error)
- func NewEtagTransport(rt http.RoundTripper) *etagTransport
- func OwnerOrOrgEnvDefaultFunc() (interface{}, error)
- func Provider() terraform.ResourceProvider
- func RateLimitedHTTPClient(client *http.Client, writeDelay time.Duration) *http.Client
- type Actor
- type BranchProtectionResourceData
- type BranchProtectionRule
- type Config
- func (c *Config) Anonymous() bool
- func (c *Config) AnonymousHTTPClient() *http.Client
- func (c *Config) AuthenticatedHTTPClient() *http.Client
- func (c *Config) ConfigureOwner(owner *Owner) (*Owner, error)
- func (c *Config) Meta() (interface{}, error)
- func (c *Config) NewGraphQLClient(client *http.Client) (*githubv4.Client, error)
- func (c *Config) NewRESTClient(client *http.Client) (*github.Client, error)
- type DismissalActorTypes
- type Owner
- type PageInfo
- type PushActorTypes
- type RateLimitTransport
- type RateLimitTransportOption
- type TeamsQuery
Constants ¶
const ( PROTECTION_ALLOWS_DELETIONS = "allows_deletions" PROTECTION_ALLOWS_FORCE_PUSHES = "allows_force_pushes" PROTECTION_DISMISSES_STALE_REVIEWS = "dismiss_stale_reviews" PROTECTION_IS_ADMIN_ENFORCED = "enforce_admins" PROTECTION_PATTERN = "pattern" PROTECTION_REQUIRED_APPROVING_REVIEW_COUNT = "required_approving_review_count" PROTECTION_REQUIRED_STATUS_CHECK_CONTEXTS = "contexts" PROTECTION_REQUIRES_APPROVING_REVIEWS = "required_pull_request_reviews" PROTECTION_REQUIRES_CODE_OWNER_REVIEWS = "require_code_owner_reviews" PROTECTION_REQUIRES_COMMIT_SIGNATURES = "require_signed_commits" PROTECTION_REQUIRES_LINEAR_HISTORY = "required_linear_history" PROTECTION_REQUIRES_STATUS_CHECKS = "required_status_checks" PROTECTION_REQUIRES_STRICT_STATUS_CHECKS = "strict" PROTECTION_RESTRICTS_PUSHES = "push_restrictions" PROTECTION_RESTRICTS_REVIEW_DISMISSALS = "restrict_dismissals" PROTECTION_RESTRICTS_REVIEW_DISMISSERS = "dismissal_restrictions" REPOSITORY_ID = "repository_id" )
Variables ¶
This section is empty.
Functions ¶
func GenerateOAuthTokenFromApp ¶
GenerateOAuthTokenFromApp generates a GitHub OAuth access token from a set of valid GitHub App credentials. The returned token can be used to interact with both GitHub's REST and GraphQL APIs.
func NewEtagTransport ¶
func NewEtagTransport(rt http.RoundTripper) *etagTransport
func OwnerOrOrgEnvDefaultFunc ¶
func OwnerOrOrgEnvDefaultFunc() (interface{}, error)
func Provider ¶
func Provider() terraform.ResourceProvider
Types ¶
type BranchProtectionResourceData ¶
type BranchProtectionResourceData struct { AllowsDeletions bool AllowsForcePushes bool BranchProtectionRuleID string DismissesStaleReviews bool IsAdminEnforced bool Pattern string PushActorIDs []string RepositoryID string RequiredApprovingReviewCount int RequiredStatusCheckContexts []string RequiresApprovingReviews bool RequiresCodeOwnerReviews bool RequiresCommitSignatures bool RequiresLinearHistory bool RequiresStatusChecks bool RequiresStrictStatusChecks bool RestrictsPushes bool RestrictsReviewDismissals bool ReviewDismissalActorIDs []string }
type BranchProtectionRule ¶
type BranchProtectionRule struct { Repository struct { ID githubv4.String Name githubv4.String } PushAllowances struct { Nodes []PushActorTypes } `graphql:"pushAllowances(first: 100)"` ReviewDismissalAllowances struct { Nodes []DismissalActorTypes } `graphql:"reviewDismissalAllowances(first: 100)"` AllowsDeletions githubv4.Boolean AllowsForcePushes githubv4.Boolean DismissesStaleReviews githubv4.Boolean ID githubv4.ID IsAdminEnforced githubv4.Boolean Pattern githubv4.String RequiredApprovingReviewCount githubv4.Int RequiredStatusCheckContexts []githubv4.String RequiresApprovingReviews githubv4.Boolean RequiresCodeOwnerReviews githubv4.Boolean RequiresCommitSignatures githubv4.Boolean RequiresLinearHistory githubv4.Boolean RequiresStatusChecks githubv4.Boolean RequiresStrictStatusChecks githubv4.Boolean RestrictsPushes githubv4.Boolean RestrictsReviewDismissals githubv4.Boolean }
type Config ¶
type Config struct { Token string Owner string BaseURL string Insecure bool WriteDelay time.Duration }
func (*Config) AnonymousHTTPClient ¶
func (*Config) AuthenticatedHTTPClient ¶
func (*Config) Meta ¶
Meta returns the meta parameter that is passed into subsequent resources https://godoc.org/github.com/hashicorp/terraform-plugin-sdk/helper/schema#ConfigureFunc
func (*Config) NewGraphQLClient ¶
type DismissalActorTypes ¶
type PushActorTypes ¶
type RateLimitTransport ¶
type RateLimitTransport struct {
// contains filtered or unexported fields
}
RateLimitTransport implements GitHub's best practices for avoiding rate limits https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits
func NewRateLimitTransport ¶
func NewRateLimitTransport(rt http.RoundTripper, options ...RateLimitTransportOption) *RateLimitTransport
NewRateLimitTransport takes in an http.RoundTripper and a variadic list of optional functions that modify the RateLimitTransport struct itself. This may be used to alter the write delay in between requests, for example.
type RateLimitTransportOption ¶
type RateLimitTransportOption func(*RateLimitTransport)
func WithWriteDelay ¶
func WithWriteDelay(d time.Duration) RateLimitTransportOption
WithWriteDelay is used to set the write delay between requests
type TeamsQuery ¶
type TeamsQuery struct { Organization struct { ID githubv4.String Teams struct { Nodes []struct { ID githubv4.String DatabaseID githubv4.Int Slug githubv4.String Name githubv4.String Description githubv4.String Privacy githubv4.String Members struct { Nodes []struct { Login githubv4.String } } Repositories struct { Nodes []struct { Name githubv4.String } } } PageInfo PageInfo } `graphql:"teams(first:$first, after:$cursor, rootTeamsOnly:$rootTeamsOnly)"` } `graphql:"organization(login:$login)"` }
Source Files ¶
- apps.go
- config.go
- data_source_github_actions_public_key.go
- data_source_github_branch.go
- data_source_github_collaborators.go
- data_source_github_ip_ranges.go
- data_source_github_membership.go
- data_source_github_organization.go
- data_source_github_organization_team_sync_groups.go
- data_source_github_organization_teams.go
- data_source_github_release.go
- data_source_github_repositories.go
- data_source_github_repository.go
- data_source_github_repository_file.go
- data_source_github_repository_milestone.go
- data_source_github_repository_pull_request.go
- data_source_github_repository_pull_requests.go
- data_source_github_team.go
- data_source_github_user.go
- data_source_github_users.go
- migrate_github_branch_protection.go
- migrate_github_repository_webhook.go
- provider.go
- provider_utils.go
- repository_utils.go
- resource_github_actions_environment_secret.go
- resource_github_actions_organization_secret.go
- resource_github_actions_organization_secret_repositories.go
- resource_github_actions_runner_group.go
- resource_github_actions_secret.go
- resource_github_app_installation_repository.go
- resource_github_branch.go
- resource_github_branch_default.go
- resource_github_branch_protection.go
- resource_github_branch_protection_v3.go
- resource_github_branch_protection_v3_utils.go
- resource_github_issue_label.go
- resource_github_membership.go
- resource_github_organization_project.go
- resource_github_organization_webhook.go
- resource_github_project_card.go
- resource_github_project_column.go
- resource_github_repository.go
- resource_github_repository_autolink_reference.go
- resource_github_repository_collaborator.go
- resource_github_repository_deploy_key.go
- resource_github_repository_environment.go
- resource_github_repository_file.go
- resource_github_repository_milestone.go
- resource_github_repository_project.go
- resource_github_repository_pull_request.go
- resource_github_repository_webhook.go
- resource_github_team.go
- resource_github_team_membership.go
- resource_github_team_repository.go
- resource_github_team_sync_group_mapping.go
- resource_github_user_gpg_key.go
- resource_github_user_invitation_accepter.go
- resource_github_user_ssh_key.go
- resource_organization_block.go
- schema_webhook_configuration.go
- transport.go
- util.go
- util_permissions.go
- util_v4.go
- util_v4_branch_protection.go
- util_v4_consts.go
- util_v4_repository.go
- util_v4_teams.go