github

package
v2.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

A Pulumi package for creating and managing github cloud resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionsSecret

type ActionsSecret struct {
	pulumi.CustomResourceState

	// Date of actionsSecret creation.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Plaintext value of the secret to be encrypted
	PlaintextValue pulumi.StringOutput `pulumi:"plaintextValue"`
	// Name of the repository
	Repository pulumi.StringOutput `pulumi:"repository"`
	// Name of the secret
	SecretName pulumi.StringOutput `pulumi:"secretName"`
	// Date of actionsSecret update.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

func GetActionsSecret

func GetActionsSecret(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ActionsSecretState, opts ...pulumi.ResourceOption) (*ActionsSecret, error)

GetActionsSecret gets an existing ActionsSecret resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewActionsSecret

func NewActionsSecret(ctx *pulumi.Context,
	name string, args *ActionsSecretArgs, opts ...pulumi.ResourceOption) (*ActionsSecret, error)

NewActionsSecret registers a new resource with the given unique name, arguments, and options.

type ActionsSecretArgs

type ActionsSecretArgs struct {
	// Plaintext value of the secret to be encrypted
	PlaintextValue pulumi.StringInput
	// Name of the repository
	Repository pulumi.StringInput
	// Name of the secret
	SecretName pulumi.StringInput
}

The set of arguments for constructing a ActionsSecret resource.

func (ActionsSecretArgs) ElementType

func (ActionsSecretArgs) ElementType() reflect.Type

type ActionsSecretState

type ActionsSecretState struct {
	// Date of actionsSecret creation.
	CreatedAt pulumi.StringPtrInput
	// Plaintext value of the secret to be encrypted
	PlaintextValue pulumi.StringPtrInput
	// Name of the repository
	Repository pulumi.StringPtrInput
	// Name of the secret
	SecretName pulumi.StringPtrInput
	// Date of actionsSecret update.
	UpdatedAt pulumi.StringPtrInput
}

func (ActionsSecretState) ElementType

func (ActionsSecretState) ElementType() reflect.Type

type Branch

type Branch struct {
	pulumi.CustomResourceState

	// The repository branch to create.
	Branch pulumi.StringOutput `pulumi:"branch"`
	// An etag representing the Branch object.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// A string representing a branch reference, in the form of `refs/heads/<branch>`.
	Ref pulumi.StringOutput `pulumi:"ref"`
	// The GitHub repository name.
	Repository pulumi.StringOutput `pulumi:"repository"`
	// A string storing the reference's `HEAD` commit's SHA1.
	Sha pulumi.StringOutput `pulumi:"sha"`
	// The branch name to start from. Defaults to `master`.
	SourceBranch pulumi.StringPtrOutput `pulumi:"sourceBranch"`
	// The commit hash to start from. Defaults to the tip of `sourceBranch`. If provided, `sourceBranch` is ignored.
	SourceSha pulumi.StringOutput `pulumi:"sourceSha"`
}

This resource allows you to create and manage branches within your repository.

Additional constraints can be applied to ensure your branch is created from another branch or commit.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewBranch(ctx, "development", &github.BranchArgs{
			Branch:     pulumi.String("development"),
			Repository: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetBranch

func GetBranch(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BranchState, opts ...pulumi.ResourceOption) (*Branch, error)

GetBranch gets an existing Branch resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBranch

func NewBranch(ctx *pulumi.Context,
	name string, args *BranchArgs, opts ...pulumi.ResourceOption) (*Branch, error)

NewBranch registers a new resource with the given unique name, arguments, and options.

type BranchArgs

type BranchArgs struct {
	// The repository branch to create.
	Branch pulumi.StringInput
	// The GitHub repository name.
	Repository pulumi.StringInput
	// The branch name to start from. Defaults to `master`.
	SourceBranch pulumi.StringPtrInput
	// The commit hash to start from. Defaults to the tip of `sourceBranch`. If provided, `sourceBranch` is ignored.
	SourceSha pulumi.StringPtrInput
}

The set of arguments for constructing a Branch resource.

func (BranchArgs) ElementType

func (BranchArgs) ElementType() reflect.Type

type BranchProtection

type BranchProtection struct {
	pulumi.CustomResourceState

	// Boolean, setting this to `true` enforces status checks for repository administrators.
	EnforceAdmins pulumi.BoolPtrOutput `pulumi:"enforceAdmins"`
	// Identifies the protection rule pattern.
	Pattern pulumi.StringOutput `pulumi:"pattern"`
	// The list of actor IDs that may push to the branch.
	PushRestrictions pulumi.StringArrayOutput `pulumi:"pushRestrictions"`
	// The repository associated with this branch protection rule.
	RepositoryId pulumi.StringOutput `pulumi:"repositoryId"`
	// Boolean, setting this to `true` requires all commits to be signed with GPG.
	RequireSignedCommits pulumi.BoolPtrOutput `pulumi:"requireSignedCommits"`
	// Enforce restrictions for pull request reviews. See Required Pull Request Reviews below for details.
	RequiredPullRequestReviews BranchProtectionRequiredPullRequestReviewArrayOutput `pulumi:"requiredPullRequestReviews"`
	// Enforce restrictions for required status checks. See Required Status Checks below for details.
	RequiredStatusChecks BranchProtectionRequiredStatusCheckArrayOutput `pulumi:"requiredStatusChecks"`
}

Protects a GitHub branch.

This resource allows you to configure branch protection for repositories in your organization. When applied, the branch will be protected from forced pushes and deletion. Additional constraints, such as required status checks or restrictions on users, teams, and apps, can also be configured.

func GetBranchProtection

func GetBranchProtection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BranchProtectionState, opts ...pulumi.ResourceOption) (*BranchProtection, error)

GetBranchProtection gets an existing BranchProtection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBranchProtection

func NewBranchProtection(ctx *pulumi.Context,
	name string, args *BranchProtectionArgs, opts ...pulumi.ResourceOption) (*BranchProtection, error)

NewBranchProtection registers a new resource with the given unique name, arguments, and options.

type BranchProtectionArgs

type BranchProtectionArgs struct {
	// Boolean, setting this to `true` enforces status checks for repository administrators.
	EnforceAdmins pulumi.BoolPtrInput
	// Identifies the protection rule pattern.
	Pattern pulumi.StringInput
	// The list of actor IDs that may push to the branch.
	PushRestrictions pulumi.StringArrayInput
	// The repository associated with this branch protection rule.
	RepositoryId pulumi.StringInput
	// Boolean, setting this to `true` requires all commits to be signed with GPG.
	RequireSignedCommits pulumi.BoolPtrInput
	// Enforce restrictions for pull request reviews. See Required Pull Request Reviews below for details.
	RequiredPullRequestReviews BranchProtectionRequiredPullRequestReviewArrayInput
	// Enforce restrictions for required status checks. See Required Status Checks below for details.
	RequiredStatusChecks BranchProtectionRequiredStatusCheckArrayInput
}

The set of arguments for constructing a BranchProtection resource.

func (BranchProtectionArgs) ElementType

func (BranchProtectionArgs) ElementType() reflect.Type

type BranchProtectionRequiredPullRequestReview added in v2.1.0

type BranchProtectionRequiredPullRequestReview struct {
	DismissStaleReviews          *bool    `pulumi:"dismissStaleReviews"`
	DismissalRestrictions        []string `pulumi:"dismissalRestrictions"`
	RequireCodeOwnerReviews      *bool    `pulumi:"requireCodeOwnerReviews"`
	RequiredApprovingReviewCount *int     `pulumi:"requiredApprovingReviewCount"`
}

type BranchProtectionRequiredPullRequestReviewArgs added in v2.1.0

type BranchProtectionRequiredPullRequestReviewArgs struct {
	DismissStaleReviews          pulumi.BoolPtrInput     `pulumi:"dismissStaleReviews"`
	DismissalRestrictions        pulumi.StringArrayInput `pulumi:"dismissalRestrictions"`
	RequireCodeOwnerReviews      pulumi.BoolPtrInput     `pulumi:"requireCodeOwnerReviews"`
	RequiredApprovingReviewCount pulumi.IntPtrInput      `pulumi:"requiredApprovingReviewCount"`
}

func (BranchProtectionRequiredPullRequestReviewArgs) ElementType added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewArgs) ToBranchProtectionRequiredPullRequestReviewOutput added in v2.1.0

func (i BranchProtectionRequiredPullRequestReviewArgs) ToBranchProtectionRequiredPullRequestReviewOutput() BranchProtectionRequiredPullRequestReviewOutput

func (BranchProtectionRequiredPullRequestReviewArgs) ToBranchProtectionRequiredPullRequestReviewOutputWithContext added in v2.1.0

func (i BranchProtectionRequiredPullRequestReviewArgs) ToBranchProtectionRequiredPullRequestReviewOutputWithContext(ctx context.Context) BranchProtectionRequiredPullRequestReviewOutput

type BranchProtectionRequiredPullRequestReviewArray added in v2.1.0

type BranchProtectionRequiredPullRequestReviewArray []BranchProtectionRequiredPullRequestReviewInput

func (BranchProtectionRequiredPullRequestReviewArray) ElementType added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewArray) ToBranchProtectionRequiredPullRequestReviewArrayOutput added in v2.1.0

func (i BranchProtectionRequiredPullRequestReviewArray) ToBranchProtectionRequiredPullRequestReviewArrayOutput() BranchProtectionRequiredPullRequestReviewArrayOutput

func (BranchProtectionRequiredPullRequestReviewArray) ToBranchProtectionRequiredPullRequestReviewArrayOutputWithContext added in v2.1.0

func (i BranchProtectionRequiredPullRequestReviewArray) ToBranchProtectionRequiredPullRequestReviewArrayOutputWithContext(ctx context.Context) BranchProtectionRequiredPullRequestReviewArrayOutput

type BranchProtectionRequiredPullRequestReviewArrayInput added in v2.1.0

type BranchProtectionRequiredPullRequestReviewArrayInput interface {
	pulumi.Input

	ToBranchProtectionRequiredPullRequestReviewArrayOutput() BranchProtectionRequiredPullRequestReviewArrayOutput
	ToBranchProtectionRequiredPullRequestReviewArrayOutputWithContext(context.Context) BranchProtectionRequiredPullRequestReviewArrayOutput
}

BranchProtectionRequiredPullRequestReviewArrayInput is an input type that accepts BranchProtectionRequiredPullRequestReviewArray and BranchProtectionRequiredPullRequestReviewArrayOutput values. You can construct a concrete instance of `BranchProtectionRequiredPullRequestReviewArrayInput` via:

BranchProtectionRequiredPullRequestReviewArray{ BranchProtectionRequiredPullRequestReviewArgs{...} }

type BranchProtectionRequiredPullRequestReviewArrayOutput added in v2.1.0

type BranchProtectionRequiredPullRequestReviewArrayOutput struct{ *pulumi.OutputState }

func (BranchProtectionRequiredPullRequestReviewArrayOutput) ElementType added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewArrayOutput) Index added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewArrayOutput) ToBranchProtectionRequiredPullRequestReviewArrayOutput added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewArrayOutput) ToBranchProtectionRequiredPullRequestReviewArrayOutputWithContext added in v2.1.0

func (o BranchProtectionRequiredPullRequestReviewArrayOutput) ToBranchProtectionRequiredPullRequestReviewArrayOutputWithContext(ctx context.Context) BranchProtectionRequiredPullRequestReviewArrayOutput

type BranchProtectionRequiredPullRequestReviewInput added in v2.1.0

type BranchProtectionRequiredPullRequestReviewInput interface {
	pulumi.Input

	ToBranchProtectionRequiredPullRequestReviewOutput() BranchProtectionRequiredPullRequestReviewOutput
	ToBranchProtectionRequiredPullRequestReviewOutputWithContext(context.Context) BranchProtectionRequiredPullRequestReviewOutput
}

BranchProtectionRequiredPullRequestReviewInput is an input type that accepts BranchProtectionRequiredPullRequestReviewArgs and BranchProtectionRequiredPullRequestReviewOutput values. You can construct a concrete instance of `BranchProtectionRequiredPullRequestReviewInput` via:

BranchProtectionRequiredPullRequestReviewArgs{...}

type BranchProtectionRequiredPullRequestReviewOutput added in v2.1.0

type BranchProtectionRequiredPullRequestReviewOutput struct{ *pulumi.OutputState }

func (BranchProtectionRequiredPullRequestReviewOutput) DismissStaleReviews added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewOutput) DismissalRestrictions added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewOutput) ElementType added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewOutput) RequireCodeOwnerReviews added in v2.1.0

func (BranchProtectionRequiredPullRequestReviewOutput) RequiredApprovingReviewCount added in v2.1.0

func (o BranchProtectionRequiredPullRequestReviewOutput) RequiredApprovingReviewCount() pulumi.IntPtrOutput

func (BranchProtectionRequiredPullRequestReviewOutput) ToBranchProtectionRequiredPullRequestReviewOutput added in v2.1.0

func (o BranchProtectionRequiredPullRequestReviewOutput) ToBranchProtectionRequiredPullRequestReviewOutput() BranchProtectionRequiredPullRequestReviewOutput

func (BranchProtectionRequiredPullRequestReviewOutput) ToBranchProtectionRequiredPullRequestReviewOutputWithContext added in v2.1.0

func (o BranchProtectionRequiredPullRequestReviewOutput) ToBranchProtectionRequiredPullRequestReviewOutputWithContext(ctx context.Context) BranchProtectionRequiredPullRequestReviewOutput

type BranchProtectionRequiredStatusCheck added in v2.1.0

type BranchProtectionRequiredStatusCheck struct {
	Contexts []string `pulumi:"contexts"`
	Strict   *bool    `pulumi:"strict"`
}

type BranchProtectionRequiredStatusCheckArgs added in v2.1.0

type BranchProtectionRequiredStatusCheckArgs struct {
	Contexts pulumi.StringArrayInput `pulumi:"contexts"`
	Strict   pulumi.BoolPtrInput     `pulumi:"strict"`
}

func (BranchProtectionRequiredStatusCheckArgs) ElementType added in v2.1.0

func (BranchProtectionRequiredStatusCheckArgs) ToBranchProtectionRequiredStatusCheckOutput added in v2.1.0

func (i BranchProtectionRequiredStatusCheckArgs) ToBranchProtectionRequiredStatusCheckOutput() BranchProtectionRequiredStatusCheckOutput

func (BranchProtectionRequiredStatusCheckArgs) ToBranchProtectionRequiredStatusCheckOutputWithContext added in v2.1.0

func (i BranchProtectionRequiredStatusCheckArgs) ToBranchProtectionRequiredStatusCheckOutputWithContext(ctx context.Context) BranchProtectionRequiredStatusCheckOutput

type BranchProtectionRequiredStatusCheckArray added in v2.1.0

type BranchProtectionRequiredStatusCheckArray []BranchProtectionRequiredStatusCheckInput

func (BranchProtectionRequiredStatusCheckArray) ElementType added in v2.1.0

func (BranchProtectionRequiredStatusCheckArray) ToBranchProtectionRequiredStatusCheckArrayOutput added in v2.1.0

func (i BranchProtectionRequiredStatusCheckArray) ToBranchProtectionRequiredStatusCheckArrayOutput() BranchProtectionRequiredStatusCheckArrayOutput

func (BranchProtectionRequiredStatusCheckArray) ToBranchProtectionRequiredStatusCheckArrayOutputWithContext added in v2.1.0

func (i BranchProtectionRequiredStatusCheckArray) ToBranchProtectionRequiredStatusCheckArrayOutputWithContext(ctx context.Context) BranchProtectionRequiredStatusCheckArrayOutput

type BranchProtectionRequiredStatusCheckArrayInput added in v2.1.0

type BranchProtectionRequiredStatusCheckArrayInput interface {
	pulumi.Input

	ToBranchProtectionRequiredStatusCheckArrayOutput() BranchProtectionRequiredStatusCheckArrayOutput
	ToBranchProtectionRequiredStatusCheckArrayOutputWithContext(context.Context) BranchProtectionRequiredStatusCheckArrayOutput
}

BranchProtectionRequiredStatusCheckArrayInput is an input type that accepts BranchProtectionRequiredStatusCheckArray and BranchProtectionRequiredStatusCheckArrayOutput values. You can construct a concrete instance of `BranchProtectionRequiredStatusCheckArrayInput` via:

BranchProtectionRequiredStatusCheckArray{ BranchProtectionRequiredStatusCheckArgs{...} }

type BranchProtectionRequiredStatusCheckArrayOutput added in v2.1.0

type BranchProtectionRequiredStatusCheckArrayOutput struct{ *pulumi.OutputState }

func (BranchProtectionRequiredStatusCheckArrayOutput) ElementType added in v2.1.0

func (BranchProtectionRequiredStatusCheckArrayOutput) Index added in v2.1.0

func (BranchProtectionRequiredStatusCheckArrayOutput) ToBranchProtectionRequiredStatusCheckArrayOutput added in v2.1.0

func (o BranchProtectionRequiredStatusCheckArrayOutput) ToBranchProtectionRequiredStatusCheckArrayOutput() BranchProtectionRequiredStatusCheckArrayOutput

func (BranchProtectionRequiredStatusCheckArrayOutput) ToBranchProtectionRequiredStatusCheckArrayOutputWithContext added in v2.1.0

func (o BranchProtectionRequiredStatusCheckArrayOutput) ToBranchProtectionRequiredStatusCheckArrayOutputWithContext(ctx context.Context) BranchProtectionRequiredStatusCheckArrayOutput

type BranchProtectionRequiredStatusCheckInput added in v2.1.0

type BranchProtectionRequiredStatusCheckInput interface {
	pulumi.Input

	ToBranchProtectionRequiredStatusCheckOutput() BranchProtectionRequiredStatusCheckOutput
	ToBranchProtectionRequiredStatusCheckOutputWithContext(context.Context) BranchProtectionRequiredStatusCheckOutput
}

BranchProtectionRequiredStatusCheckInput is an input type that accepts BranchProtectionRequiredStatusCheckArgs and BranchProtectionRequiredStatusCheckOutput values. You can construct a concrete instance of `BranchProtectionRequiredStatusCheckInput` via:

BranchProtectionRequiredStatusCheckArgs{...}

type BranchProtectionRequiredStatusCheckOutput added in v2.1.0

type BranchProtectionRequiredStatusCheckOutput struct{ *pulumi.OutputState }

func (BranchProtectionRequiredStatusCheckOutput) Contexts added in v2.1.0

func (BranchProtectionRequiredStatusCheckOutput) ElementType added in v2.1.0

func (BranchProtectionRequiredStatusCheckOutput) Strict added in v2.1.0

func (BranchProtectionRequiredStatusCheckOutput) ToBranchProtectionRequiredStatusCheckOutput added in v2.1.0

func (o BranchProtectionRequiredStatusCheckOutput) ToBranchProtectionRequiredStatusCheckOutput() BranchProtectionRequiredStatusCheckOutput

func (BranchProtectionRequiredStatusCheckOutput) ToBranchProtectionRequiredStatusCheckOutputWithContext added in v2.1.0

func (o BranchProtectionRequiredStatusCheckOutput) ToBranchProtectionRequiredStatusCheckOutputWithContext(ctx context.Context) BranchProtectionRequiredStatusCheckOutput

type BranchProtectionState

type BranchProtectionState struct {
	// Boolean, setting this to `true` enforces status checks for repository administrators.
	EnforceAdmins pulumi.BoolPtrInput
	// Identifies the protection rule pattern.
	Pattern pulumi.StringPtrInput
	// The list of actor IDs that may push to the branch.
	PushRestrictions pulumi.StringArrayInput
	// The repository associated with this branch protection rule.
	RepositoryId pulumi.StringPtrInput
	// Boolean, setting this to `true` requires all commits to be signed with GPG.
	RequireSignedCommits pulumi.BoolPtrInput
	// Enforce restrictions for pull request reviews. See Required Pull Request Reviews below for details.
	RequiredPullRequestReviews BranchProtectionRequiredPullRequestReviewArrayInput
	// Enforce restrictions for required status checks. See Required Status Checks below for details.
	RequiredStatusChecks BranchProtectionRequiredStatusCheckArrayInput
}

func (BranchProtectionState) ElementType

func (BranchProtectionState) ElementType() reflect.Type

type BranchState

type BranchState struct {
	// The repository branch to create.
	Branch pulumi.StringPtrInput
	// An etag representing the Branch object.
	Etag pulumi.StringPtrInput
	// A string representing a branch reference, in the form of `refs/heads/<branch>`.
	Ref pulumi.StringPtrInput
	// The GitHub repository name.
	Repository pulumi.StringPtrInput
	// A string storing the reference's `HEAD` commit's SHA1.
	Sha pulumi.StringPtrInput
	// The branch name to start from. Defaults to `master`.
	SourceBranch pulumi.StringPtrInput
	// The commit hash to start from. Defaults to the tip of `sourceBranch`. If provided, `sourceBranch` is ignored.
	SourceSha pulumi.StringPtrInput
}

func (BranchState) ElementType

func (BranchState) ElementType() reflect.Type

type GetActionsPublicKeyArgs

type GetActionsPublicKeyArgs struct {
	// Name of the repository to get public key from.
	Repository string `pulumi:"repository"`
}

A collection of arguments for invoking getActionsPublicKey.

type GetActionsPublicKeyResult

type GetActionsPublicKeyResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Actual key retrieved.
	Key string `pulumi:"key"`
	// ID of the key that has been retrieved.
	KeyId      string `pulumi:"keyId"`
	Repository string `pulumi:"repository"`
}

A collection of values returned by getActionsPublicKey.

func GetActionsPublicKey

func GetActionsPublicKey(ctx *pulumi.Context, args *GetActionsPublicKeyArgs, opts ...pulumi.InvokeOption) (*GetActionsPublicKeyResult, error)

Use this data source to retrieve information about a GitHub Actions public key. This data source is required to be used with other GitHub secrets interactions. Note that the provider `token` must have admin rights to a repository to retrieve it's action public key.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetActionsPublicKey(ctx, &github.GetActionsPublicKeyArgs{
			Repository: "example_repo",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetCollaboratorsArgs

type GetCollaboratorsArgs struct {
	// Filter collaborators returned by their affiliation. Can be one of: `outside`, `direct`, `all`.  Defaults to `all`.
	Affiliation *string `pulumi:"affiliation"`
	// The organization that owns the repository.
	Owner string `pulumi:"owner"`
	// The name of the repository.
	Repository string `pulumi:"repository"`
}

A collection of arguments for invoking getCollaborators.

type GetCollaboratorsCollaborator

type GetCollaboratorsCollaborator struct {
	// The GitHub API URL for the collaborator's events.
	EventsUrl string `pulumi:"eventsUrl"`
	// The GitHub API URL for the collaborator's followers.
	FollowersUrl string `pulumi:"followersUrl"`
	// The GitHub API URL for those following the collaborator.
	FollowingUrl string `pulumi:"followingUrl"`
	// The GitHub API URL for the collaborator's gists.
	GistsUrl string `pulumi:"gistsUrl"`
	// The GitHub HTML URL for the collaborator.
	HtmlUrl string `pulumi:"htmlUrl"`
	// The ID of the collaborator.
	Id int `pulumi:"id"`
	// The collaborator's login.
	Login string `pulumi:"login"`
	// The GitHub API URL for the collaborator's organizations.
	OrganizationsUrl string `pulumi:"organizationsUrl"`
	// The permission of the collaborator.
	Permission string `pulumi:"permission"`
	// The GitHub API URL for the collaborator's received events.
	ReceivedEventsUrl string `pulumi:"receivedEventsUrl"`
	// The GitHub API URL for the collaborator's repositories.
	ReposUrl string `pulumi:"reposUrl"`
	// Whether the user is a GitHub admin.
	SiteAdmin bool `pulumi:"siteAdmin"`
	// The GitHub API URL for the collaborator's starred repositories.
	StarredUrl string `pulumi:"starredUrl"`
	// The GitHub API URL for the collaborator's subscribed repositories.
	SubscriptionsUrl string `pulumi:"subscriptionsUrl"`
	// The type of the collaborator (ex. `user`).
	Type string `pulumi:"type"`
	// The GitHub API URL for the collaborator.
	Url string `pulumi:"url"`
}

type GetCollaboratorsCollaboratorArgs

type GetCollaboratorsCollaboratorArgs struct {
	// The GitHub API URL for the collaborator's events.
	EventsUrl pulumi.StringInput `pulumi:"eventsUrl"`
	// The GitHub API URL for the collaborator's followers.
	FollowersUrl pulumi.StringInput `pulumi:"followersUrl"`
	// The GitHub API URL for those following the collaborator.
	FollowingUrl pulumi.StringInput `pulumi:"followingUrl"`
	// The GitHub API URL for the collaborator's gists.
	GistsUrl pulumi.StringInput `pulumi:"gistsUrl"`
	// The GitHub HTML URL for the collaborator.
	HtmlUrl pulumi.StringInput `pulumi:"htmlUrl"`
	// The ID of the collaborator.
	Id pulumi.IntInput `pulumi:"id"`
	// The collaborator's login.
	Login pulumi.StringInput `pulumi:"login"`
	// The GitHub API URL for the collaborator's organizations.
	OrganizationsUrl pulumi.StringInput `pulumi:"organizationsUrl"`
	// The permission of the collaborator.
	Permission pulumi.StringInput `pulumi:"permission"`
	// The GitHub API URL for the collaborator's received events.
	ReceivedEventsUrl pulumi.StringInput `pulumi:"receivedEventsUrl"`
	// The GitHub API URL for the collaborator's repositories.
	ReposUrl pulumi.StringInput `pulumi:"reposUrl"`
	// Whether the user is a GitHub admin.
	SiteAdmin pulumi.BoolInput `pulumi:"siteAdmin"`
	// The GitHub API URL for the collaborator's starred repositories.
	StarredUrl pulumi.StringInput `pulumi:"starredUrl"`
	// The GitHub API URL for the collaborator's subscribed repositories.
	SubscriptionsUrl pulumi.StringInput `pulumi:"subscriptionsUrl"`
	// The type of the collaborator (ex. `user`).
	Type pulumi.StringInput `pulumi:"type"`
	// The GitHub API URL for the collaborator.
	Url pulumi.StringInput `pulumi:"url"`
}

func (GetCollaboratorsCollaboratorArgs) ElementType

func (GetCollaboratorsCollaboratorArgs) ToGetCollaboratorsCollaboratorOutput

func (i GetCollaboratorsCollaboratorArgs) ToGetCollaboratorsCollaboratorOutput() GetCollaboratorsCollaboratorOutput

func (GetCollaboratorsCollaboratorArgs) ToGetCollaboratorsCollaboratorOutputWithContext

func (i GetCollaboratorsCollaboratorArgs) ToGetCollaboratorsCollaboratorOutputWithContext(ctx context.Context) GetCollaboratorsCollaboratorOutput

type GetCollaboratorsCollaboratorArray

type GetCollaboratorsCollaboratorArray []GetCollaboratorsCollaboratorInput

func (GetCollaboratorsCollaboratorArray) ElementType

func (GetCollaboratorsCollaboratorArray) ToGetCollaboratorsCollaboratorArrayOutput

func (i GetCollaboratorsCollaboratorArray) ToGetCollaboratorsCollaboratorArrayOutput() GetCollaboratorsCollaboratorArrayOutput

func (GetCollaboratorsCollaboratorArray) ToGetCollaboratorsCollaboratorArrayOutputWithContext

func (i GetCollaboratorsCollaboratorArray) ToGetCollaboratorsCollaboratorArrayOutputWithContext(ctx context.Context) GetCollaboratorsCollaboratorArrayOutput

type GetCollaboratorsCollaboratorArrayInput

type GetCollaboratorsCollaboratorArrayInput interface {
	pulumi.Input

	ToGetCollaboratorsCollaboratorArrayOutput() GetCollaboratorsCollaboratorArrayOutput
	ToGetCollaboratorsCollaboratorArrayOutputWithContext(context.Context) GetCollaboratorsCollaboratorArrayOutput
}

GetCollaboratorsCollaboratorArrayInput is an input type that accepts GetCollaboratorsCollaboratorArray and GetCollaboratorsCollaboratorArrayOutput values. You can construct a concrete instance of `GetCollaboratorsCollaboratorArrayInput` via:

GetCollaboratorsCollaboratorArray{ GetCollaboratorsCollaboratorArgs{...} }

type GetCollaboratorsCollaboratorArrayOutput

type GetCollaboratorsCollaboratorArrayOutput struct{ *pulumi.OutputState }

func (GetCollaboratorsCollaboratorArrayOutput) ElementType

func (GetCollaboratorsCollaboratorArrayOutput) Index

func (GetCollaboratorsCollaboratorArrayOutput) ToGetCollaboratorsCollaboratorArrayOutput

func (o GetCollaboratorsCollaboratorArrayOutput) ToGetCollaboratorsCollaboratorArrayOutput() GetCollaboratorsCollaboratorArrayOutput

func (GetCollaboratorsCollaboratorArrayOutput) ToGetCollaboratorsCollaboratorArrayOutputWithContext

func (o GetCollaboratorsCollaboratorArrayOutput) ToGetCollaboratorsCollaboratorArrayOutputWithContext(ctx context.Context) GetCollaboratorsCollaboratorArrayOutput

type GetCollaboratorsCollaboratorInput

type GetCollaboratorsCollaboratorInput interface {
	pulumi.Input

	ToGetCollaboratorsCollaboratorOutput() GetCollaboratorsCollaboratorOutput
	ToGetCollaboratorsCollaboratorOutputWithContext(context.Context) GetCollaboratorsCollaboratorOutput
}

GetCollaboratorsCollaboratorInput is an input type that accepts GetCollaboratorsCollaboratorArgs and GetCollaboratorsCollaboratorOutput values. You can construct a concrete instance of `GetCollaboratorsCollaboratorInput` via:

GetCollaboratorsCollaboratorArgs{...}

type GetCollaboratorsCollaboratorOutput

type GetCollaboratorsCollaboratorOutput struct{ *pulumi.OutputState }

func (GetCollaboratorsCollaboratorOutput) ElementType

func (GetCollaboratorsCollaboratorOutput) EventsUrl

The GitHub API URL for the collaborator's events.

func (GetCollaboratorsCollaboratorOutput) FollowersUrl

The GitHub API URL for the collaborator's followers.

func (GetCollaboratorsCollaboratorOutput) FollowingUrl

The GitHub API URL for those following the collaborator.

func (GetCollaboratorsCollaboratorOutput) GistsUrl

The GitHub API URL for the collaborator's gists.

func (GetCollaboratorsCollaboratorOutput) HtmlUrl

The GitHub HTML URL for the collaborator.

func (GetCollaboratorsCollaboratorOutput) Id

The ID of the collaborator.

func (GetCollaboratorsCollaboratorOutput) Login

The collaborator's login.

func (GetCollaboratorsCollaboratorOutput) OrganizationsUrl

The GitHub API URL for the collaborator's organizations.

func (GetCollaboratorsCollaboratorOutput) Permission

The permission of the collaborator.

func (GetCollaboratorsCollaboratorOutput) ReceivedEventsUrl

The GitHub API URL for the collaborator's received events.

func (GetCollaboratorsCollaboratorOutput) ReposUrl

The GitHub API URL for the collaborator's repositories.

func (GetCollaboratorsCollaboratorOutput) SiteAdmin

Whether the user is a GitHub admin.

func (GetCollaboratorsCollaboratorOutput) StarredUrl

The GitHub API URL for the collaborator's starred repositories.

func (GetCollaboratorsCollaboratorOutput) SubscriptionsUrl

The GitHub API URL for the collaborator's subscribed repositories.

func (GetCollaboratorsCollaboratorOutput) ToGetCollaboratorsCollaboratorOutput

func (o GetCollaboratorsCollaboratorOutput) ToGetCollaboratorsCollaboratorOutput() GetCollaboratorsCollaboratorOutput

func (GetCollaboratorsCollaboratorOutput) ToGetCollaboratorsCollaboratorOutputWithContext

func (o GetCollaboratorsCollaboratorOutput) ToGetCollaboratorsCollaboratorOutputWithContext(ctx context.Context) GetCollaboratorsCollaboratorOutput

func (GetCollaboratorsCollaboratorOutput) Type

The type of the collaborator (ex. `user`).

func (GetCollaboratorsCollaboratorOutput) Url

The GitHub API URL for the collaborator.

type GetCollaboratorsResult

type GetCollaboratorsResult struct {
	Affiliation *string `pulumi:"affiliation"`
	// An Array of GitHub collaborators.  Each `collaborator` block consists of the fields documented below.
	Collaborators []GetCollaboratorsCollaborator `pulumi:"collaborators"`
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	Owner      string `pulumi:"owner"`
	Repository string `pulumi:"repository"`
}

A collection of values returned by getCollaborators.

func GetCollaborators

func GetCollaborators(ctx *pulumi.Context, args *GetCollaboratorsArgs, opts ...pulumi.InvokeOption) (*GetCollaboratorsResult, error)

Use this data source to retrieve the collaborators for a given repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetCollaborators(ctx, &github.GetCollaboratorsArgs{
			Owner:      "example_owner",
			Repository: "example_repository",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetIpRangesResult

type GetIpRangesResult struct {
	// An Array of IP addresses in CIDR format specifying the Git servers.
	Gits []string `pulumi:"gits"`
	// An Array of IP addresses in CIDR format specifying the addresses that incoming service hooks will originate from.
	Hooks []string `pulumi:"hooks"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An Array of IP addresses in CIDR format specifying the A records for GitHub Importer.
	Importers []string `pulumi:"importers"`
	// An Array of IP addresses in CIDR format specifying the A records for GitHub Pages.
	Pages []string `pulumi:"pages"`
}

A collection of values returned by getIpRanges.

func GetIpRanges

func GetIpRanges(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIpRangesResult, error)

Use this data source to retrieve information about GitHub's IP addresses.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetIpRanges(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetOrganizationArgs

type GetOrganizationArgs struct {
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getOrganization.

type GetOrganizationResult

type GetOrganizationResult struct {
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id     string `pulumi:"id"`
	Login  string `pulumi:"login"`
	Name   string `pulumi:"name"`
	NodeId string `pulumi:"nodeId"`
	// The plan name for the organization account
	Plan string `pulumi:"plan"`
}

A collection of values returned by getOrganization.

func GetOrganization

func GetOrganization(ctx *pulumi.Context, args *GetOrganizationArgs, opts ...pulumi.InvokeOption) (*GetOrganizationResult, error)

Use this data source to retrieve basic information about a GitHub Organization.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetOrganization(ctx, &github.GetOrganizationArgs{
			Name: "github",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetOrganizationTeamSyncGroupsGroup

type GetOrganizationTeamSyncGroupsGroup struct {
	// The description of the IdP group.
	GroupDescription string `pulumi:"groupDescription"`
	// The ID of the IdP group.
	GroupId string `pulumi:"groupId"`
	// The name of the IdP group.
	GroupName string `pulumi:"groupName"`
}

type GetOrganizationTeamSyncGroupsGroupArgs

type GetOrganizationTeamSyncGroupsGroupArgs struct {
	// The description of the IdP group.
	GroupDescription pulumi.StringInput `pulumi:"groupDescription"`
	// The ID of the IdP group.
	GroupId pulumi.StringInput `pulumi:"groupId"`
	// The name of the IdP group.
	GroupName pulumi.StringInput `pulumi:"groupName"`
}

func (GetOrganizationTeamSyncGroupsGroupArgs) ElementType

func (GetOrganizationTeamSyncGroupsGroupArgs) ToGetOrganizationTeamSyncGroupsGroupOutput

func (i GetOrganizationTeamSyncGroupsGroupArgs) ToGetOrganizationTeamSyncGroupsGroupOutput() GetOrganizationTeamSyncGroupsGroupOutput

func (GetOrganizationTeamSyncGroupsGroupArgs) ToGetOrganizationTeamSyncGroupsGroupOutputWithContext

func (i GetOrganizationTeamSyncGroupsGroupArgs) ToGetOrganizationTeamSyncGroupsGroupOutputWithContext(ctx context.Context) GetOrganizationTeamSyncGroupsGroupOutput

type GetOrganizationTeamSyncGroupsGroupArray

type GetOrganizationTeamSyncGroupsGroupArray []GetOrganizationTeamSyncGroupsGroupInput

func (GetOrganizationTeamSyncGroupsGroupArray) ElementType

func (GetOrganizationTeamSyncGroupsGroupArray) ToGetOrganizationTeamSyncGroupsGroupArrayOutput

func (i GetOrganizationTeamSyncGroupsGroupArray) ToGetOrganizationTeamSyncGroupsGroupArrayOutput() GetOrganizationTeamSyncGroupsGroupArrayOutput

func (GetOrganizationTeamSyncGroupsGroupArray) ToGetOrganizationTeamSyncGroupsGroupArrayOutputWithContext

func (i GetOrganizationTeamSyncGroupsGroupArray) ToGetOrganizationTeamSyncGroupsGroupArrayOutputWithContext(ctx context.Context) GetOrganizationTeamSyncGroupsGroupArrayOutput

type GetOrganizationTeamSyncGroupsGroupArrayInput

type GetOrganizationTeamSyncGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetOrganizationTeamSyncGroupsGroupArrayOutput() GetOrganizationTeamSyncGroupsGroupArrayOutput
	ToGetOrganizationTeamSyncGroupsGroupArrayOutputWithContext(context.Context) GetOrganizationTeamSyncGroupsGroupArrayOutput
}

GetOrganizationTeamSyncGroupsGroupArrayInput is an input type that accepts GetOrganizationTeamSyncGroupsGroupArray and GetOrganizationTeamSyncGroupsGroupArrayOutput values. You can construct a concrete instance of `GetOrganizationTeamSyncGroupsGroupArrayInput` via:

GetOrganizationTeamSyncGroupsGroupArray{ GetOrganizationTeamSyncGroupsGroupArgs{...} }

type GetOrganizationTeamSyncGroupsGroupArrayOutput

type GetOrganizationTeamSyncGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetOrganizationTeamSyncGroupsGroupArrayOutput) ElementType

func (GetOrganizationTeamSyncGroupsGroupArrayOutput) Index

func (GetOrganizationTeamSyncGroupsGroupArrayOutput) ToGetOrganizationTeamSyncGroupsGroupArrayOutput

func (o GetOrganizationTeamSyncGroupsGroupArrayOutput) ToGetOrganizationTeamSyncGroupsGroupArrayOutput() GetOrganizationTeamSyncGroupsGroupArrayOutput

func (GetOrganizationTeamSyncGroupsGroupArrayOutput) ToGetOrganizationTeamSyncGroupsGroupArrayOutputWithContext

func (o GetOrganizationTeamSyncGroupsGroupArrayOutput) ToGetOrganizationTeamSyncGroupsGroupArrayOutputWithContext(ctx context.Context) GetOrganizationTeamSyncGroupsGroupArrayOutput

type GetOrganizationTeamSyncGroupsGroupInput

type GetOrganizationTeamSyncGroupsGroupInput interface {
	pulumi.Input

	ToGetOrganizationTeamSyncGroupsGroupOutput() GetOrganizationTeamSyncGroupsGroupOutput
	ToGetOrganizationTeamSyncGroupsGroupOutputWithContext(context.Context) GetOrganizationTeamSyncGroupsGroupOutput
}

GetOrganizationTeamSyncGroupsGroupInput is an input type that accepts GetOrganizationTeamSyncGroupsGroupArgs and GetOrganizationTeamSyncGroupsGroupOutput values. You can construct a concrete instance of `GetOrganizationTeamSyncGroupsGroupInput` via:

GetOrganizationTeamSyncGroupsGroupArgs{...}

type GetOrganizationTeamSyncGroupsGroupOutput

type GetOrganizationTeamSyncGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetOrganizationTeamSyncGroupsGroupOutput) ElementType

func (GetOrganizationTeamSyncGroupsGroupOutput) GroupDescription

The description of the IdP group.

func (GetOrganizationTeamSyncGroupsGroupOutput) GroupId

The ID of the IdP group.

func (GetOrganizationTeamSyncGroupsGroupOutput) GroupName

The name of the IdP group.

func (GetOrganizationTeamSyncGroupsGroupOutput) ToGetOrganizationTeamSyncGroupsGroupOutput

func (o GetOrganizationTeamSyncGroupsGroupOutput) ToGetOrganizationTeamSyncGroupsGroupOutput() GetOrganizationTeamSyncGroupsGroupOutput

func (GetOrganizationTeamSyncGroupsGroupOutput) ToGetOrganizationTeamSyncGroupsGroupOutputWithContext

func (o GetOrganizationTeamSyncGroupsGroupOutput) ToGetOrganizationTeamSyncGroupsGroupOutputWithContext(ctx context.Context) GetOrganizationTeamSyncGroupsGroupOutput

type GetOrganizationTeamSyncGroupsResult

type GetOrganizationTeamSyncGroupsResult struct {
	// An Array of GitHub Identity Provider Groups.  Each `group` block consists of the fields documented below.
	Groups []GetOrganizationTeamSyncGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getOrganizationTeamSyncGroups.

func GetOrganizationTeamSyncGroups

func GetOrganizationTeamSyncGroups(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetOrganizationTeamSyncGroupsResult, error)

Use this data source to retrieve the identity provider (IdP) groups for an organization.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetOrganizationTeamSyncGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetReleaseArgs

type GetReleaseArgs struct {
	// Owner of the repository.
	Owner string `pulumi:"owner"`
	// ID of the release to retrieve. Must be specified when `retrieveBy` = `id`.
	ReleaseId *int `pulumi:"releaseId"`
	// Tag of the release to retrieve. Must be specified when `retrieveBy` = `tag`.
	ReleaseTag *string `pulumi:"releaseTag"`
	// Name of the repository to retrieve the release from.
	Repository string `pulumi:"repository"`
	// Describes how to fetch the release. Valid values are `id`, `tag`, `latest`.
	RetrieveBy string `pulumi:"retrieveBy"`
}

A collection of arguments for invoking getRelease.

type GetReleaseResult

type GetReleaseResult struct {
	// URL of any associated assets with the release
	AssertsUrl string `pulumi:"assertsUrl"`
	// Contents of the description (body) of a release
	Body string `pulumi:"body"`
	// Date of release creation
	CreatedAt string `pulumi:"createdAt"`
	// (`Boolean`) indicates whether the release is a draft
	Draft bool `pulumi:"draft"`
	// URL directing to detailed information on the release
	HtmlUrl string `pulumi:"htmlUrl"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Name of release
	Name  string `pulumi:"name"`
	Owner string `pulumi:"owner"`
	// (`Boolean`) indicates whether the release is a prerelease
	Prerelease bool `pulumi:"prerelease"`
	// Date of release publishing
	PublishedAt string `pulumi:"publishedAt"`
	// ID of release
	ReleaseId *int `pulumi:"releaseId"`
	// Tag of release
	ReleaseTag *string `pulumi:"releaseTag"`
	Repository string  `pulumi:"repository"`
	RetrieveBy string  `pulumi:"retrieveBy"`
	// Download URL of a specific release in `tar.gz` format
	TarballUrl string `pulumi:"tarballUrl"`
	// Commitish value that determines where the Git release is created from
	TargetCommitish string `pulumi:"targetCommitish"`
	// URL that can be used to upload Assets to the release
	UploadUrl string `pulumi:"uploadUrl"`
	// Base URL of the release
	Url string `pulumi:"url"`
	// Download URL of a specific release in `zip` format
	ZipballUrl string `pulumi:"zipballUrl"`
}

A collection of values returned by getRelease.

func GetRelease

func GetRelease(ctx *pulumi.Context, args *GetReleaseArgs, opts ...pulumi.InvokeOption) (*GetReleaseResult, error)

Use this data source to retrieve information about a GitHub release in a specific repository.

## Example Usage

To retrieve the latest release that is present in a repository:

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetRelease(ctx, &github.GetReleaseArgs{
			Owner:      "example-owner",
			Repository: "example-repository",
			RetrieveBy: "latest",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

To retrieve a specific release from a repository based on it's ID:

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetRelease(ctx, &github.GetReleaseArgs{
			Id:         12345,
			Owner:      "example-owner",
			Repository: "example-repository",
			RetrieveBy: "id",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

Finally, to retrieve a release based on it's tag:

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "v1.0.0"
		_, err := github.GetRelease(ctx, &github.GetReleaseArgs{
			Owner:      "example-owner",
			ReleaseTag: &opt0,
			Repository: "example-repository",
			RetrieveBy: "tag",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetRepositoriesArgs

type GetRepositoriesArgs struct {
	// Search query. See [documentation for the search syntax](https://help.github.com/articles/understanding-the-search-syntax/).
	Query string `pulumi:"query"`
	// Sorts the repositories returned by the specified attribute. Valid values include `stars`, `fork`, and `updated`. Defaults to `updated`.
	Sort *string `pulumi:"sort"`
}

A collection of arguments for invoking getRepositories.

type GetRepositoriesResult

type GetRepositoriesResult struct {
	FullNames []string `pulumi:"fullNames"`
	// The provider-assigned unique ID for this managed resource.
	Id    string   `pulumi:"id"`
	Names []string `pulumi:"names"`
	Query string   `pulumi:"query"`
	Sort  *string  `pulumi:"sort"`
}

A collection of values returned by getRepositories.

func GetRepositories

func GetRepositories(ctx *pulumi.Context, args *GetRepositoriesArgs, opts ...pulumi.InvokeOption) (*GetRepositoriesResult, error)

> **Note:** The data source will return a maximum of `1000` repositories

[as documented in official API docs](https://developer.github.com/v3/search/#about-the-search-api).

Use this data source to retrieve a list of GitHub repositories using a search query.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetRepositories(ctx, &github.GetRepositoriesArgs{
			Query: "org:hashicorp language:Go",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetUserArgs

type GetUserArgs struct {
	// The username.
	Username string `pulumi:"username"`
}

A collection of arguments for invoking getUser.

type GetUserResult

type GetUserResult struct {
	// the user's avatar URL.
	AvatarUrl string `pulumi:"avatarUrl"`
	// the user's bio.
	Bio string `pulumi:"bio"`
	// the user's blog location.
	Blog string `pulumi:"blog"`
	// the user's company name.
	Company string `pulumi:"company"`
	// the creation date.
	CreatedAt string `pulumi:"createdAt"`
	// the user's email.
	Email string `pulumi:"email"`
	// the number of followers.
	Followers int `pulumi:"followers"`
	// the number of following users.
	Following int `pulumi:"following"`
	// list of user's GPG keys.
	GpgKeys []string `pulumi:"gpgKeys"`
	// the user's gravatar ID.
	GravatarId string `pulumi:"gravatarId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// the user's location.
	Location string `pulumi:"location"`
	// the user's login.
	Login string `pulumi:"login"`
	// the user's full name.
	Name   string `pulumi:"name"`
	NodeId string `pulumi:"nodeId"`
	// the number of public gists.
	PublicGists int `pulumi:"publicGists"`
	// the number of public repositories.
	PublicRepos int `pulumi:"publicRepos"`
	// whether the user is a GitHub admin.
	SiteAdmin bool `pulumi:"siteAdmin"`
	// list of user's SSH keys.
	SshKeys []string `pulumi:"sshKeys"`
	// the update date.
	UpdatedAt string `pulumi:"updatedAt"`
	Username  string `pulumi:"username"`
}

A collection of values returned by getUser.

func GetUser

func GetUser(ctx *pulumi.Context, args *GetUserArgs, opts ...pulumi.InvokeOption) (*GetUserResult, error)

Use this data source to retrieve information about a GitHub user.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.GetUser(ctx, &github.GetUserArgs{
			Username: "example",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type IssueLabel

type IssueLabel struct {
	pulumi.CustomResourceState

	// A 6 character hex code, **without the leading #**, identifying the color of the label.
	Color pulumi.StringOutput `pulumi:"color"`
	// A short description of the label.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	Etag        pulumi.StringOutput    `pulumi:"etag"`
	// The name of the label.
	Name pulumi.StringOutput `pulumi:"name"`
	// The GitHub repository
	Repository pulumi.StringOutput `pulumi:"repository"`
	// The URL to the issue label
	Url pulumi.StringOutput `pulumi:"url"`
}

func GetIssueLabel

func GetIssueLabel(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IssueLabelState, opts ...pulumi.ResourceOption) (*IssueLabel, error)

GetIssueLabel gets an existing IssueLabel resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIssueLabel

func NewIssueLabel(ctx *pulumi.Context,
	name string, args *IssueLabelArgs, opts ...pulumi.ResourceOption) (*IssueLabel, error)

NewIssueLabel registers a new resource with the given unique name, arguments, and options.

type IssueLabelArgs

type IssueLabelArgs struct {
	// A 6 character hex code, **without the leading #**, identifying the color of the label.
	Color pulumi.StringInput
	// A short description of the label.
	Description pulumi.StringPtrInput
	// The name of the label.
	Name pulumi.StringPtrInput
	// The GitHub repository
	Repository pulumi.StringInput
}

The set of arguments for constructing a IssueLabel resource.

func (IssueLabelArgs) ElementType

func (IssueLabelArgs) ElementType() reflect.Type

type IssueLabelState

type IssueLabelState struct {
	// A 6 character hex code, **without the leading #**, identifying the color of the label.
	Color pulumi.StringPtrInput
	// A short description of the label.
	Description pulumi.StringPtrInput
	Etag        pulumi.StringPtrInput
	// The name of the label.
	Name pulumi.StringPtrInput
	// The GitHub repository
	Repository pulumi.StringPtrInput
	// The URL to the issue label
	Url pulumi.StringPtrInput
}

func (IssueLabelState) ElementType

func (IssueLabelState) ElementType() reflect.Type

type LookupBranchArgs

type LookupBranchArgs struct {
	// The repository branch to create.
	Branch string `pulumi:"branch"`
	// The GitHub repository name.
	Repository string `pulumi:"repository"`
}

A collection of arguments for invoking getBranch.

type LookupBranchResult

type LookupBranchResult struct {
	Branch string `pulumi:"branch"`
	// An etag representing the Branch object.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A string representing a branch reference, in the form of `refs/heads/<branch>`.
	Ref        string `pulumi:"ref"`
	Repository string `pulumi:"repository"`
	// A string storing the reference's `HEAD` commit's SHA1.
	Sha string `pulumi:"sha"`
}

A collection of values returned by getBranch.

func LookupBranch

func LookupBranch(ctx *pulumi.Context, args *LookupBranchArgs, opts ...pulumi.InvokeOption) (*LookupBranchResult, error)

Use this data source to retrieve information about a repository branch.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.LookupBranch(ctx, &github.LookupBranchArgs{
			Branch:     "development",
			Repository: "example",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupMembershipArgs

type LookupMembershipArgs struct {
	// The organization to check for the above username.
	Organization *string `pulumi:"organization"`
	// The username to lookup in the organization.
	Username string `pulumi:"username"`
}

A collection of arguments for invoking getMembership.

type LookupMembershipResult

type LookupMembershipResult struct {
	// An etag representing the membership object.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id           string  `pulumi:"id"`
	Organization *string `pulumi:"organization"`
	// `admin` or `member` -- the role the user has within the organization.
	Role string `pulumi:"role"`
	// The username.
	Username string `pulumi:"username"`
}

A collection of values returned by getMembership.

func LookupMembership

func LookupMembership(ctx *pulumi.Context, args *LookupMembershipArgs, opts ...pulumi.InvokeOption) (*LookupMembershipResult, error)

Use this data source to find out if a user is a member of your organization, as well as what role they have within it. If the user's membership in the organization is pending their acceptance of an invite, the role they would have once they accept will be returned.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.LookupMembership(ctx, &github.LookupMembershipArgs{
			Username: "SomeUser",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRepositoryArgs

type LookupRepositoryArgs struct {
	// Full name of the repository (in `org/name` format).
	FullName *string `pulumi:"fullName"`
	// The name of the repository.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getRepository.

type LookupRepositoryResult

type LookupRepositoryResult struct {
	// Whether the repository allows merge commits.
	AllowMergeCommit bool `pulumi:"allowMergeCommit"`
	// Whether the repository allows rebase merges.
	AllowRebaseMerge bool `pulumi:"allowRebaseMerge"`
	// Whether the repository allows squash merges.
	AllowSquashMerge bool `pulumi:"allowSquashMerge"`
	// Whether the repository is archived.
	Archived bool `pulumi:"archived"`
	// The name of the default branch of the repository.
	DefaultBranch string `pulumi:"defaultBranch"`
	// A description of the repository.
	Description string  `pulumi:"description"`
	FullName    *string `pulumi:"fullName"`
	// URL that can be provided to `git clone` to clone the repository anonymously via the git protocol.
	GitCloneUrl string `pulumi:"gitCloneUrl"`
	// Whether the repository has Downloads feature enabled.
	HasDownloads bool `pulumi:"hasDownloads"`
	// Whether the repository has GitHub Issues enabled.
	HasIssues bool `pulumi:"hasIssues"`
	// Whether the repository has the GitHub Projects enabled.
	HasProjects bool `pulumi:"hasProjects"`
	// Whether the repository has the GitHub Wiki enabled.
	HasWiki bool `pulumi:"hasWiki"`
	// URL of a page describing the project.
	HomepageUrl string `pulumi:"homepageUrl"`
	// URL to the repository on the web.
	HtmlUrl string `pulumi:"htmlUrl"`
	// URL that can be provided to `git clone` to clone the repository via HTTPS.
	HttpCloneUrl string `pulumi:"httpCloneUrl"`
	// The provider-assigned unique ID for this managed resource.
	Id     string  `pulumi:"id"`
	Name   *string `pulumi:"name"`
	NodeId string  `pulumi:"nodeId"`
	// Whether the repository is private.
	Private bool `pulumi:"private"`
	// URL that can be provided to `git clone` to clone the repository via SSH.
	SshCloneUrl string `pulumi:"sshCloneUrl"`
	// URL that can be provided to `svn checkout` to check out the repository via GitHub's Subversion protocol emulation.
	SvnUrl string `pulumi:"svnUrl"`
	// The list of topics of the repository.
	Topics []string `pulumi:"topics"`
	// Whether the repository is public, private or internal.
	Visibility string `pulumi:"visibility"`
}

A collection of values returned by getRepository.

func LookupRepository

func LookupRepository(ctx *pulumi.Context, args *LookupRepositoryArgs, opts ...pulumi.InvokeOption) (*LookupRepositoryResult, error)

Use this data source to retrieve information about a GitHub repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "hashicorp/terraform"
		_, err := github.LookupRepository(ctx, &github.LookupRepositoryArgs{
			FullName: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupTeamArgs

type LookupTeamArgs struct {
	// The team slug.
	Slug string `pulumi:"slug"`
}

A collection of arguments for invoking getTeam.

type LookupTeamResult

type LookupTeamResult struct {
	// the team's description.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// List of team members
	Members []string `pulumi:"members"`
	// the team's full name.
	Name   string `pulumi:"name"`
	NodeId string `pulumi:"nodeId"`
	// the team's permission level.
	Permission string `pulumi:"permission"`
	// the team's privacy type.
	Privacy string `pulumi:"privacy"`
	Slug    string `pulumi:"slug"`
}

A collection of values returned by getTeam.

func LookupTeam

func LookupTeam(ctx *pulumi.Context, args *LookupTeamArgs, opts ...pulumi.InvokeOption) (*LookupTeamResult, error)

Use this data source to retrieve information about a GitHub team.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.LookupTeam(ctx, &github.LookupTeamArgs{
			Slug: "example",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Membership

type Membership struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The role of the user within the organization.
	// Must be one of `member` or `admin`. Defaults to `member`.
	Role pulumi.StringPtrOutput `pulumi:"role"`
	// The user to add to the organization.
	Username pulumi.StringOutput `pulumi:"username"`
}

Provides a GitHub membership resource.

This resource allows you to add/remove users from your organization. When applied, an invitation will be sent to the user to become part of the organization. When destroyed, either the invitation will be cancelled or the user will be removed.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewMembership(ctx, "membershipForSomeUser", &github.MembershipArgs{
			Role:     pulumi.String("member"),
			Username: pulumi.String("SomeUser"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetMembership

func GetMembership(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MembershipState, opts ...pulumi.ResourceOption) (*Membership, error)

GetMembership gets an existing Membership resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMembership

func NewMembership(ctx *pulumi.Context,
	name string, args *MembershipArgs, opts ...pulumi.ResourceOption) (*Membership, error)

NewMembership registers a new resource with the given unique name, arguments, and options.

type MembershipArgs

type MembershipArgs struct {
	// The role of the user within the organization.
	// Must be one of `member` or `admin`. Defaults to `member`.
	Role pulumi.StringPtrInput
	// The user to add to the organization.
	Username pulumi.StringInput
}

The set of arguments for constructing a Membership resource.

func (MembershipArgs) ElementType

func (MembershipArgs) ElementType() reflect.Type

type MembershipState

type MembershipState struct {
	Etag pulumi.StringPtrInput
	// The role of the user within the organization.
	// Must be one of `member` or `admin`. Defaults to `member`.
	Role pulumi.StringPtrInput
	// The user to add to the organization.
	Username pulumi.StringPtrInput
}

func (MembershipState) ElementType

func (MembershipState) ElementType() reflect.Type

type OrganizationBlock

type OrganizationBlock struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The name of the user to block.
	Username pulumi.StringOutput `pulumi:"username"`
}

This resource allows you to create and manage blocks for GitHub organizations.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewOrganizationBlock(ctx, "example", &github.OrganizationBlockArgs{
			Username: pulumi.String("paultyng"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetOrganizationBlock

func GetOrganizationBlock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationBlockState, opts ...pulumi.ResourceOption) (*OrganizationBlock, error)

GetOrganizationBlock gets an existing OrganizationBlock resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganizationBlock

func NewOrganizationBlock(ctx *pulumi.Context,
	name string, args *OrganizationBlockArgs, opts ...pulumi.ResourceOption) (*OrganizationBlock, error)

NewOrganizationBlock registers a new resource with the given unique name, arguments, and options.

type OrganizationBlockArgs

type OrganizationBlockArgs struct {
	// The name of the user to block.
	Username pulumi.StringInput
}

The set of arguments for constructing a OrganizationBlock resource.

func (OrganizationBlockArgs) ElementType

func (OrganizationBlockArgs) ElementType() reflect.Type

type OrganizationBlockState

type OrganizationBlockState struct {
	Etag pulumi.StringPtrInput
	// The name of the user to block.
	Username pulumi.StringPtrInput
}

func (OrganizationBlockState) ElementType

func (OrganizationBlockState) ElementType() reflect.Type

type OrganizationProject

type OrganizationProject struct {
	pulumi.CustomResourceState

	// The body of the project.
	Body pulumi.StringPtrOutput `pulumi:"body"`
	Etag pulumi.StringOutput    `pulumi:"etag"`
	// The name of the project.
	Name pulumi.StringOutput `pulumi:"name"`
	// URL of the project
	Url pulumi.StringOutput `pulumi:"url"`
}

This resource allows you to create and manage projects for GitHub organization.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewOrganizationProject(ctx, "project", &github.OrganizationProjectArgs{
			Body: pulumi.String("This is a organization project."),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetOrganizationProject

func GetOrganizationProject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationProjectState, opts ...pulumi.ResourceOption) (*OrganizationProject, error)

GetOrganizationProject gets an existing OrganizationProject resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganizationProject

func NewOrganizationProject(ctx *pulumi.Context,
	name string, args *OrganizationProjectArgs, opts ...pulumi.ResourceOption) (*OrganizationProject, error)

NewOrganizationProject registers a new resource with the given unique name, arguments, and options.

type OrganizationProjectArgs

type OrganizationProjectArgs struct {
	// The body of the project.
	Body pulumi.StringPtrInput
	// The name of the project.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a OrganizationProject resource.

func (OrganizationProjectArgs) ElementType

func (OrganizationProjectArgs) ElementType() reflect.Type

type OrganizationProjectState

type OrganizationProjectState struct {
	// The body of the project.
	Body pulumi.StringPtrInput
	Etag pulumi.StringPtrInput
	// The name of the project.
	Name pulumi.StringPtrInput
	// URL of the project
	Url pulumi.StringPtrInput
}

func (OrganizationProjectState) ElementType

func (OrganizationProjectState) ElementType() reflect.Type

type OrganizationWebhook

type OrganizationWebhook struct {
	pulumi.CustomResourceState

	// Indicate of the webhook should receive events. Defaults to `true`.
	Active pulumi.BoolPtrOutput `pulumi:"active"`
	// key/value pair of configuration for this webhook. Available keys are `url`, `contentType`, `secret` and `insecureSsl`.
	Configuration OrganizationWebhookConfigurationPtrOutput `pulumi:"configuration"`
	Etag          pulumi.StringOutput                       `pulumi:"etag"`
	// A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/)
	Events pulumi.StringArrayOutput `pulumi:"events"`
	// URL of the webhook
	Url pulumi.StringOutput `pulumi:"url"`
}

This resource allows you to create and manage webhooks for GitHub organization.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewOrganizationWebhook(ctx, "foo", &github.OrganizationWebhookArgs{
			Active: pulumi.Bool(false),
			Configuration: &github.OrganizationWebhookConfigurationArgs{
				ContentType: pulumi.String("form"),
				InsecureSsl: pulumi.Bool(false),
				Url:         pulumi.String("https://google.de/"),
			},
			Events: pulumi.StringArray{
				pulumi.String("issues"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetOrganizationWebhook

func GetOrganizationWebhook(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationWebhookState, opts ...pulumi.ResourceOption) (*OrganizationWebhook, error)

GetOrganizationWebhook gets an existing OrganizationWebhook resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganizationWebhook

func NewOrganizationWebhook(ctx *pulumi.Context,
	name string, args *OrganizationWebhookArgs, opts ...pulumi.ResourceOption) (*OrganizationWebhook, error)

NewOrganizationWebhook registers a new resource with the given unique name, arguments, and options.

type OrganizationWebhookArgs

type OrganizationWebhookArgs struct {
	// Indicate of the webhook should receive events. Defaults to `true`.
	Active pulumi.BoolPtrInput
	// key/value pair of configuration for this webhook. Available keys are `url`, `contentType`, `secret` and `insecureSsl`.
	Configuration OrganizationWebhookConfigurationPtrInput
	// A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/)
	Events pulumi.StringArrayInput
}

The set of arguments for constructing a OrganizationWebhook resource.

func (OrganizationWebhookArgs) ElementType

func (OrganizationWebhookArgs) ElementType() reflect.Type

type OrganizationWebhookConfiguration

type OrganizationWebhookConfiguration struct {
	ContentType *string `pulumi:"contentType"`
	InsecureSsl *bool   `pulumi:"insecureSsl"`
	Secret      *string `pulumi:"secret"`
	// URL of the webhook
	Url string `pulumi:"url"`
}

type OrganizationWebhookConfigurationArgs

type OrganizationWebhookConfigurationArgs struct {
	ContentType pulumi.StringPtrInput `pulumi:"contentType"`
	InsecureSsl pulumi.BoolPtrInput   `pulumi:"insecureSsl"`
	Secret      pulumi.StringPtrInput `pulumi:"secret"`
	// URL of the webhook
	Url pulumi.StringInput `pulumi:"url"`
}

func (OrganizationWebhookConfigurationArgs) ElementType

func (OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationOutput

func (i OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationOutput() OrganizationWebhookConfigurationOutput

func (OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationOutputWithContext

func (i OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationOutputWithContext(ctx context.Context) OrganizationWebhookConfigurationOutput

func (OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationPtrOutput

func (i OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationPtrOutput() OrganizationWebhookConfigurationPtrOutput

func (OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationPtrOutputWithContext

func (i OrganizationWebhookConfigurationArgs) ToOrganizationWebhookConfigurationPtrOutputWithContext(ctx context.Context) OrganizationWebhookConfigurationPtrOutput

type OrganizationWebhookConfigurationInput

type OrganizationWebhookConfigurationInput interface {
	pulumi.Input

	ToOrganizationWebhookConfigurationOutput() OrganizationWebhookConfigurationOutput
	ToOrganizationWebhookConfigurationOutputWithContext(context.Context) OrganizationWebhookConfigurationOutput
}

OrganizationWebhookConfigurationInput is an input type that accepts OrganizationWebhookConfigurationArgs and OrganizationWebhookConfigurationOutput values. You can construct a concrete instance of `OrganizationWebhookConfigurationInput` via:

OrganizationWebhookConfigurationArgs{...}

type OrganizationWebhookConfigurationOutput

type OrganizationWebhookConfigurationOutput struct{ *pulumi.OutputState }

func (OrganizationWebhookConfigurationOutput) ContentType

func (OrganizationWebhookConfigurationOutput) ElementType

func (OrganizationWebhookConfigurationOutput) InsecureSsl

func (OrganizationWebhookConfigurationOutput) Secret

func (OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationOutput

func (o OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationOutput() OrganizationWebhookConfigurationOutput

func (OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationOutputWithContext

func (o OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationOutputWithContext(ctx context.Context) OrganizationWebhookConfigurationOutput

func (OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationPtrOutput

func (o OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationPtrOutput() OrganizationWebhookConfigurationPtrOutput

func (OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationPtrOutputWithContext

func (o OrganizationWebhookConfigurationOutput) ToOrganizationWebhookConfigurationPtrOutputWithContext(ctx context.Context) OrganizationWebhookConfigurationPtrOutput

func (OrganizationWebhookConfigurationOutput) Url

URL of the webhook

type OrganizationWebhookConfigurationPtrInput

type OrganizationWebhookConfigurationPtrInput interface {
	pulumi.Input

	ToOrganizationWebhookConfigurationPtrOutput() OrganizationWebhookConfigurationPtrOutput
	ToOrganizationWebhookConfigurationPtrOutputWithContext(context.Context) OrganizationWebhookConfigurationPtrOutput
}

OrganizationWebhookConfigurationPtrInput is an input type that accepts OrganizationWebhookConfigurationArgs, OrganizationWebhookConfigurationPtr and OrganizationWebhookConfigurationPtrOutput values. You can construct a concrete instance of `OrganizationWebhookConfigurationPtrInput` via:

        OrganizationWebhookConfigurationArgs{...}

or:

        nil

type OrganizationWebhookConfigurationPtrOutput

type OrganizationWebhookConfigurationPtrOutput struct{ *pulumi.OutputState }

func (OrganizationWebhookConfigurationPtrOutput) ContentType

func (OrganizationWebhookConfigurationPtrOutput) Elem

func (OrganizationWebhookConfigurationPtrOutput) ElementType

func (OrganizationWebhookConfigurationPtrOutput) InsecureSsl

func (OrganizationWebhookConfigurationPtrOutput) Secret

func (OrganizationWebhookConfigurationPtrOutput) ToOrganizationWebhookConfigurationPtrOutput

func (o OrganizationWebhookConfigurationPtrOutput) ToOrganizationWebhookConfigurationPtrOutput() OrganizationWebhookConfigurationPtrOutput

func (OrganizationWebhookConfigurationPtrOutput) ToOrganizationWebhookConfigurationPtrOutputWithContext

func (o OrganizationWebhookConfigurationPtrOutput) ToOrganizationWebhookConfigurationPtrOutputWithContext(ctx context.Context) OrganizationWebhookConfigurationPtrOutput

func (OrganizationWebhookConfigurationPtrOutput) Url

URL of the webhook

type OrganizationWebhookState

type OrganizationWebhookState struct {
	// Indicate of the webhook should receive events. Defaults to `true`.
	Active pulumi.BoolPtrInput
	// key/value pair of configuration for this webhook. Available keys are `url`, `contentType`, `secret` and `insecureSsl`.
	Configuration OrganizationWebhookConfigurationPtrInput
	Etag          pulumi.StringPtrInput
	// A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/)
	Events pulumi.StringArrayInput
	// URL of the webhook
	Url pulumi.StringPtrInput
}

func (OrganizationWebhookState) ElementType

func (OrganizationWebhookState) ElementType() reflect.Type

type ProjectColumn

type ProjectColumn struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The name of the column.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of an existing project that the column will be created in.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
}

This resource allows you to create and manage columns for GitHub projects.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := github.NewOrganizationProject(ctx, "project", &github.OrganizationProjectArgs{
			Body: pulumi.String("This is an organization project."),
		})
		if err != nil {
			return err
		}
		_, err = github.NewProjectColumn(ctx, "column", &github.ProjectColumnArgs{
			ProjectId: project.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProjectColumn

func GetProjectColumn(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectColumnState, opts ...pulumi.ResourceOption) (*ProjectColumn, error)

GetProjectColumn gets an existing ProjectColumn resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProjectColumn

func NewProjectColumn(ctx *pulumi.Context,
	name string, args *ProjectColumnArgs, opts ...pulumi.ResourceOption) (*ProjectColumn, error)

NewProjectColumn registers a new resource with the given unique name, arguments, and options.

type ProjectColumnArgs

type ProjectColumnArgs struct {
	// The name of the column.
	Name pulumi.StringPtrInput
	// The ID of an existing project that the column will be created in.
	ProjectId pulumi.StringInput
}

The set of arguments for constructing a ProjectColumn resource.

func (ProjectColumnArgs) ElementType

func (ProjectColumnArgs) ElementType() reflect.Type

type ProjectColumnState

type ProjectColumnState struct {
	Etag pulumi.StringPtrInput
	// The name of the column.
	Name pulumi.StringPtrInput
	// The ID of an existing project that the column will be created in.
	ProjectId pulumi.StringPtrInput
}

func (ProjectColumnState) ElementType

func (ProjectColumnState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState
}

The provider type for the github package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

NewProvider registers a new resource with the given unique name, arguments, and options.

type ProviderArgs

type ProviderArgs struct {
	// The GitHub Base API URL
	BaseUrl pulumi.StringPtrInput
	// Enable `insecure` mode for testing purposes
	Insecure pulumi.BoolPtrInput
	// The GitHub organization name to manage. Use this field instead of `owner` when managing organization accounts.
	Organization pulumi.StringPtrInput
	// The GitHub owner name to manage. Use this field instead of `organization` when managing individual accounts.
	Owner pulumi.StringPtrInput
	// The OAuth token used to connect to GitHub. `anonymous` mode is enabled if `token` is not configured.
	Token pulumi.StringPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type Repository

type Repository struct {
	pulumi.CustomResourceState

	// Set to `false` to disable merge commits on the repository.
	AllowMergeCommit pulumi.BoolPtrOutput `pulumi:"allowMergeCommit"`
	// Set to `false` to disable rebase merges on the repository.
	AllowRebaseMerge pulumi.BoolPtrOutput `pulumi:"allowRebaseMerge"`
	// Set to `false` to disable squash merges on the repository.
	AllowSquashMerge pulumi.BoolPtrOutput `pulumi:"allowSquashMerge"`
	// Set to `true` to archive the repository instead of deleting on destroy.
	ArchiveOnDestroy pulumi.BoolPtrOutput `pulumi:"archiveOnDestroy"`
	// Specifies if the repository should be archived. Defaults to `false`. **NOTE** Currently, the API does not support unarchiving.
	Archived pulumi.BoolPtrOutput `pulumi:"archived"`
	// Set to `true` to produce an initial commit in the repository.
	AutoInit pulumi.BoolPtrOutput `pulumi:"autoInit"`
	// The name of the default branch of the repository. **NOTE:** This can only be set after a repository has already been created,
	// and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the
	// initial repository creation and create the target branch inside of the repository prior to setting this attribute.
	DefaultBranch pulumi.StringOutput `pulumi:"defaultBranch"`
	// Automatically delete head branch after a pull request is merged. Defaults to `false`.
	DeleteBranchOnMerge pulumi.BoolPtrOutput `pulumi:"deleteBranchOnMerge"`
	// A description of the repository.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	Etag        pulumi.StringOutput    `pulumi:"etag"`
	// A string of the form "orgname/reponame".
	FullName pulumi.StringOutput `pulumi:"fullName"`
	// URL that can be provided to `git clone` to clone the repository anonymously via the git protocol.
	GitCloneUrl pulumi.StringOutput `pulumi:"gitCloneUrl"`
	// Use the [name of the template](https://github.com/github/gitignore) without the extension. For example, "Haskell".
	GitignoreTemplate pulumi.StringPtrOutput `pulumi:"gitignoreTemplate"`
	// Set to `true` to enable the (deprecated) downloads features on the repository.
	HasDownloads pulumi.BoolPtrOutput `pulumi:"hasDownloads"`
	// Set to `true` to enable the GitHub Issues features
	// on the repository.
	HasIssues pulumi.BoolPtrOutput `pulumi:"hasIssues"`
	// Set to `true` to enable the GitHub Projects features on the repository. Per the GitHub [documentation](https://developer.github.com/v3/repos/#create) when in an organization that has disabled repository projects it will default to `false` and will otherwise default to `true`. If you specify `true` when it has been disabled it will return an error.
	HasProjects pulumi.BoolPtrOutput `pulumi:"hasProjects"`
	// Set to `true` to enable the GitHub Wiki features on
	// the repository.
	HasWiki pulumi.BoolPtrOutput `pulumi:"hasWiki"`
	// URL of a page describing the project.
	HomepageUrl pulumi.StringPtrOutput `pulumi:"homepageUrl"`
	// URL to the repository on the web.
	HtmlUrl pulumi.StringOutput `pulumi:"htmlUrl"`
	// URL that can be provided to `git clone` to clone the repository via HTTPS.
	HttpCloneUrl pulumi.StringOutput `pulumi:"httpCloneUrl"`
	// Set to `true` to tell GitHub that this is a template repository.
	IsTemplate pulumi.BoolPtrOutput `pulumi:"isTemplate"`
	// Use the [name of the template](https://github.com/github/choosealicense.com/tree/gh-pages/_licenses) without the extension. For example, "mit" or "mpl-2.0".
	LicenseTemplate pulumi.StringPtrOutput `pulumi:"licenseTemplate"`
	// The name of the repository.
	Name   pulumi.StringOutput `pulumi:"name"`
	NodeId pulumi.StringOutput `pulumi:"nodeId"`
	// Set to `true` to create a private repository.
	// Repositories are created as public (e.g. open source) by default.
	//
	// Deprecated: use visibility instead
	Private pulumi.BoolOutput `pulumi:"private"`
	// URL that can be provided to `git clone` to clone the repository via SSH.
	SshCloneUrl pulumi.StringOutput `pulumi:"sshCloneUrl"`
	// URL that can be provided to `svn checkout` to check out the repository via GitHub's Subversion protocol emulation.
	SvnUrl pulumi.StringOutput `pulumi:"svnUrl"`
	// Use a template repository to create this resource. See Template Repositories below for details.
	Template RepositoryTemplatePtrOutput `pulumi:"template"`
	// The list of topics of the repository.
	Topics pulumi.StringArrayOutput `pulumi:"topics"`
	// Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be `internal`. The `visibility` parameter overrides the `private` parameter.
	Visibility pulumi.StringOutput `pulumi:"visibility"`
	// Set to `true` to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See [GitHub Documentation](https://help.github.com/en/github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies) for details.
	VulnerabilityAlerts pulumi.BoolPtrOutput `pulumi:"vulnerabilityAlerts"`
}

This resource allows you to create and manage repositories within your GitHub organization or personal account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewRepository(ctx, "example", &github.RepositoryArgs{
			Description: pulumi.String("My awesome codebase"),
			Private:     pulumi.Bool(true),
			Template: &github.RepositoryTemplateArgs{
				Owner:      pulumi.String("github"),
				Repository: pulumi.String("terraform-module-template"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRepository

func GetRepository(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryState, opts ...pulumi.ResourceOption) (*Repository, error)

GetRepository gets an existing Repository resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepository

func NewRepository(ctx *pulumi.Context,
	name string, args *RepositoryArgs, opts ...pulumi.ResourceOption) (*Repository, error)

NewRepository registers a new resource with the given unique name, arguments, and options.

type RepositoryArgs

type RepositoryArgs struct {
	// Set to `false` to disable merge commits on the repository.
	AllowMergeCommit pulumi.BoolPtrInput
	// Set to `false` to disable rebase merges on the repository.
	AllowRebaseMerge pulumi.BoolPtrInput
	// Set to `false` to disable squash merges on the repository.
	AllowSquashMerge pulumi.BoolPtrInput
	// Set to `true` to archive the repository instead of deleting on destroy.
	ArchiveOnDestroy pulumi.BoolPtrInput
	// Specifies if the repository should be archived. Defaults to `false`. **NOTE** Currently, the API does not support unarchiving.
	Archived pulumi.BoolPtrInput
	// Set to `true` to produce an initial commit in the repository.
	AutoInit pulumi.BoolPtrInput
	// The name of the default branch of the repository. **NOTE:** This can only be set after a repository has already been created,
	// and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the
	// initial repository creation and create the target branch inside of the repository prior to setting this attribute.
	DefaultBranch pulumi.StringPtrInput
	// Automatically delete head branch after a pull request is merged. Defaults to `false`.
	DeleteBranchOnMerge pulumi.BoolPtrInput
	// A description of the repository.
	Description pulumi.StringPtrInput
	// Use the [name of the template](https://github.com/github/gitignore) without the extension. For example, "Haskell".
	GitignoreTemplate pulumi.StringPtrInput
	// Set to `true` to enable the (deprecated) downloads features on the repository.
	HasDownloads pulumi.BoolPtrInput
	// Set to `true` to enable the GitHub Issues features
	// on the repository.
	HasIssues pulumi.BoolPtrInput
	// Set to `true` to enable the GitHub Projects features on the repository. Per the GitHub [documentation](https://developer.github.com/v3/repos/#create) when in an organization that has disabled repository projects it will default to `false` and will otherwise default to `true`. If you specify `true` when it has been disabled it will return an error.
	HasProjects pulumi.BoolPtrInput
	// Set to `true` to enable the GitHub Wiki features on
	// the repository.
	HasWiki pulumi.BoolPtrInput
	// URL of a page describing the project.
	HomepageUrl pulumi.StringPtrInput
	// Set to `true` to tell GitHub that this is a template repository.
	IsTemplate pulumi.BoolPtrInput
	// Use the [name of the template](https://github.com/github/choosealicense.com/tree/gh-pages/_licenses) without the extension. For example, "mit" or "mpl-2.0".
	LicenseTemplate pulumi.StringPtrInput
	// The name of the repository.
	Name pulumi.StringPtrInput
	// Set to `true` to create a private repository.
	// Repositories are created as public (e.g. open source) by default.
	//
	// Deprecated: use visibility instead
	Private pulumi.BoolPtrInput
	// Use a template repository to create this resource. See Template Repositories below for details.
	Template RepositoryTemplatePtrInput
	// The list of topics of the repository.
	Topics pulumi.StringArrayInput
	// Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be `internal`. The `visibility` parameter overrides the `private` parameter.
	Visibility pulumi.StringPtrInput
	// Set to `true` to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See [GitHub Documentation](https://help.github.com/en/github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies) for details.
	VulnerabilityAlerts pulumi.BoolPtrInput
}

The set of arguments for constructing a Repository resource.

func (RepositoryArgs) ElementType

func (RepositoryArgs) ElementType() reflect.Type

type RepositoryCollaborator

type RepositoryCollaborator struct {
	pulumi.CustomResourceState

	// ID of the invitation to be used in `UserInvitationAccepter`
	InvitationId pulumi.StringOutput `pulumi:"invitationId"`
	// The permission of the outside collaborator for the repository.
	// Must be one of `pull`, `push`, `maintain`, `triage` or `admin` for organization-owned repositories.
	// Must be `push` for personal repositories. Defaults to `push`.
	Permission pulumi.StringPtrOutput `pulumi:"permission"`
	// The GitHub repository
	Repository pulumi.StringOutput `pulumi:"repository"`
	// The user to add to the repository as a collaborator.
	Username pulumi.StringOutput `pulumi:"username"`
}

Provides a GitHub repository collaborator resource.

This resource allows you to add/remove collaborators from repositories in your organization or personal account. For organization repositories, collaborators can have explicit (and differing levels of) read, write, or administrator access to specific repositories, without giving the user full organization membership. For personal repositories, collaborators can only be granted write (implictly includes read) permission.

When applied, an invitation will be sent to the user to become a collaborator on a repository. When destroyed, either the invitation will be cancelled or the collaborator will be removed from the repository.

Further documentation on GitHub collaborators:

- [Adding outside collaborators to your personal repositories](https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories) - [Adding outside collaborators to repositories in your organization](https://help.github.com/articles/adding-outside-collaborators-to-repositories-in-your-organization/) - [Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewRepositoryCollaborator(ctx, "aRepoCollaborator", &github.RepositoryCollaboratorArgs{
			Permission: pulumi.String("admin"),
			Repository: pulumi.String("our-cool-repo"),
			Username:   pulumi.String("SomeUser"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRepositoryCollaborator

func GetRepositoryCollaborator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryCollaboratorState, opts ...pulumi.ResourceOption) (*RepositoryCollaborator, error)

GetRepositoryCollaborator gets an existing RepositoryCollaborator resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepositoryCollaborator

func NewRepositoryCollaborator(ctx *pulumi.Context,
	name string, args *RepositoryCollaboratorArgs, opts ...pulumi.ResourceOption) (*RepositoryCollaborator, error)

NewRepositoryCollaborator registers a new resource with the given unique name, arguments, and options.

type RepositoryCollaboratorArgs

type RepositoryCollaboratorArgs struct {
	// The permission of the outside collaborator for the repository.
	// Must be one of `pull`, `push`, `maintain`, `triage` or `admin` for organization-owned repositories.
	// Must be `push` for personal repositories. Defaults to `push`.
	Permission pulumi.StringPtrInput
	// The GitHub repository
	Repository pulumi.StringInput
	// The user to add to the repository as a collaborator.
	Username pulumi.StringInput
}

The set of arguments for constructing a RepositoryCollaborator resource.

func (RepositoryCollaboratorArgs) ElementType

func (RepositoryCollaboratorArgs) ElementType() reflect.Type

type RepositoryCollaboratorState

type RepositoryCollaboratorState struct {
	// ID of the invitation to be used in `UserInvitationAccepter`
	InvitationId pulumi.StringPtrInput
	// The permission of the outside collaborator for the repository.
	// Must be one of `pull`, `push`, `maintain`, `triage` or `admin` for organization-owned repositories.
	// Must be `push` for personal repositories. Defaults to `push`.
	Permission pulumi.StringPtrInput
	// The GitHub repository
	Repository pulumi.StringPtrInput
	// The user to add to the repository as a collaborator.
	Username pulumi.StringPtrInput
}

func (RepositoryCollaboratorState) ElementType

type RepositoryDeployKey

type RepositoryDeployKey struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// A SSH key.
	Key pulumi.StringOutput `pulumi:"key"`
	// A boolean qualifying the key to be either read only or read/write.
	ReadOnly pulumi.BoolPtrOutput `pulumi:"readOnly"`
	// Name of the GitHub repository.
	Repository pulumi.StringOutput `pulumi:"repository"`
	// A title.
	Title pulumi.StringOutput `pulumi:"title"`
}

Provides a GitHub repository deploy key resource.

A deploy key is an SSH key that is stored on your server and grants access to a single GitHub repository. This key is attached directly to the repository instead of to a personal user account.

This resource allows you to add/remove repository deploy keys.

Further documentation on GitHub repository deploy keys: - [About deploy keys](https://developer.github.com/guides/managing-deploy-keys/#deploy-keys)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewRepositoryDeployKey(ctx, "exampleRepositoryDeployKey", &github.RepositoryDeployKeyArgs{
			Key:        pulumi.String("ssh-rsa AAA..."),
			ReadOnly:   pulumi.Bool(false),
			Repository: pulumi.String("test-repo"),
			Title:      pulumi.String("Repository test key"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRepositoryDeployKey

func GetRepositoryDeployKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryDeployKeyState, opts ...pulumi.ResourceOption) (*RepositoryDeployKey, error)

GetRepositoryDeployKey gets an existing RepositoryDeployKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepositoryDeployKey

func NewRepositoryDeployKey(ctx *pulumi.Context,
	name string, args *RepositoryDeployKeyArgs, opts ...pulumi.ResourceOption) (*RepositoryDeployKey, error)

NewRepositoryDeployKey registers a new resource with the given unique name, arguments, and options.

type RepositoryDeployKeyArgs

type RepositoryDeployKeyArgs struct {
	// A SSH key.
	Key pulumi.StringInput
	// A boolean qualifying the key to be either read only or read/write.
	ReadOnly pulumi.BoolPtrInput
	// Name of the GitHub repository.
	Repository pulumi.StringInput
	// A title.
	Title pulumi.StringInput
}

The set of arguments for constructing a RepositoryDeployKey resource.

func (RepositoryDeployKeyArgs) ElementType

func (RepositoryDeployKeyArgs) ElementType() reflect.Type

type RepositoryDeployKeyState

type RepositoryDeployKeyState struct {
	Etag pulumi.StringPtrInput
	// A SSH key.
	Key pulumi.StringPtrInput
	// A boolean qualifying the key to be either read only or read/write.
	ReadOnly pulumi.BoolPtrInput
	// Name of the GitHub repository.
	Repository pulumi.StringPtrInput
	// A title.
	Title pulumi.StringPtrInput
}

func (RepositoryDeployKeyState) ElementType

func (RepositoryDeployKeyState) ElementType() reflect.Type

type RepositoryFile

type RepositoryFile struct {
	pulumi.CustomResourceState

	// Git branch (defaults to `master`).
	// The branch must already exist, it will not be created if it does not already exist.
	Branch pulumi.StringPtrOutput `pulumi:"branch"`
	// Committer author name to use.
	CommitAuthor pulumi.StringOutput `pulumi:"commitAuthor"`
	// Committer email address to use.
	CommitEmail pulumi.StringOutput `pulumi:"commitEmail"`
	// Commit message when adding or updating the managed file.
	CommitMessage pulumi.StringOutput `pulumi:"commitMessage"`
	// The file content.
	Content pulumi.StringOutput `pulumi:"content"`
	// The path of the file to manage.
	File pulumi.StringOutput `pulumi:"file"`
	// Enable overwriting existing files
	OverwriteOnCreate pulumi.BoolPtrOutput `pulumi:"overwriteOnCreate"`
	// The repository name
	Repository pulumi.StringOutput `pulumi:"repository"`
	// The SHA blob of the file.
	Sha pulumi.StringOutput `pulumi:"sha"`
}

This resource allows you to create and manage files within a GitHub repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooRepository, err := github.NewRepository(ctx, "fooRepository", &github.RepositoryArgs{
			AutoInit: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = github.NewRepositoryFile(ctx, "fooRepositoryFile", &github.RepositoryFileArgs{
			Repository:        fooRepository.Name,
			Branch:            pulumi.String("main"),
			File:              pulumi.String(".gitignore"),
			Content:           pulumi.String("**/*.tfstate"),
			CommitMessage:     pulumi.String("Managed by Terraform"),
			CommitAuthor:      pulumi.String("Terraform User"),
			CommitEmail:       pulumi.String("terraform@example.com"),
			OverwriteOnCreate: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRepositoryFile

func GetRepositoryFile(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryFileState, opts ...pulumi.ResourceOption) (*RepositoryFile, error)

GetRepositoryFile gets an existing RepositoryFile resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepositoryFile

func NewRepositoryFile(ctx *pulumi.Context,
	name string, args *RepositoryFileArgs, opts ...pulumi.ResourceOption) (*RepositoryFile, error)

NewRepositoryFile registers a new resource with the given unique name, arguments, and options.

type RepositoryFileArgs

type RepositoryFileArgs struct {
	// Git branch (defaults to `master`).
	// The branch must already exist, it will not be created if it does not already exist.
	Branch pulumi.StringPtrInput
	// Committer author name to use.
	CommitAuthor pulumi.StringPtrInput
	// Committer email address to use.
	CommitEmail pulumi.StringPtrInput
	// Commit message when adding or updating the managed file.
	CommitMessage pulumi.StringPtrInput
	// The file content.
	Content pulumi.StringInput
	// The path of the file to manage.
	File pulumi.StringInput
	// Enable overwriting existing files
	OverwriteOnCreate pulumi.BoolPtrInput
	// The repository name
	Repository pulumi.StringInput
}

The set of arguments for constructing a RepositoryFile resource.

func (RepositoryFileArgs) ElementType

func (RepositoryFileArgs) ElementType() reflect.Type

type RepositoryFileState

type RepositoryFileState struct {
	// Git branch (defaults to `master`).
	// The branch must already exist, it will not be created if it does not already exist.
	Branch pulumi.StringPtrInput
	// Committer author name to use.
	CommitAuthor pulumi.StringPtrInput
	// Committer email address to use.
	CommitEmail pulumi.StringPtrInput
	// Commit message when adding or updating the managed file.
	CommitMessage pulumi.StringPtrInput
	// The file content.
	Content pulumi.StringPtrInput
	// The path of the file to manage.
	File pulumi.StringPtrInput
	// Enable overwriting existing files
	OverwriteOnCreate pulumi.BoolPtrInput
	// The repository name
	Repository pulumi.StringPtrInput
	// The SHA blob of the file.
	Sha pulumi.StringPtrInput
}

func (RepositoryFileState) ElementType

func (RepositoryFileState) ElementType() reflect.Type

type RepositoryProject

type RepositoryProject struct {
	pulumi.CustomResourceState

	// The body of the project.
	Body pulumi.StringPtrOutput `pulumi:"body"`
	Etag pulumi.StringOutput    `pulumi:"etag"`
	// The name of the project.
	Name pulumi.StringOutput `pulumi:"name"`
	// The repository of the project.
	Repository pulumi.StringOutput `pulumi:"repository"`
	// URL of the project
	Url pulumi.StringOutput `pulumi:"url"`
}

This resource allows you to create and manage projects for GitHub repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := github.NewRepository(ctx, "example", &github.RepositoryArgs{
			Description: pulumi.String("My awesome codebase"),
			HasProjects: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = github.NewRepositoryProject(ctx, "project", &github.RepositoryProjectArgs{
			Body:       pulumi.String("This is a repository project."),
			Repository: example.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRepositoryProject

func GetRepositoryProject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryProjectState, opts ...pulumi.ResourceOption) (*RepositoryProject, error)

GetRepositoryProject gets an existing RepositoryProject resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepositoryProject

func NewRepositoryProject(ctx *pulumi.Context,
	name string, args *RepositoryProjectArgs, opts ...pulumi.ResourceOption) (*RepositoryProject, error)

NewRepositoryProject registers a new resource with the given unique name, arguments, and options.

type RepositoryProjectArgs

type RepositoryProjectArgs struct {
	// The body of the project.
	Body pulumi.StringPtrInput
	// The name of the project.
	Name pulumi.StringPtrInput
	// The repository of the project.
	Repository pulumi.StringInput
}

The set of arguments for constructing a RepositoryProject resource.

func (RepositoryProjectArgs) ElementType

func (RepositoryProjectArgs) ElementType() reflect.Type

type RepositoryProjectState

type RepositoryProjectState struct {
	// The body of the project.
	Body pulumi.StringPtrInput
	Etag pulumi.StringPtrInput
	// The name of the project.
	Name pulumi.StringPtrInput
	// The repository of the project.
	Repository pulumi.StringPtrInput
	// URL of the project
	Url pulumi.StringPtrInput
}

func (RepositoryProjectState) ElementType

func (RepositoryProjectState) ElementType() reflect.Type

type RepositoryState

type RepositoryState struct {
	// Set to `false` to disable merge commits on the repository.
	AllowMergeCommit pulumi.BoolPtrInput
	// Set to `false` to disable rebase merges on the repository.
	AllowRebaseMerge pulumi.BoolPtrInput
	// Set to `false` to disable squash merges on the repository.
	AllowSquashMerge pulumi.BoolPtrInput
	// Set to `true` to archive the repository instead of deleting on destroy.
	ArchiveOnDestroy pulumi.BoolPtrInput
	// Specifies if the repository should be archived. Defaults to `false`. **NOTE** Currently, the API does not support unarchiving.
	Archived pulumi.BoolPtrInput
	// Set to `true` to produce an initial commit in the repository.
	AutoInit pulumi.BoolPtrInput
	// The name of the default branch of the repository. **NOTE:** This can only be set after a repository has already been created,
	// and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the
	// initial repository creation and create the target branch inside of the repository prior to setting this attribute.
	DefaultBranch pulumi.StringPtrInput
	// Automatically delete head branch after a pull request is merged. Defaults to `false`.
	DeleteBranchOnMerge pulumi.BoolPtrInput
	// A description of the repository.
	Description pulumi.StringPtrInput
	Etag        pulumi.StringPtrInput
	// A string of the form "orgname/reponame".
	FullName pulumi.StringPtrInput
	// URL that can be provided to `git clone` to clone the repository anonymously via the git protocol.
	GitCloneUrl pulumi.StringPtrInput
	// Use the [name of the template](https://github.com/github/gitignore) without the extension. For example, "Haskell".
	GitignoreTemplate pulumi.StringPtrInput
	// Set to `true` to enable the (deprecated) downloads features on the repository.
	HasDownloads pulumi.BoolPtrInput
	// Set to `true` to enable the GitHub Issues features
	// on the repository.
	HasIssues pulumi.BoolPtrInput
	// Set to `true` to enable the GitHub Projects features on the repository. Per the GitHub [documentation](https://developer.github.com/v3/repos/#create) when in an organization that has disabled repository projects it will default to `false` and will otherwise default to `true`. If you specify `true` when it has been disabled it will return an error.
	HasProjects pulumi.BoolPtrInput
	// Set to `true` to enable the GitHub Wiki features on
	// the repository.
	HasWiki pulumi.BoolPtrInput
	// URL of a page describing the project.
	HomepageUrl pulumi.StringPtrInput
	// URL to the repository on the web.
	HtmlUrl pulumi.StringPtrInput
	// URL that can be provided to `git clone` to clone the repository via HTTPS.
	HttpCloneUrl pulumi.StringPtrInput
	// Set to `true` to tell GitHub that this is a template repository.
	IsTemplate pulumi.BoolPtrInput
	// Use the [name of the template](https://github.com/github/choosealicense.com/tree/gh-pages/_licenses) without the extension. For example, "mit" or "mpl-2.0".
	LicenseTemplate pulumi.StringPtrInput
	// The name of the repository.
	Name   pulumi.StringPtrInput
	NodeId pulumi.StringPtrInput
	// Set to `true` to create a private repository.
	// Repositories are created as public (e.g. open source) by default.
	//
	// Deprecated: use visibility instead
	Private pulumi.BoolPtrInput
	// URL that can be provided to `git clone` to clone the repository via SSH.
	SshCloneUrl pulumi.StringPtrInput
	// URL that can be provided to `svn checkout` to check out the repository via GitHub's Subversion protocol emulation.
	SvnUrl pulumi.StringPtrInput
	// Use a template repository to create this resource. See Template Repositories below for details.
	Template RepositoryTemplatePtrInput
	// The list of topics of the repository.
	Topics pulumi.StringArrayInput
	// Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be `internal`. The `visibility` parameter overrides the `private` parameter.
	Visibility pulumi.StringPtrInput
	// Set to `true` to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.) See [GitHub Documentation](https://help.github.com/en/github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies) for details.
	VulnerabilityAlerts pulumi.BoolPtrInput
}

func (RepositoryState) ElementType

func (RepositoryState) ElementType() reflect.Type

type RepositoryTemplate

type RepositoryTemplate struct {
	Owner      string `pulumi:"owner"`
	Repository string `pulumi:"repository"`
}

type RepositoryTemplateArgs

type RepositoryTemplateArgs struct {
	Owner      pulumi.StringInput `pulumi:"owner"`
	Repository pulumi.StringInput `pulumi:"repository"`
}

func (RepositoryTemplateArgs) ElementType

func (RepositoryTemplateArgs) ElementType() reflect.Type

func (RepositoryTemplateArgs) ToRepositoryTemplateOutput

func (i RepositoryTemplateArgs) ToRepositoryTemplateOutput() RepositoryTemplateOutput

func (RepositoryTemplateArgs) ToRepositoryTemplateOutputWithContext

func (i RepositoryTemplateArgs) ToRepositoryTemplateOutputWithContext(ctx context.Context) RepositoryTemplateOutput

func (RepositoryTemplateArgs) ToRepositoryTemplatePtrOutput

func (i RepositoryTemplateArgs) ToRepositoryTemplatePtrOutput() RepositoryTemplatePtrOutput

func (RepositoryTemplateArgs) ToRepositoryTemplatePtrOutputWithContext

func (i RepositoryTemplateArgs) ToRepositoryTemplatePtrOutputWithContext(ctx context.Context) RepositoryTemplatePtrOutput

type RepositoryTemplateInput

type RepositoryTemplateInput interface {
	pulumi.Input

	ToRepositoryTemplateOutput() RepositoryTemplateOutput
	ToRepositoryTemplateOutputWithContext(context.Context) RepositoryTemplateOutput
}

RepositoryTemplateInput is an input type that accepts RepositoryTemplateArgs and RepositoryTemplateOutput values. You can construct a concrete instance of `RepositoryTemplateInput` via:

RepositoryTemplateArgs{...}

type RepositoryTemplateOutput

type RepositoryTemplateOutput struct{ *pulumi.OutputState }

func (RepositoryTemplateOutput) ElementType

func (RepositoryTemplateOutput) ElementType() reflect.Type

func (RepositoryTemplateOutput) Owner

func (RepositoryTemplateOutput) Repository

func (RepositoryTemplateOutput) ToRepositoryTemplateOutput

func (o RepositoryTemplateOutput) ToRepositoryTemplateOutput() RepositoryTemplateOutput

func (RepositoryTemplateOutput) ToRepositoryTemplateOutputWithContext

func (o RepositoryTemplateOutput) ToRepositoryTemplateOutputWithContext(ctx context.Context) RepositoryTemplateOutput

func (RepositoryTemplateOutput) ToRepositoryTemplatePtrOutput

func (o RepositoryTemplateOutput) ToRepositoryTemplatePtrOutput() RepositoryTemplatePtrOutput

func (RepositoryTemplateOutput) ToRepositoryTemplatePtrOutputWithContext

func (o RepositoryTemplateOutput) ToRepositoryTemplatePtrOutputWithContext(ctx context.Context) RepositoryTemplatePtrOutput

type RepositoryTemplatePtrInput

type RepositoryTemplatePtrInput interface {
	pulumi.Input

	ToRepositoryTemplatePtrOutput() RepositoryTemplatePtrOutput
	ToRepositoryTemplatePtrOutputWithContext(context.Context) RepositoryTemplatePtrOutput
}

RepositoryTemplatePtrInput is an input type that accepts RepositoryTemplateArgs, RepositoryTemplatePtr and RepositoryTemplatePtrOutput values. You can construct a concrete instance of `RepositoryTemplatePtrInput` via:

        RepositoryTemplateArgs{...}

or:

        nil

type RepositoryTemplatePtrOutput

type RepositoryTemplatePtrOutput struct{ *pulumi.OutputState }

func (RepositoryTemplatePtrOutput) Elem

func (RepositoryTemplatePtrOutput) ElementType

func (RepositoryTemplatePtrOutput) Owner

func (RepositoryTemplatePtrOutput) Repository

func (RepositoryTemplatePtrOutput) ToRepositoryTemplatePtrOutput

func (o RepositoryTemplatePtrOutput) ToRepositoryTemplatePtrOutput() RepositoryTemplatePtrOutput

func (RepositoryTemplatePtrOutput) ToRepositoryTemplatePtrOutputWithContext

func (o RepositoryTemplatePtrOutput) ToRepositoryTemplatePtrOutputWithContext(ctx context.Context) RepositoryTemplatePtrOutput

type RepositoryWebhook

type RepositoryWebhook struct {
	pulumi.CustomResourceState

	// Indicate of the webhook should receive events. Defaults to `true`.
	Active pulumi.BoolPtrOutput `pulumi:"active"`
	// key/value pair of configuration for this webhook. Available keys are `url`, `contentType`, `secret` and `insecureSsl`. `secret` is [the shared secret, see API documentation](https://developer.github.com/v3/repos/hooks/#create-a-hook).
	Configuration RepositoryWebhookConfigurationPtrOutput `pulumi:"configuration"`
	Etag          pulumi.StringOutput                     `pulumi:"etag"`
	// A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/).
	Events pulumi.StringArrayOutput `pulumi:"events"`
	// The repository of the webhook.
	Repository pulumi.StringOutput `pulumi:"repository"`
	// URL of the webhook
	Url pulumi.StringOutput `pulumi:"url"`
}

This resource allows you to create and manage webhooks for repositories within your GitHub organization or personal account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		repo, err := github.NewRepository(ctx, "repo", &github.RepositoryArgs{
			Description: pulumi.String("Terraform acceptance tests"),
			HomepageUrl: pulumi.String("http://example.com/"),
			Private:     pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = github.NewRepositoryWebhook(ctx, "foo", &github.RepositoryWebhookArgs{
			Active: pulumi.Bool(false),
			Configuration: &github.RepositoryWebhookConfigurationArgs{
				ContentType: pulumi.String("form"),
				InsecureSsl: pulumi.Bool(false),
				Url:         pulumi.String("https://google.de/"),
			},
			Events: pulumi.StringArray{
				pulumi.String("issues"),
			},
			Repository: repo.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRepositoryWebhook

func GetRepositoryWebhook(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryWebhookState, opts ...pulumi.ResourceOption) (*RepositoryWebhook, error)

GetRepositoryWebhook gets an existing RepositoryWebhook resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepositoryWebhook

func NewRepositoryWebhook(ctx *pulumi.Context,
	name string, args *RepositoryWebhookArgs, opts ...pulumi.ResourceOption) (*RepositoryWebhook, error)

NewRepositoryWebhook registers a new resource with the given unique name, arguments, and options.

type RepositoryWebhookArgs

type RepositoryWebhookArgs struct {
	// Indicate of the webhook should receive events. Defaults to `true`.
	Active pulumi.BoolPtrInput
	// key/value pair of configuration for this webhook. Available keys are `url`, `contentType`, `secret` and `insecureSsl`. `secret` is [the shared secret, see API documentation](https://developer.github.com/v3/repos/hooks/#create-a-hook).
	Configuration RepositoryWebhookConfigurationPtrInput
	// A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/).
	Events pulumi.StringArrayInput
	// The repository of the webhook.
	Repository pulumi.StringInput
}

The set of arguments for constructing a RepositoryWebhook resource.

func (RepositoryWebhookArgs) ElementType

func (RepositoryWebhookArgs) ElementType() reflect.Type

type RepositoryWebhookConfiguration

type RepositoryWebhookConfiguration struct {
	ContentType *string `pulumi:"contentType"`
	InsecureSsl *bool   `pulumi:"insecureSsl"`
	Secret      *string `pulumi:"secret"`
	// URL of the webhook
	Url string `pulumi:"url"`
}

type RepositoryWebhookConfigurationArgs

type RepositoryWebhookConfigurationArgs struct {
	ContentType pulumi.StringPtrInput `pulumi:"contentType"`
	InsecureSsl pulumi.BoolPtrInput   `pulumi:"insecureSsl"`
	Secret      pulumi.StringPtrInput `pulumi:"secret"`
	// URL of the webhook
	Url pulumi.StringInput `pulumi:"url"`
}

func (RepositoryWebhookConfigurationArgs) ElementType

func (RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationOutput

func (i RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationOutput() RepositoryWebhookConfigurationOutput

func (RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationOutputWithContext

func (i RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationOutputWithContext(ctx context.Context) RepositoryWebhookConfigurationOutput

func (RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationPtrOutput

func (i RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationPtrOutput() RepositoryWebhookConfigurationPtrOutput

func (RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationPtrOutputWithContext

func (i RepositoryWebhookConfigurationArgs) ToRepositoryWebhookConfigurationPtrOutputWithContext(ctx context.Context) RepositoryWebhookConfigurationPtrOutput

type RepositoryWebhookConfigurationInput

type RepositoryWebhookConfigurationInput interface {
	pulumi.Input

	ToRepositoryWebhookConfigurationOutput() RepositoryWebhookConfigurationOutput
	ToRepositoryWebhookConfigurationOutputWithContext(context.Context) RepositoryWebhookConfigurationOutput
}

RepositoryWebhookConfigurationInput is an input type that accepts RepositoryWebhookConfigurationArgs and RepositoryWebhookConfigurationOutput values. You can construct a concrete instance of `RepositoryWebhookConfigurationInput` via:

RepositoryWebhookConfigurationArgs{...}

type RepositoryWebhookConfigurationOutput

type RepositoryWebhookConfigurationOutput struct{ *pulumi.OutputState }

func (RepositoryWebhookConfigurationOutput) ContentType

func (RepositoryWebhookConfigurationOutput) ElementType

func (RepositoryWebhookConfigurationOutput) InsecureSsl

func (RepositoryWebhookConfigurationOutput) Secret

func (RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationOutput

func (o RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationOutput() RepositoryWebhookConfigurationOutput

func (RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationOutputWithContext

func (o RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationOutputWithContext(ctx context.Context) RepositoryWebhookConfigurationOutput

func (RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationPtrOutput

func (o RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationPtrOutput() RepositoryWebhookConfigurationPtrOutput

func (RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationPtrOutputWithContext

func (o RepositoryWebhookConfigurationOutput) ToRepositoryWebhookConfigurationPtrOutputWithContext(ctx context.Context) RepositoryWebhookConfigurationPtrOutput

func (RepositoryWebhookConfigurationOutput) Url

URL of the webhook

type RepositoryWebhookConfigurationPtrInput

type RepositoryWebhookConfigurationPtrInput interface {
	pulumi.Input

	ToRepositoryWebhookConfigurationPtrOutput() RepositoryWebhookConfigurationPtrOutput
	ToRepositoryWebhookConfigurationPtrOutputWithContext(context.Context) RepositoryWebhookConfigurationPtrOutput
}

RepositoryWebhookConfigurationPtrInput is an input type that accepts RepositoryWebhookConfigurationArgs, RepositoryWebhookConfigurationPtr and RepositoryWebhookConfigurationPtrOutput values. You can construct a concrete instance of `RepositoryWebhookConfigurationPtrInput` via:

        RepositoryWebhookConfigurationArgs{...}

or:

        nil

type RepositoryWebhookConfigurationPtrOutput

type RepositoryWebhookConfigurationPtrOutput struct{ *pulumi.OutputState }

func (RepositoryWebhookConfigurationPtrOutput) ContentType

func (RepositoryWebhookConfigurationPtrOutput) Elem

func (RepositoryWebhookConfigurationPtrOutput) ElementType

func (RepositoryWebhookConfigurationPtrOutput) InsecureSsl

func (RepositoryWebhookConfigurationPtrOutput) Secret

func (RepositoryWebhookConfigurationPtrOutput) ToRepositoryWebhookConfigurationPtrOutput

func (o RepositoryWebhookConfigurationPtrOutput) ToRepositoryWebhookConfigurationPtrOutput() RepositoryWebhookConfigurationPtrOutput

func (RepositoryWebhookConfigurationPtrOutput) ToRepositoryWebhookConfigurationPtrOutputWithContext

func (o RepositoryWebhookConfigurationPtrOutput) ToRepositoryWebhookConfigurationPtrOutputWithContext(ctx context.Context) RepositoryWebhookConfigurationPtrOutput

func (RepositoryWebhookConfigurationPtrOutput) Url

URL of the webhook

type RepositoryWebhookState

type RepositoryWebhookState struct {
	// Indicate of the webhook should receive events. Defaults to `true`.
	Active pulumi.BoolPtrInput
	// key/value pair of configuration for this webhook. Available keys are `url`, `contentType`, `secret` and `insecureSsl`. `secret` is [the shared secret, see API documentation](https://developer.github.com/v3/repos/hooks/#create-a-hook).
	Configuration RepositoryWebhookConfigurationPtrInput
	Etag          pulumi.StringPtrInput
	// A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/).
	Events pulumi.StringArrayInput
	// The repository of the webhook.
	Repository pulumi.StringPtrInput
	// URL of the webhook
	Url pulumi.StringPtrInput
}

func (RepositoryWebhookState) ElementType

func (RepositoryWebhookState) ElementType() reflect.Type

type Team

type Team struct {
	pulumi.CustomResourceState

	// A description of the team.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	Etag        pulumi.StringOutput    `pulumi:"etag"`
	// The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.
	LdapDn pulumi.StringPtrOutput `pulumi:"ldapDn"`
	// The name of the team.
	Name   pulumi.StringOutput `pulumi:"name"`
	NodeId pulumi.StringOutput `pulumi:"nodeId"`
	// The ID of the parent team, if this is a nested team.
	ParentTeamId pulumi.IntPtrOutput `pulumi:"parentTeamId"`
	// The level of privacy for the team. Must be one of `secret` or `closed`.
	// Defaults to `secret`.
	Privacy pulumi.StringPtrOutput `pulumi:"privacy"`
	// The slug of the created team, which may or may not differ from `name`,
	// depending on whether `name` contains "URL-unsafe" characters.
	// Useful when referencing the team in [`BranchProtection`](https://www.terraform.io/docs/providers/github/r/branch_protection.html).
	Slug pulumi.StringOutput `pulumi:"slug"`
}

Provides a GitHub team resource.

This resource allows you to add/remove teams from your organization. When applied, a new team will be created. When destroyed, that team will be removed.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewTeam(ctx, "someTeam", &github.TeamArgs{
			Description: pulumi.String("Some cool team"),
			Privacy:     pulumi.String("closed"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTeam

func GetTeam(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TeamState, opts ...pulumi.ResourceOption) (*Team, error)

GetTeam gets an existing Team resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTeam

func NewTeam(ctx *pulumi.Context,
	name string, args *TeamArgs, opts ...pulumi.ResourceOption) (*Team, error)

NewTeam registers a new resource with the given unique name, arguments, and options.

type TeamArgs

type TeamArgs struct {
	// A description of the team.
	Description pulumi.StringPtrInput
	// The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.
	LdapDn pulumi.StringPtrInput
	// The name of the team.
	Name pulumi.StringPtrInput
	// The ID of the parent team, if this is a nested team.
	ParentTeamId pulumi.IntPtrInput
	// The level of privacy for the team. Must be one of `secret` or `closed`.
	// Defaults to `secret`.
	Privacy pulumi.StringPtrInput
}

The set of arguments for constructing a Team resource.

func (TeamArgs) ElementType

func (TeamArgs) ElementType() reflect.Type

type TeamMembership

type TeamMembership struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The role of the user within the team.
	// Must be one of `member` or `maintainer`. Defaults to `member`.
	Role pulumi.StringPtrOutput `pulumi:"role"`
	// The GitHub team id
	TeamId pulumi.StringOutput `pulumi:"teamId"`
	// The user to add to the team.
	Username pulumi.StringOutput `pulumi:"username"`
}

Provides a GitHub team membership resource.

This resource allows you to add/remove users from teams in your organization. When applied, the user will be added to the team. If the user hasn't accepted their invitation to the organization, they won't be part of the team until they do. When destroyed, the user will be removed from the team.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewMembership(ctx, "membershipForSomeUser", &github.MembershipArgs{
			Role:     pulumi.String("member"),
			Username: pulumi.String("SomeUser"),
		})
		if err != nil {
			return err
		}
		someTeam, err := github.NewTeam(ctx, "someTeam", &github.TeamArgs{
			Description: pulumi.String("Some cool team"),
		})
		if err != nil {
			return err
		}
		_, err = github.NewTeamMembership(ctx, "someTeamMembership", &github.TeamMembershipArgs{
			Role:     pulumi.String("member"),
			TeamId:   someTeam.ID(),
			Username: pulumi.String("SomeUser"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTeamMembership

func GetTeamMembership(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TeamMembershipState, opts ...pulumi.ResourceOption) (*TeamMembership, error)

GetTeamMembership gets an existing TeamMembership resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTeamMembership

func NewTeamMembership(ctx *pulumi.Context,
	name string, args *TeamMembershipArgs, opts ...pulumi.ResourceOption) (*TeamMembership, error)

NewTeamMembership registers a new resource with the given unique name, arguments, and options.

type TeamMembershipArgs

type TeamMembershipArgs struct {
	// The role of the user within the team.
	// Must be one of `member` or `maintainer`. Defaults to `member`.
	Role pulumi.StringPtrInput
	// The GitHub team id
	TeamId pulumi.StringInput
	// The user to add to the team.
	Username pulumi.StringInput
}

The set of arguments for constructing a TeamMembership resource.

func (TeamMembershipArgs) ElementType

func (TeamMembershipArgs) ElementType() reflect.Type

type TeamMembershipState

type TeamMembershipState struct {
	Etag pulumi.StringPtrInput
	// The role of the user within the team.
	// Must be one of `member` or `maintainer`. Defaults to `member`.
	Role pulumi.StringPtrInput
	// The GitHub team id
	TeamId pulumi.StringPtrInput
	// The user to add to the team.
	Username pulumi.StringPtrInput
}

func (TeamMembershipState) ElementType

func (TeamMembershipState) ElementType() reflect.Type

type TeamRepository

type TeamRepository struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The permissions of team members regarding the repository.
	// Must be one of `pull`, `triage`, `push`, `maintain`, or `admin`. Defaults to `pull`.
	Permission pulumi.StringPtrOutput `pulumi:"permission"`
	// The repository to add to the team.
	Repository pulumi.StringOutput `pulumi:"repository"`
	// The GitHub team id
	TeamId pulumi.StringOutput `pulumi:"teamId"`
}

This resource manages relationships between teams and repositories in your GitHub organization.

Creating this resource grants a particular team permissions on a particular repository.

The repository and the team must both belong to the same organization on GitHub. This resource does not actually *create* any repositories; to do that, see `Repository`.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		someTeam, err := github.NewTeam(ctx, "someTeam", &github.TeamArgs{
			Description: pulumi.String("Some cool team"),
		})
		if err != nil {
			return err
		}
		someRepo, err := github.NewRepository(ctx, "someRepo", nil)
		if err != nil {
			return err
		}
		_, err = github.NewTeamRepository(ctx, "someTeamRepo", &github.TeamRepositoryArgs{
			Permission: pulumi.String("pull"),
			Repository: someRepo.Name,
			TeamId:     someTeam.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTeamRepository

func GetTeamRepository(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TeamRepositoryState, opts ...pulumi.ResourceOption) (*TeamRepository, error)

GetTeamRepository gets an existing TeamRepository resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTeamRepository

func NewTeamRepository(ctx *pulumi.Context,
	name string, args *TeamRepositoryArgs, opts ...pulumi.ResourceOption) (*TeamRepository, error)

NewTeamRepository registers a new resource with the given unique name, arguments, and options.

type TeamRepositoryArgs

type TeamRepositoryArgs struct {
	// The permissions of team members regarding the repository.
	// Must be one of `pull`, `triage`, `push`, `maintain`, or `admin`. Defaults to `pull`.
	Permission pulumi.StringPtrInput
	// The repository to add to the team.
	Repository pulumi.StringInput
	// The GitHub team id
	TeamId pulumi.StringInput
}

The set of arguments for constructing a TeamRepository resource.

func (TeamRepositoryArgs) ElementType

func (TeamRepositoryArgs) ElementType() reflect.Type

type TeamRepositoryState

type TeamRepositoryState struct {
	Etag pulumi.StringPtrInput
	// The permissions of team members regarding the repository.
	// Must be one of `pull`, `triage`, `push`, `maintain`, or `admin`. Defaults to `pull`.
	Permission pulumi.StringPtrInput
	// The repository to add to the team.
	Repository pulumi.StringPtrInput
	// The GitHub team id
	TeamId pulumi.StringPtrInput
}

func (TeamRepositoryState) ElementType

func (TeamRepositoryState) ElementType() reflect.Type

type TeamState

type TeamState struct {
	// A description of the team.
	Description pulumi.StringPtrInput
	Etag        pulumi.StringPtrInput
	// The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.
	LdapDn pulumi.StringPtrInput
	// The name of the team.
	Name   pulumi.StringPtrInput
	NodeId pulumi.StringPtrInput
	// The ID of the parent team, if this is a nested team.
	ParentTeamId pulumi.IntPtrInput
	// The level of privacy for the team. Must be one of `secret` or `closed`.
	// Defaults to `secret`.
	Privacy pulumi.StringPtrInput
	// The slug of the created team, which may or may not differ from `name`,
	// depending on whether `name` contains "URL-unsafe" characters.
	// Useful when referencing the team in [`BranchProtection`](https://www.terraform.io/docs/providers/github/r/branch_protection.html).
	Slug pulumi.StringPtrInput
}

func (TeamState) ElementType

func (TeamState) ElementType() reflect.Type

type TeamSyncGroupMapping

type TeamSyncGroupMapping struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// An Array of GitHub Identity Provider Groups (or empty []).  Each `group` block consists of the fields documented below.
	// ***
	Groups TeamSyncGroupMappingGroupArrayOutput `pulumi:"groups"`
	// Slug of the team
	TeamSlug pulumi.StringOutput `pulumi:"teamSlug"`
}

This resource allows you to create and manage Identity Provider (IdP) group connections within your GitHub teams. You must have team synchronization enabled for organizations owned by enterprise accounts.

To learn more about team synchronization between IdPs and Github, please refer to: https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/synchronizing-teams-between-your-identity-provider-and-github

func GetTeamSyncGroupMapping

func GetTeamSyncGroupMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TeamSyncGroupMappingState, opts ...pulumi.ResourceOption) (*TeamSyncGroupMapping, error)

GetTeamSyncGroupMapping gets an existing TeamSyncGroupMapping resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTeamSyncGroupMapping

func NewTeamSyncGroupMapping(ctx *pulumi.Context,
	name string, args *TeamSyncGroupMappingArgs, opts ...pulumi.ResourceOption) (*TeamSyncGroupMapping, error)

NewTeamSyncGroupMapping registers a new resource with the given unique name, arguments, and options.

type TeamSyncGroupMappingArgs

type TeamSyncGroupMappingArgs struct {
	// An Array of GitHub Identity Provider Groups (or empty []).  Each `group` block consists of the fields documented below.
	// ***
	Groups TeamSyncGroupMappingGroupArrayInput
	// Slug of the team
	TeamSlug pulumi.StringInput
}

The set of arguments for constructing a TeamSyncGroupMapping resource.

func (TeamSyncGroupMappingArgs) ElementType

func (TeamSyncGroupMappingArgs) ElementType() reflect.Type

type TeamSyncGroupMappingGroup

type TeamSyncGroupMappingGroup struct {
	// The description of the IdP group.
	GroupDescription string `pulumi:"groupDescription"`
	// The ID of the IdP group.
	GroupId string `pulumi:"groupId"`
	// The name of the IdP group.
	GroupName string `pulumi:"groupName"`
}

type TeamSyncGroupMappingGroupArgs

type TeamSyncGroupMappingGroupArgs struct {
	// The description of the IdP group.
	GroupDescription pulumi.StringInput `pulumi:"groupDescription"`
	// The ID of the IdP group.
	GroupId pulumi.StringInput `pulumi:"groupId"`
	// The name of the IdP group.
	GroupName pulumi.StringInput `pulumi:"groupName"`
}

func (TeamSyncGroupMappingGroupArgs) ElementType

func (TeamSyncGroupMappingGroupArgs) ToTeamSyncGroupMappingGroupOutput

func (i TeamSyncGroupMappingGroupArgs) ToTeamSyncGroupMappingGroupOutput() TeamSyncGroupMappingGroupOutput

func (TeamSyncGroupMappingGroupArgs) ToTeamSyncGroupMappingGroupOutputWithContext

func (i TeamSyncGroupMappingGroupArgs) ToTeamSyncGroupMappingGroupOutputWithContext(ctx context.Context) TeamSyncGroupMappingGroupOutput

type TeamSyncGroupMappingGroupArray

type TeamSyncGroupMappingGroupArray []TeamSyncGroupMappingGroupInput

func (TeamSyncGroupMappingGroupArray) ElementType

func (TeamSyncGroupMappingGroupArray) ToTeamSyncGroupMappingGroupArrayOutput

func (i TeamSyncGroupMappingGroupArray) ToTeamSyncGroupMappingGroupArrayOutput() TeamSyncGroupMappingGroupArrayOutput

func (TeamSyncGroupMappingGroupArray) ToTeamSyncGroupMappingGroupArrayOutputWithContext

func (i TeamSyncGroupMappingGroupArray) ToTeamSyncGroupMappingGroupArrayOutputWithContext(ctx context.Context) TeamSyncGroupMappingGroupArrayOutput

type TeamSyncGroupMappingGroupArrayInput

type TeamSyncGroupMappingGroupArrayInput interface {
	pulumi.Input

	ToTeamSyncGroupMappingGroupArrayOutput() TeamSyncGroupMappingGroupArrayOutput
	ToTeamSyncGroupMappingGroupArrayOutputWithContext(context.Context) TeamSyncGroupMappingGroupArrayOutput
}

TeamSyncGroupMappingGroupArrayInput is an input type that accepts TeamSyncGroupMappingGroupArray and TeamSyncGroupMappingGroupArrayOutput values. You can construct a concrete instance of `TeamSyncGroupMappingGroupArrayInput` via:

TeamSyncGroupMappingGroupArray{ TeamSyncGroupMappingGroupArgs{...} }

type TeamSyncGroupMappingGroupArrayOutput

type TeamSyncGroupMappingGroupArrayOutput struct{ *pulumi.OutputState }

func (TeamSyncGroupMappingGroupArrayOutput) ElementType

func (TeamSyncGroupMappingGroupArrayOutput) Index

func (TeamSyncGroupMappingGroupArrayOutput) ToTeamSyncGroupMappingGroupArrayOutput

func (o TeamSyncGroupMappingGroupArrayOutput) ToTeamSyncGroupMappingGroupArrayOutput() TeamSyncGroupMappingGroupArrayOutput

func (TeamSyncGroupMappingGroupArrayOutput) ToTeamSyncGroupMappingGroupArrayOutputWithContext

func (o TeamSyncGroupMappingGroupArrayOutput) ToTeamSyncGroupMappingGroupArrayOutputWithContext(ctx context.Context) TeamSyncGroupMappingGroupArrayOutput

type TeamSyncGroupMappingGroupInput

type TeamSyncGroupMappingGroupInput interface {
	pulumi.Input

	ToTeamSyncGroupMappingGroupOutput() TeamSyncGroupMappingGroupOutput
	ToTeamSyncGroupMappingGroupOutputWithContext(context.Context) TeamSyncGroupMappingGroupOutput
}

TeamSyncGroupMappingGroupInput is an input type that accepts TeamSyncGroupMappingGroupArgs and TeamSyncGroupMappingGroupOutput values. You can construct a concrete instance of `TeamSyncGroupMappingGroupInput` via:

TeamSyncGroupMappingGroupArgs{...}

type TeamSyncGroupMappingGroupOutput

type TeamSyncGroupMappingGroupOutput struct{ *pulumi.OutputState }

func (TeamSyncGroupMappingGroupOutput) ElementType

func (TeamSyncGroupMappingGroupOutput) GroupDescription

The description of the IdP group.

func (TeamSyncGroupMappingGroupOutput) GroupId

The ID of the IdP group.

func (TeamSyncGroupMappingGroupOutput) GroupName

The name of the IdP group.

func (TeamSyncGroupMappingGroupOutput) ToTeamSyncGroupMappingGroupOutput

func (o TeamSyncGroupMappingGroupOutput) ToTeamSyncGroupMappingGroupOutput() TeamSyncGroupMappingGroupOutput

func (TeamSyncGroupMappingGroupOutput) ToTeamSyncGroupMappingGroupOutputWithContext

func (o TeamSyncGroupMappingGroupOutput) ToTeamSyncGroupMappingGroupOutputWithContext(ctx context.Context) TeamSyncGroupMappingGroupOutput

type TeamSyncGroupMappingState

type TeamSyncGroupMappingState struct {
	Etag pulumi.StringPtrInput
	// An Array of GitHub Identity Provider Groups (or empty []).  Each `group` block consists of the fields documented below.
	// ***
	Groups TeamSyncGroupMappingGroupArrayInput
	// Slug of the team
	TeamSlug pulumi.StringPtrInput
}

func (TeamSyncGroupMappingState) ElementType

func (TeamSyncGroupMappingState) ElementType() reflect.Type

type UserGpgKey

type UserGpgKey struct {
	pulumi.CustomResourceState

	// Your public GPG key, generated in ASCII-armored format.
	// See [Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/) for help on creating a GPG key.
	ArmoredPublicKey pulumi.StringOutput `pulumi:"armoredPublicKey"`
	Etag             pulumi.StringOutput `pulumi:"etag"`
	// The key ID of the GPG key, e.g. `3262EFF25BA0D270`
	KeyId pulumi.StringOutput `pulumi:"keyId"`
}

Provides a GitHub user's GPG key resource.

This resource allows you to add/remove GPG keys from your user account.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := github.NewUserGpgKey(ctx, "example", &github.UserGpgKeyArgs{
			ArmoredPublicKey: pulumi.String(fmt.Sprintf("%v%v%v", "-----BEGIN PGP PUBLIC KEY BLOCK-----\n", "...\n", "-----END PGP PUBLIC KEY BLOCK-----\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetUserGpgKey

func GetUserGpgKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserGpgKeyState, opts ...pulumi.ResourceOption) (*UserGpgKey, error)

GetUserGpgKey gets an existing UserGpgKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewUserGpgKey

func NewUserGpgKey(ctx *pulumi.Context,
	name string, args *UserGpgKeyArgs, opts ...pulumi.ResourceOption) (*UserGpgKey, error)

NewUserGpgKey registers a new resource with the given unique name, arguments, and options.

type UserGpgKeyArgs

type UserGpgKeyArgs struct {
	// Your public GPG key, generated in ASCII-armored format.
	// See [Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/) for help on creating a GPG key.
	ArmoredPublicKey pulumi.StringInput
}

The set of arguments for constructing a UserGpgKey resource.

func (UserGpgKeyArgs) ElementType

func (UserGpgKeyArgs) ElementType() reflect.Type

type UserGpgKeyState

type UserGpgKeyState struct {
	// Your public GPG key, generated in ASCII-armored format.
	// See [Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/) for help on creating a GPG key.
	ArmoredPublicKey pulumi.StringPtrInput
	Etag             pulumi.StringPtrInput
	// The key ID of the GPG key, e.g. `3262EFF25BA0D270`
	KeyId pulumi.StringPtrInput
}

func (UserGpgKeyState) ElementType

func (UserGpgKeyState) ElementType() reflect.Type

type UserInvitationAccepter

type UserInvitationAccepter struct {
	pulumi.CustomResourceState

	// ID of the invitation to accept
	InvitationId pulumi.StringOutput `pulumi:"invitationId"`
}

Provides a resource to manage GitHub repository collaborator invitations.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-github/sdk/v2/go/github"
"github.com/pulumi/pulumi-github/sdk/v2/go/github/providers"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleRepository, err := github.NewRepository(ctx, "exampleRepository", nil)
		if err != nil {
			return err
		}
		exampleRepositoryCollaborator, err := github.NewRepositoryCollaborator(ctx, "exampleRepositoryCollaborator", &github.RepositoryCollaboratorArgs{
			Permission: pulumi.String("push"),
			Repository: exampleRepository.Name,
			Username:   pulumi.String("example-username"),
		})
		if err != nil {
			return err
		}
		_, err = providers.Newgithub(ctx, "invitee", &providers.githubArgs{
			Token: pulumi.Any(_var.Invitee_token),
		})
		if err != nil {
			return err
		}
		_, err = github.NewUserInvitationAccepter(ctx, "exampleUserInvitationAccepter", &github.UserInvitationAccepterArgs{
			InvitationId: exampleRepositoryCollaborator.InvitationId,
		}, pulumi.Provider("github.invitee"))
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetUserInvitationAccepter

func GetUserInvitationAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserInvitationAccepterState, opts ...pulumi.ResourceOption) (*UserInvitationAccepter, error)

GetUserInvitationAccepter gets an existing UserInvitationAccepter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewUserInvitationAccepter

func NewUserInvitationAccepter(ctx *pulumi.Context,
	name string, args *UserInvitationAccepterArgs, opts ...pulumi.ResourceOption) (*UserInvitationAccepter, error)

NewUserInvitationAccepter registers a new resource with the given unique name, arguments, and options.

type UserInvitationAccepterArgs

type UserInvitationAccepterArgs struct {
	// ID of the invitation to accept
	InvitationId pulumi.StringInput
}

The set of arguments for constructing a UserInvitationAccepter resource.

func (UserInvitationAccepterArgs) ElementType

func (UserInvitationAccepterArgs) ElementType() reflect.Type

type UserInvitationAccepterState

type UserInvitationAccepterState struct {
	// ID of the invitation to accept
	InvitationId pulumi.StringPtrInput
}

func (UserInvitationAccepterState) ElementType

type UserSshKey

type UserSshKey struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The public SSH key to add to your GitHub account.
	Key pulumi.StringOutput `pulumi:"key"`
	// A descriptive name for the new key. e.g. `Personal MacBook Air`
	Title pulumi.StringOutput `pulumi:"title"`
	// The URL of the SSH key
	Url pulumi.StringOutput `pulumi:"url"`
}

Provides a GitHub user's SSH key resource.

This resource allows you to add/remove SSH keys from your user account.

func GetUserSshKey

func GetUserSshKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserSshKeyState, opts ...pulumi.ResourceOption) (*UserSshKey, error)

GetUserSshKey gets an existing UserSshKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewUserSshKey

func NewUserSshKey(ctx *pulumi.Context,
	name string, args *UserSshKeyArgs, opts ...pulumi.ResourceOption) (*UserSshKey, error)

NewUserSshKey registers a new resource with the given unique name, arguments, and options.

type UserSshKeyArgs

type UserSshKeyArgs struct {
	// The public SSH key to add to your GitHub account.
	Key pulumi.StringInput
	// A descriptive name for the new key. e.g. `Personal MacBook Air`
	Title pulumi.StringInput
}

The set of arguments for constructing a UserSshKey resource.

func (UserSshKeyArgs) ElementType

func (UserSshKeyArgs) ElementType() reflect.Type

type UserSshKeyState

type UserSshKeyState struct {
	Etag pulumi.StringPtrInput
	// The public SSH key to add to your GitHub account.
	Key pulumi.StringPtrInput
	// A descriptive name for the new key. e.g. `Personal MacBook Air`
	Title pulumi.StringPtrInput
	// The URL of the SSH key
	Url pulumi.StringPtrInput
}

func (UserSshKeyState) ElementType

func (UserSshKeyState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL