### AppInstallationRepository Constructor Example Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepository Demonstrates how to create an AppInstallationRepository resource with installation ID and repository name in various languages. ```csharp var appInstallationRepositoryResource = new Github.AppInstallationRepository("appInstallationRepositoryResource", new() { InstallationId = "string", Repository = "string", }); ``` ```go example, err := github.NewAppInstallationRepository(ctx, "appInstallationRepositoryResource", &github.AppInstallationRepositoryArgs{ InstallationId: pulumi.String("string"), Repository: pulumi.String("string"), }) ``` ```java var appInstallationRepositoryResource = new AppInstallationRepository("appInstallationRepositoryResource", AppInstallationRepositoryArgs.builder() .installationId("string") .repository("string") .build()); ``` ```python app_installation_repository_resource = github.AppInstallationRepository("appInstallationRepositoryResource", installation_id="string", repository="string") ``` ```typescript const appInstallationRepositoryResource = new github.AppInstallationRepository("appInstallationRepositoryResource", { installationId: "string", repository: "string", }); ``` ```yaml type: github:AppInstallationRepository properties: installationId: string repository: string ``` -------------------------------- ### Go Example for getActionsOrganizationRegistrationToken Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsorganizationregistrationtoken This Go example illustrates fetching an organization registration token using the `GetActionsOrganizationRegistrationToken` data source, which is useful for self-hosted runner setup. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := github.GetActionsOrganizationRegistrationToken(ctx, map[string]interface{}{}, nil) if err != nil { return err } return nil }) } ``` -------------------------------- ### Constructor Example Source: https://www.pulumi.com/registry/packages/github/api-docs/actionsrepositoryaccesslevel Illustrates how to instantiate the ActionsRepositoryAccessLevel resource with example values in multiple languages. ```APIDOC ## Constructor Example ### TypeScript ```typescript var actionsRepositoryAccessLevelResource = new Github.ActionsRepositoryAccessLevel("actionsRepositoryAccessLevelResource", new() { AccessLevel = "string", Repository = "string", }); ``` ### Python ```python example, err := github.NewActionsRepositoryAccessLevel(ctx, "actionsRepositoryAccessLevelResource", &github.ActionsRepositoryAccessLevelArgs{ AccessLevel: pulumi.String("string"), Repository: pulumi.String("string"), }) ``` ### C# ```csharp var actionsRepositoryAccessLevelResource = new ActionsRepositoryAccessLevel("actionsRepositoryAccessLevelResource", ActionsRepositoryAccessLevelArgs.builder() .accessLevel("string") .repository("string") .build()); ``` ### YAML ```yaml actions_repository_access_level_resource = github.ActionsRepositoryAccessLevel("actionsRepositoryAccessLevelResource", access_level="string", repository="string") ``` ### Go ```go const actionsRepositoryAccessLevelResource = new github.ActionsRepositoryAccessLevel("actionsRepositoryAccessLevelResource", { accessLevel: "string", repository: "string", }); ``` ### Java ```yaml type: github:ActionsRepositoryAccessLevel properties: accessLevel: string repository: string ``` ``` -------------------------------- ### AppInstallationRepository Example Usage Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepository Provides example code for creating an AppInstallationRepository resource in various languages. ```APIDOC ```typescript var appInstallationRepositoryResource = new Github.AppInstallationRepository("appInstallationRepositoryResource", new() { InstallationId = "string", Repository = "string", }); ``` ``` ```APIDOC ```go example, err := github.NewAppInstallationRepository(ctx, "appInstallationRepositoryResource", &github.AppInstallationRepositoryArgs{ InstallationId: pulumi.String("string"), Repository: pulumi.String("string"), }) ``` ``` ```APIDOC ```java var appInstallationRepositoryResource = new AppInstallationRepository("appInstallationRepositoryResource", AppInstallationRepositoryArgs.builder() .installationId("string") .repository("string") .build()); ``` ``` ```APIDOC ```python app_installation_repository_resource = github.AppInstallationRepository("appInstallationRepositoryResource", installation_id="string", repository="string") ``` ``` ```APIDOC ```typescript const appInstallationRepositoryResource = new github.AppInstallationRepository("appInstallationRepositoryResource", { installationId: "string", repository: "string", }); ``` ``` ```APIDOC ```yaml type: github:AppInstallationRepository properties: installationId: string repository: string ``` ``` -------------------------------- ### C# Example for getActionsOrganizationRegistrationToken Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsorganizationregistrationtoken This C# example demonstrates invoking the `GetActionsOrganizationRegistrationToken` data source to get a token for registering self-hosted runners. ```csharp using System.Collections.Generic; using System.Linq; using Pulumi; using Github = Pulumi.Github; return await Deployment.RunAsync(() => { var example = Github.Index.GetActionsOrganizationRegistrationToken.Invoke(); }); ``` -------------------------------- ### Example Usage - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/getexternalgroups This Go example illustrates fetching external groups using the `GetExternalGroups` function and exporting the retrieved groups. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { exampleExternalGroups, err := github.GetExternalGroups(ctx, map[string]interface{}{}, nil) if err != nil { return err } localGroups := exampleExternalGroups ctx.Export("groups", localGroups) return nil }) } ``` -------------------------------- ### EnterpriseOrganization Constructor Example Source: https://www.pulumi.com/registry/packages/github/api-docs/enterpriseorganization Provides a reference example for creating an EnterpriseOrganization resource with placeholder values across multiple languages. Ensure all required parameters are provided. ```typescript var enterpriseOrganizationResource = new Github.EnterpriseOrganization("enterpriseOrganizationResource", new() { AdminLogins = new[] { "string", }, BillingEmail = "string", EnterpriseId = "string", Description = "string", DisplayName = "string", Name = "string", }); ``` ```go example, err := github.NewEnterpriseOrganization(ctx, "enterpriseOrganizationResource", &github.EnterpriseOrganizationArgs{ AdminLogins: pulumi.StringArray{ pulumi.String("string"), }, BillingEmail: pulumi.String("string"), EnterpriseId: pulumi.String("string"), Description: pulumi.String("string"), DisplayName: pulumi.String("string"), Name: pulumi.String("string"), }) ``` ```csharp var enterpriseOrganizationResource = new EnterpriseOrganization("enterpriseOrganizationResource", EnterpriseOrganizationArgs.builder() .adminLogins("string") .billingEmail("string") .enterpriseId("string") .description("string") .displayName("string") .name("string") .build()); ``` ```python enterprise_organization_resource = github.EnterpriseOrganization("enterpriseOrganizationResource", admin_logins=["string"], billing_email="string", enterprise_id="string", description="string", display_name="string", name="string") ``` ```typescript const enterpriseOrganizationResource = new github.EnterpriseOrganization("enterpriseOrganizationResource", { adminLogins: ["string"], billingEmail: "string", enterpriseId: "string", description: "string", displayName: "string", name: "string", }); ``` ```yaml type: github:EnterpriseOrganization properties: adminLogins: - string billingEmail: string description: string displayName: string enterpriseId: string name: string ``` -------------------------------- ### Get Branch - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Looks up the 'development' branch in the 'example' repository using the Go SDK. Ensure necessary Pulumi GitHub provider imports are present. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := github.GetBranch(ctx, &github.LookupBranchArgs{ Repository: "example", Branch: "development", }, nil) if err != nil { return err } return nil }) } ``` -------------------------------- ### Import GitHub App Installation Repositories Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Import existing GitHub App Installation Repositories into Pulumi management. The ID format is `installationId`. ```bash $ pulumi import github:index/appInstallationRepositories:AppInstallationRepositories some_app_repos 1234567 ``` -------------------------------- ### Python Example for getActionsOrganizationRegistrationToken Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsorganizationregistrationtoken This example shows how to use the `getActionsOrganizationRegistrationToken` data source in Python to retrieve a token for self-hosted runner registration. ```python import pulumi import pulumi_github as github example = github.get_actions_organization_registration_token() ``` -------------------------------- ### Create AppInstallationRepositories Resource Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories This resource manages relationships between app installations and repositories in your GitHub organization or your user account. Creating this resource installs a particular app on multiple repositories. The app installation and the repositories must all belong to the same organization or user account on GitHub. ```APIDOC ## Create AppInstallationRepositories Resource This resource manages relationships between app installations and repositories in your GitHub organization or your user account. Creating this resource installs a particular app on multiple repositories. The app installation and the repositories must all belong to the same organization or user account on GitHub. ### Constructor syntax * **TypeScript** ```typescript new AppInstallationRepositories(name: string, args: AppInstallationRepositoriesArgs, opts?: CustomResourceOptions); ``` * **Python** ```python @overload def AppInstallationRepositories(resource_name: str, args: AppInstallationRepositoriesArgs, opts: Optional[ResourceOptions] = None) @overload def AppInstallationRepositories(resource_name: str, opts: Optional[ResourceOptions] = None, installation_id: Optional[str] = None, selected_repositories: Optional[Sequence[str]] = None) ``` * **Go** ```go func NewAppInstallationRepositories(ctx *Context, name string, args AppInstallationRepositoriesArgs, opts ...ResourceOption) (*AppInstallationRepositories, error) ``` * **C#** ```csharp public AppInstallationRepositories(string name, AppInstallationRepositoriesArgs args, CustomResourceOptions? opts = null); ``` * **Java** ```java public AppInstallationRepositories(String name, AppInstallationRepositoriesArgs args) public AppInstallationRepositories(String name, AppInstallationRepositoriesArgs args, CustomResourceOptions options) ``` * **YAML** ```yaml type: github:AppInstallationRepositories properties: # The arguments to resource properties. options: # Bag of options to control resource's behavior. ``` ### Parameters * **name** (string) - Required - The unique name of the resource. * **args** (AppInstallationRepositoriesArgs) - Required - The arguments to resource properties. * **opts** (CustomResourceOptions) - Optional - Bag of options to control resource's behavior. * **resource_name** (str) - Required - The unique name of the resource. * **args** (AppInstallationRepositoriesArgs) - Required - The arguments to resource properties. * **opts** (ResourceOptions) - Optional - Bag of options to control resource's behavior. * **ctx** (Context) - Context object for the current deployment. * **name** (string) - Required - The unique name of the resource. * **args** (AppInstallationRepositoriesArgs) - Required - The arguments to resource properties. * **opts** (ResourceOption) - Optional - Bag of options to control resource's behavior. * **name** (string) - Required - The unique name of the resource. * **args** (AppInstallationRepositoriesArgs) - Required - The arguments to resource properties. * **opts** (CustomResourceOptions) - Optional - Bag of options to control resource's behavior. * **name** (String) - Required - The unique name of the resource. * **args** (AppInstallationRepositoriesArgs) - Required - The arguments to resource properties. * **options** (CustomResourceOptions) - Optional - Bag of options to control resource's behavior. ``` -------------------------------- ### BranchDefault Constructor Example Source: https://www.pulumi.com/registry/packages/github/api-docs/branchdefault Provides a reference example for creating a BranchDefault resource with placeholder values across TypeScript, Go, C#, Python, and YAML. ```typescript var branchDefaultResource = new Github.BranchDefault("branchDefaultResource", new() { Branch = "string", Repository = "string", Etag = "string", Rename = false, }); ``` ```go example, err := github.NewBranchDefault(ctx, "branchDefaultResource", &github.BranchDefaultArgs{ Branch: pulumi.String("string"), Repository: pulumi.String("string"), Etag: pulumi.String("string"), Rename: pulumi.Bool(false), }) ``` ```csharp var branchDefaultResource = new BranchDefault("branchDefaultResource", BranchDefaultArgs.builder() .branch("string") .repository("string") .etag("string") .rename(false) .build()); ``` ```python branch_default_resource = github.BranchDefault("branchDefaultResource", branch="string", repository="string", etag="string", rename=False) ``` ```typescript const branchDefaultResource = new github.BranchDefault("branchDefaultResource", { branch: "string", repository: "string", etag: "string", rename: false, }); ``` ```yaml type: github:BranchDefault properties: branch: string etag: string rename: false repository: string ``` -------------------------------- ### Java Example for getActionsOrganizationRegistrationToken Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsorganizationregistrationtoken This Java example shows how to use the `getActionsOrganizationRegistrationToken` function to retrieve a token for self-hosted runner registration. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.GithubFunctions; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var example = GithubFunctions.getActionsOrganizationRegistrationToken(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } } ``` -------------------------------- ### Example Usage - Python Source: https://www.pulumi.com/registry/packages/github/api-docs/getexternalgroups This example shows how to use the `get_external_groups` data source in Python to fetch external groups and export the result. ```python import pulumi import pulumi_github as github example_external_groups = github.get_external_groups() local_groups = example_external_groups pulumi.export("groups", local_groups) ``` -------------------------------- ### Get Branch - TypeScript Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Retrieves information about the 'development' branch in the 'example' repository. Ensure the @pulumi/github package is installed. ```typescript import * as pulumi from "@pulumi/pulumi"; import * as github from "@pulumi/github"; const development = github.getBranch({ repository: "example", branch: "development", }); ``` -------------------------------- ### Create an AppInstallationRepositories Resource - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Instantiate an AppInstallationRepositories resource in Go. Requires installationId and selectedRepositories. ```go example, err := github.NewAppInstallationRepositories(ctx, "appInstallationRepositoriesResource", &github.AppInstallationRepositoriesArgs{ InstallationId: pulumi.String("string"), SelectedRepositories: pulumi.StringArray{ pulumi.String("string"), }, }) ``` -------------------------------- ### Get Dependabot Secrets (C#) Source: https://www.pulumi.com/registry/packages/github/api-docs/getdependabotsecrets Retrieves dependabot secrets for a GitHub repository using C#. This example assumes Pulumi and the GitHub provider are installed. ```csharp using System.Collections.Generic; using System.Linq; using Pulumi; using Github = Pulumi.Github; return await Deployment.RunAsync(() => { var example = Github.Index.GetDependabotSecrets.Invoke(new() { Name = "example", }); }); ``` -------------------------------- ### Create AppInstallationRepositories Resource (Go) Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Instantiate an AppInstallationRepositories resource in Go using the NewAppInstallationRepositories function. This requires a context, resource name, arguments, and variadic resource options. ```go func NewAppInstallationRepositories(ctx *Context, name string, args AppInstallationRepositoriesArgs, opts ...ResourceOption) (*AppInstallationRepositories, error) ``` -------------------------------- ### Get Branch - Python Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Fetches details for the 'development' branch of the 'example' repository. Requires the pulumi-github package. ```python import pulumi import pulumi_github as github development = github.get_branch(repository="example", branch="development") ``` -------------------------------- ### Create an AppInstallationRepositories Resource - C# Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Instantiate an AppInstallationRepositories resource in C#. Requires installationId and selectedRepositories. ```csharp var appInstallationRepositoriesResource = new Github.AppInstallationRepositories("appInstallationRepositoriesResource", new() { InstallationId = "string", SelectedRepositories = new[] { "string", }, }); ``` -------------------------------- ### Create an AppInstallationRepositories Resource - Python Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Instantiate an AppInstallationRepositories resource in Python. Requires installationId and selectedRepositories. ```python app_installation_repositories_resource = github.AppInstallationRepositories("appInstallationRepositoriesResource", installation_id="string", selected_repositories=["string"]) ``` -------------------------------- ### YAML Get Branch Configuration Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Example of how to configure the getBranch function using YAML, specifying the function and its arguments. ```yaml fn::invoke: function: github:index/getBranch:getBranch arguments: # arguments dictionary ``` -------------------------------- ### Constructor Example - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/actionsrepositorypermissions Use this snippet to create a new ActionsRepositoryPermissions resource in Go. All required arguments must be provided. ```go example, err := github.NewActionsRepositoryPermissions(ctx, "actionsRepositoryPermissionsResource", &github.ActionsRepositoryPermissionsArgs{ Repository: pulumi.String("string"), AllowedActions: pulumi.String("string"), AllowedActionsConfig: &github.ActionsRepositoryPermissionsAllowedActionsConfigArgs{ GithubOwnedAllowed: pulumi.Bool(false), PatternsAlloweds: pulumi.StringArray{ pulumi.String("string"), }, VerifiedAllowed: pulumi.Bool(false), }, Enabled: pulumi.Bool(false), ShaPinningRequired: pulumi.Bool(false), }) ``` -------------------------------- ### CodespacesOrganizationSecretRepositories Resource Configuration (YAML) Source: https://www.pulumi.com/registry/packages/github/api-docs/codespacesorganizationsecretrepositories Example of how to configure a CodespacesOrganizationSecretRepositories resource in YAML, including its type and the 'get' action with an ID. ```yaml resources: _: type: github:CodespacesOrganizationSecretRepositories get: id: ${id} ``` -------------------------------- ### Get Dependabot Secrets (Go) Source: https://www.pulumi.com/registry/packages/github/api-docs/getdependabotsecrets Obtains dependabot secrets for a GitHub repository. This Go example requires the Pulumi GitHub provider and context. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := github.GetDependabotSecrets(ctx, &github.GetDependabotSecretsArgs{ Name: pulumi.StringRef("example"), }, nil) if err != nil { return err } return nil }) } ``` -------------------------------- ### Create ActionsRepositoryOidcSubjectClaimCustomizationTemplate Resource (Go) Source: https://www.pulumi.com/registry/packages/github/api-docs/actionsrepositoryoidcsubjectclaimcustomizationtemplate Example of creating an ActionsRepositoryOidcSubjectClaimCustomizationTemplate resource using Go. Provide the repository name and configure 'UseDefault' and 'IncludeClaimKeys'. ```go var actionsRepositoryOidcSubjectClaimCustomizationTemplateResource = new Github.ActionsRepositoryOidcSubjectClaimCustomizationTemplate("actionsRepositoryOidcSubjectClaimCustomizationTemplateResource", new(){ Repository = "string", UseDefault = false, IncludeClaimKeys = new[] { "string", }, }); ``` -------------------------------- ### Get Branch - YAML Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Uses the Pulumi YAML syntax to invoke the github:getBranch function for the 'example' repository's 'development' branch. ```yaml variables: development: fn::invoke: function: github:getBranch arguments: repository: example branch: development ``` -------------------------------- ### Get Branch - C# Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Invokes the GetBranch function to retrieve information about the 'development' branch in the 'example' repository. Requires Pulumi and the GitHub provider. ```csharp using System.Collections.Generic; using System.Linq; using Pulumi; using Github = Pulumi.Github; return await Deployment.RunAsync(() => { var development = Github.Index.GetBranch.Invoke(new() { Repository = "example", Branch = "development", }); }); ``` -------------------------------- ### Create AppInstallationRepositories Resource (Python) Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories This resource can be created using overloaded constructors in Python. You can provide resource name, arguments, and optional resource options, or specify installation ID and selected repositories directly. ```python @overload def AppInstallationRepositories(resource_name: str, args: AppInstallationRepositoriesArgs, opts: Optional[ResourceOptions] = None) @overload def AppInstallationRepositories(resource_name: str, opts: Optional[ResourceOptions] = None, installation_id: Optional[str] = None, selected_repositories: Optional[Sequence[str]] = None) ``` -------------------------------- ### Get GitHub Actions Variables - YAML Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsvariables Use this data source to retrieve the list of variables for a GitHub repository. This is a Pulumi configuration example. ```yaml variables: example: fn::invoke: function: github:getActionsVariables arguments: name: example ``` -------------------------------- ### Python Example for getActionsOrganizationVariables Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsorganizationvariables This Python snippet shows how to invoke the `get_actions_organization_variables` data source to fetch organization variables. Ensure the `pulumi_github` package is installed. ```python import pulumi import pulumi_github as github example = github.get_actions_organization_variables() ``` -------------------------------- ### Create an AppInstallationRepositories Resource - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Instantiate an AppInstallationRepositories resource in Java. Requires installationId and selectedRepositories. ```java var appInstallationRepositoriesResource = new AppInstallationRepositories("appInstallationRepositoriesResource", AppInstallationRepositoriesArgs.builder() .installationId("string") .selectedRepositories("string") .build()); ``` -------------------------------- ### Create a DependabotOrganizationSecret resource in Go Source: https://www.pulumi.com/registry/packages/github/api-docs/dependabotorganizationsecret Example of creating a new DependabotOrganizationSecret resource. All input properties are placeholders and should be replaced with actual values. ```go dependabot_organization_secret_resource = github.DependabotOrganizationSecret("dependabotOrganizationSecretResource", secret_name="string", visibility="string", key_id="string", value="string", value_encrypted="string") ``` -------------------------------- ### Get Codespaces Secrets - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacessecrets Retrieves codespaces secrets for a GitHub repository. This example demonstrates using both 'name' and 'fullName' arguments for repository identification. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.GithubFunctions; import com.pulumi.github.inputs.GetCodespacesSecretsArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var example = GithubFunctions.getCodespacesSecrets(GetCodespacesSecretsArgs.builder() .name("example_repository") .build()); final var example2 = GithubFunctions.getCodespacesSecrets(GetCodespacesSecretsArgs.builder() .fullName("org/example_repository") .build()); } } ``` -------------------------------- ### Get Codespaces User Secrets - YAML Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacesusersecrets Use this data source to retrieve the list of codespaces secrets of the user. This example shows the YAML implementation. ```yaml variables: example: fn::invoke: function: github:getCodespacesUserSecrets arguments: {} ``` -------------------------------- ### Basic Usage Source: https://www.pulumi.com/registry/packages/github/api-docs/actionshostedrunner Example of how to create a GitHub Actions Hosted Runner. ```typescript import * as pulumi from "@pulumi/pulumi"; import * as github from "@pulumi/github"; const example = new github.ActionsRunnerGroup("example", { name: "example-runner-group", visibility: "all", }); const exampleActionsHostedRunner = new github.ActionsHostedRunner("example", { name: "example-hosted-runner", image: { id: "2306", source: "github", }, size: "4-core", runnerGroupId: example.id, }); ``` ```python import pulumi import pulumi_github as github example = github.ActionsRunnerGroup("example", name="example-runner-group", visibility="all") example_actions_hosted_runner = github.ActionsHostedRunner("example", name="example-hosted-runner", image={ "id": "2306", "source": "github", }, size="4-core", runner_group_id=example.id) ``` ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := github.NewActionsRunnerGroup(ctx, "example", &github.ActionsRunnerGroupArgs{ Name: pulumi.String("example-runner-group"), Visibility: pulumi.String("all"), }) if err != nil { return err } _, err = github.NewActionsHostedRunner(ctx, "example", &github.ActionsHostedRunnerArgs{ Name: pulumi.String("example-hosted-runner"), Image: &github.ActionsHostedRunnerImageArgs{ Id: pulumi.String("2306"), Source: pulumi.String("github"), }, Size: pulumi.String("4-core"), RunnerGroupId: example.ID(), }) if err != nil { return err } return nil }) } ``` ```csharp using System.Collections.Generic; using System.Linq; using Pulumi; using Github = Pulumi.Github; return await Deployment.RunAsync(() => { var example = new Github.Index.ActionsRunnerGroup("example", new() { Name = "example-runner-group", Visibility = "all", }); var exampleActionsHostedRunner = new Github.Index.ActionsHostedRunner("example", new() { Name = "example-hosted-runner", Image = new Github.Inputs.ActionsHostedRunnerImageArgs { Id = "2306", Source = "github", }, Size = "4-core", RunnerGroupId = example.Id, }); }); ``` ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.ActionsRunnerGroup; import com.pulumi.github.ActionsRunnerGroupArgs; import com.pulumi.github.ActionsHostedRunner; import com.pulumi.github.ActionsHostedRunnerArgs; import com.pulumi.github.inputs.ActionsHostedRunnerImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ActionsRunnerGroup("example", ActionsRunnerGroupArgs.builder() .name("example-runner-group") .visibility("all") .build()); var exampleActionsHostedRunner = new ActionsHostedRunner("exampleActionsHostedRunner", ActionsHostedRunnerArgs.builder() .name("example-hosted-runner") .image(ActionsHostedRunnerImageArgs.builder() .id("2306") .source("github") .build()) .size("4-core") .runnerGroupId(example.id()) .build()); } } ``` ```yaml resources: example: type: github:ActionsRunnerGroup properties: name: example-runner-group visibility: all exampleActionsHostedRunner: type: github:ActionsHostedRunner name: example properties: name: example-hosted-runner image: id: '2306' source: github size: 4-core runnerGroupId: ${example.id} ``` -------------------------------- ### Get Codespaces User Secrets - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacesusersecrets Use this data source to retrieve the list of codespaces secrets of the user. This example shows the Java implementation. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.GithubFunctions; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var example = GithubFunctions.getCodespacesUserSecrets(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } } ``` -------------------------------- ### Full security configuration with all features enabled Source: https://www.pulumi.com/registry/packages/github/api-docs/enterprisesecurityanalysissettings This example demonstrates how to enable all available security analysis features for new repositories within an enterprise, including advanced security, secret scanning, push protection, and validity checks, with a custom link for push protection. ```APIDOC ## github.EnterpriseSecurityAnalysisSettings (comprehensive) ### Description Configures comprehensive security analysis settings for a GitHub enterprise, enabling advanced security, secret scanning, and push protection for new repositories. ### Arguments * `enterprise_slug` (string, Required) - The slug of the GitHub enterprise. * `advanced_security_enabled_for_new_repositories` (bool, Optional) - Whether to enable advanced security for new repositories. * `secret_scanning_enabled_for_new_repositories` (bool, Optional) - Whether to enable secret scanning for new repositories. * `secret_scanning_push_protection_enabled_for_new_repositories` (bool, Optional) - Whether to enable secret scanning push protection for new repositories. * `secret_scanning_validity_checks_enabled` (bool, Optional) - Whether to enable secret scanning validity checks. * `secret_scanning_push_protection_custom_link` (string, Optional) - A custom URL to direct users to when a secret is detected during push protection. ### Example ```python import pulumi import pulumi_github as github comprehensive = github.EnterpriseSecurityAnalysisSettings("comprehensive", enterprise_slug="my-enterprise", advanced_security_enabled_for_new_repositories=True, secret_scanning_enabled_for_new_repositories=True, secret_scanning_push_protection_enabled_for_new_repositories=True, secret_scanning_validity_checks_enabled=True, secret_scanning_push_protection_custom_link="https://octokit.com/security-guidelines") ``` ``` -------------------------------- ### Get Codespaces User Secrets - C# Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacesusersecrets Use this data source to retrieve the list of codespaces secrets of the user. This example shows the C# implementation. ```csharp using System.Collections.Generic; using System.Linq; using Pulumi; using Github = Pulumi.Github; return await Deployment.RunAsync(() => { var example = Github.Index.GetCodespacesUserSecrets.Invoke(); }); ``` -------------------------------- ### Create a GitHub Branch Resource (Go) Source: https://www.pulumi.com/registry/packages/github/api-docs/branch Example of creating a new GitHub Branch resource using Go. Ensure the 'github' and 'pulumi' packages are imported. ```go var branchResource = new Branch("branchResource", BranchArgs.builder() .branch("string") .repository("string") .etag("string") .sourceBranch("string") .sourceSha("string") .build()); ``` -------------------------------- ### Create CodespacesSecret Resource (Go) Source: https://www.pulumi.com/registry/packages/github/api-docs/codespacessecret Example of creating a CodespacesSecret resource using Go. Placeholder values are used for all input properties. ```go example, err := github.NewCodespacesSecret(ctx, "codespacesSecretResource", &github.CodespacesSecretArgs{ Repository: pulumi.String("string"), SecretName: pulumi.String("string"), EncryptedValue: pulumi.String("string"), PlaintextValue: pulumi.String("string"), }) ``` -------------------------------- ### Get Codespaces User Secrets - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacesusersecrets Use this data source to retrieve the list of codespaces secrets of the user. This example shows the Go implementation. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := github.GetCodespacesUserSecrets(ctx, map[string]interface{}{}, nil) if err != nil { return err } return nil }) } ``` -------------------------------- ### Get Codespaces User Secrets - Python Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacesusersecrets Use this data source to retrieve the list of codespaces secrets of the user. This example shows the Python implementation. ```python import pulumi import pulumi_github as github example = github.get_codespaces_user_secrets() ``` -------------------------------- ### Create AppInstallationRepositories Resource (C#) Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepositories Create an AppInstallationRepositories resource in C# using its constructor. It takes the resource name, arguments, and optional custom resource options. ```csharp public AppInstallationRepositories(string name, AppInstallationRepositoriesArgs args, CustomResourceOptions? opts = null); ``` -------------------------------- ### Get Codespaces User Secrets - TypeScript Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacesusersecrets Use this data source to retrieve the list of codespaces secrets of the user. This example shows the TypeScript implementation. ```typescript import * as pulumi from "@pulumi/pulumi"; import * as github from "@pulumi/github"; const example = github.getCodespacesUserSecrets({}); ``` -------------------------------- ### Constructor Example - Python Source: https://www.pulumi.com/registry/packages/github/api-docs/actionsrepositorypermissions Use this snippet to create a new ActionsRepositoryPermissions resource in Python. All required arguments must be supplied. ```python actions_repository_permissions_resource = github.ActionsRepositoryPermissions("actionsRepositoryPermissionsResource", repository="string", allowed_actions="string", allowed_actions_config={ "github_owned_allowed": False, "patterns_alloweds": ["string"], "verified_allowed": False, }, enabled=False, sha_pinning_required=False) ``` -------------------------------- ### Get Actions Registration Token - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsregistrationtoken Fetches a GitHub Actions registration token using Java. This example demonstrates the builder pattern for arguments. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.GithubFunctions; import com.pulumi.github.inputs.GetActionsRegistrationTokenArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var example = GithubFunctions.getActionsRegistrationToken(GetActionsRegistrationTokenArgs.builder() .repository("example_repo") .build()); } } ``` -------------------------------- ### Get Branch - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/getbranch Retrieves branch information for 'development' in the 'example' repository using the Java SDK. Ensure correct imports for Pulumi and the GitHub provider. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.GithubFunctions; import com.pulumi.github.inputs.GetBranchArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var development = GithubFunctions.getBranch(GetBranchArgs.builder() .repository("example") .branch("development") .build()); } } ``` -------------------------------- ### Constructor Syntax Source: https://www.pulumi.com/registry/packages/github/api-docs/enterpriseactionsworkflowpermissions Examples of how to instantiate the EnterpriseActionsWorkflowPermissions resource in various languages. ```APIDOC ## Constructor Syntax ### TypeScript ```typescript new EnterpriseActionsWorkflowPermissions(name: string, args: EnterpriseActionsWorkflowPermissionsArgs, opts?: CustomResourceOptions); ``` ### Python ```python @overload def EnterpriseActionsWorkflowPermissions(resource_name: str, args: EnterpriseActionsWorkflowPermissionsArgs, opts: Optional[ResourceOptions] = None) @overload def EnterpriseActionsWorkflowPermissions(resource_name: str, opts: Optional[ResourceOptions] = None, enterprise_slug: Optional[str] = None, can_approve_pull_request_reviews: Optional[bool] = None, default_workflow_permissions: Optional[str] = None) ``` ### Go ```go func NewEnterpriseActionsWorkflowPermissions(ctx *Context, name string, args EnterpriseActionsWorkflowPermissionsArgs, opts ...ResourceOption) (*EnterpriseActionsWorkflowPermissions, error) ``` ### C# ```csharp public EnterpriseActionsWorkflowPermissions(string name, EnterpriseActionsWorkflowPermissionsArgs args, CustomResourceOptions? opts = null); ``` ### Java ```java public EnterpriseActionsWorkflowPermissions(String name, EnterpriseActionsWorkflowPermissionsArgs args) public EnterpriseActionsWorkflowPermissions(String name, EnterpriseActionsWorkflowPermissionsArgs args, CustomResourceOptions options) ``` ### YAML ```yaml type: github:EnterpriseActionsWorkflowPermissions properties: # The arguments to resource properties. options: # Bag of options to control resource's behavior. ``` ``` -------------------------------- ### Create GitHub Actions Organization Secret and Associate with Repositories (Go) Source: https://www.pulumi.com/registry/packages/github/api-docs/actionsorganizationsecretrepositories This Go example illustrates how to set up an organization secret, a repository, and then grant the secret access to that repository via Pulumi. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := github.NewActionsOrganizationSecret(ctx, "example", &github.ActionsOrganizationSecretArgs{ SecretName: pulumi.String("mysecret"), Value: pulumi.String("foo"), Visibility: pulumi.String("selected"), }) if err != nil { return err } exampleRepository, err := github.NewRepository(ctx, "example", &github.RepositoryArgs{ Name: pulumi.String("myrepo"), Visibility: pulumi.String("public"), }) if err != nil { return err } _, err = github.NewActionsOrganizationSecretRepositories(ctx, "example", &github.ActionsOrganizationSecretRepositoriesArgs{ SecretName: example.Name, SelectedRepositoryIds: pulumi.IntArray{ exampleRepository.RepoId, }, }) if err != nil { return err } return nil }) } ``` -------------------------------- ### Constructor Example - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/actionsrepositorypermissions Use this snippet to create a new ActionsRepositoryPermissions resource in Java. Ensure all necessary properties are set. ```java var actionsRepositoryPermissionsResource = new ActionsRepositoryPermissions("actionsRepositoryPermissionsResource", ActionsRepositoryPermissionsArgs.builder() .repository("string") .allowedActions("string") .allowedActionsConfig(ActionsRepositoryPermissionsAllowedActionsConfigArgs.builder() .githubOwnedAllowed(false) .patternsAlloweds("string") .verifiedAllowed(false) .build()) .enabled(false) .shaPinningRequired(false) .build()); ``` -------------------------------- ### Get repository environment variables - Java Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsenvironmentvariables Retrieves GitHub Actions environment variables using the Java SDK. This example shows how to configure and invoke the data source. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.github.GithubFunctions; import com.pulumi.github.inputs.GetActionsEnvironmentVariablesArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var example = GithubFunctions.getActionsEnvironmentVariables(GetActionsEnvironmentVariablesArgs.builder() .name("exampleRepo") .environment("exampleEnvironment") .build()); } } ``` -------------------------------- ### Get repository environment variables - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/getactionsenvironmentvariables Retrieves GitHub Actions environment variables using the Go SDK. This example demonstrates how to pass the context and arguments to the data source function. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := github.GetActionsEnvironmentVariables(ctx, &github.GetActionsEnvironmentVariablesArgs{ Name: pulumi.StringRef("exampleRepo"), Environment: "exampleEnvironment", }, nil) if err != nil { return err } return nil }) } ``` -------------------------------- ### AppInstallationRepository Constructor Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepository Demonstrates how to create an instance of the AppInstallationRepository resource in TypeScript, Python, Go, C#, and Java. ```APIDOC ## AppInstallationRepository Constructor ### Description Instantiates a new AppInstallationRepository resource. ### Parameters * **name** (string) - Required - The unique name of the resource. * **args** (AppInstallationRepositoryArgs) - Required - The arguments to resource properties. * **opts** (CustomResourceOptions) - Optional - Bag of options to control resource's behavior. ``` ```APIDOC ## AppInstallationRepository Constructor (Python Overload) ### Description Instantiates a new AppInstallationRepository resource with optional arguments. ### Parameters * **resource_name** (str) - Required - The unique name of the resource. * **args** (AppInstallationRepositoryArgs) - Required - The arguments to resource properties. * **opts** (Optional[ResourceOptions]) - Optional - Bag of options to control resource's behavior. * **resource_name** (str) - Required - The unique name of the resource. * **opts** (Optional[ResourceOptions]) - Optional - Bag of options to control resource's behavior. * **installation_id** (Optional[str]) - Optional - The ID of the GitHub App installation. * **repository** (Optional[str]) - Optional - The name of the repository. ``` ```APIDOC ## AppInstallationRepository Constructor (Go) ### Description Creates a new AppInstallationRepository resource in Go. ### Parameters * **ctx** (Context) - Context object for the current deployment. * **name** (string) - Required - The unique name of the resource. * **args** (AppInstallationRepositoryArgs) - Required - The arguments to resource properties. * **opts** (ResourceOption) - Optional - Bag of options to control resource's behavior. ``` ```APIDOC ## AppInstallationRepository Constructor (C#) ### Description Instantiates a new AppInstallationRepository resource in C#. ### Parameters * **name** (string) - Required - The unique name of the resource. * **args** (AppInstallationRepositoryArgs) - Required - The arguments to resource properties. * **opts** (CustomResourceOptions?) - Optional - Bag of options to control resource's behavior. ``` ```APIDOC ## AppInstallationRepository Constructor (Java) ### Description Instantiates a new AppInstallationRepository resource in Java. ### Parameters * **name** (String) - Required - The unique name of the resource. * **args** (AppInstallationRepositoryArgs) - Required - The arguments to resource properties. * **options** (CustomResourceOptions) - Optional - Bag of options to control resource's behavior. ``` -------------------------------- ### Get Codespaces Secrets - Go Source: https://www.pulumi.com/registry/packages/github/api-docs/getcodespacessecrets Retrieves codespaces secrets for a specified GitHub repository. Use either the 'Name' or 'FullName' argument. Ensure correct Pulumi and GitHub provider setup. ```go package main import ( "github.com/pulumi/pulumi-github/sdk/v6/go/github" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := github.GetCodespacesSecrets(ctx, &github.GetCodespacesSecretsArgs{ Name: pulumi.StringRef("example_repository"), }, nil) if err != nil { return err } _, err = github.GetCodespacesSecrets(ctx, &github.GetCodespacesSecretsArgs{ FullName: pulumi.StringRef("org/example_repository"), }, nil) if err != nil { return err } return nil }) } ``` -------------------------------- ### Get AppInstallationRepository Resource (Python) Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepository Use this method to retrieve the state of an existing AppInstallationRepository resource using its name and ID. Optional arguments for installation ID, repository ID, and repository name can be provided. ```python @staticmethod def get(resource_name: str, id: str, opts: Optional[ResourceOptions] = None, installation_id: Optional[str] = None, repo_id: Optional[int] = None, repository: Optional[str] = None) -> AppInstallationRepository ``` -------------------------------- ### Import AppInstallationRepository Resource Source: https://www.pulumi.com/registry/packages/github/api-docs/appinstallationrepository Import an existing GitHub App Installation Repository resource into your Pulumi stack using the format `installation_id:repository`. ```bash $ pulumi import github:index/appInstallationRepository:AppInstallationRepository terraform_repo 1234567:terraform ``` -------------------------------- ### Python Get App Token Signatures Source: https://www.pulumi.com/registry/packages/github/api-docs/getapptoken Shows the function signatures for getAppToken in Python. The direct form returns a GetAppTokenResult, while the output form returns an Output-wrapped result. Both accept optional arguments for app ID, installation ID, and PEM file. ```python def get_app_token(app_id: Optional[str] = None, installation_id: Optional[str] = None, pem_file: Optional[str] = None, opts: Optional[InvokeOptions] = None) -> GetAppTokenResult def get_app_token_output(app_id: Optional[pulumi.Input[str]] = None, installation_id: Optional[pulumi.Input[str]] = None, pem_file: Optional[pulumi.Input[str]] = None, opts: Optional[InvokeOptions] = None) -> Output[GetAppTokenResult] ``` -------------------------------- ### Create a DependabotOrganizationSecret resource in Java Source: https://www.pulumi.com/registry/packages/github/api-docs/dependabotorganizationsecret Example of creating a new DependabotOrganizationSecret resource. All input properties are placeholders and should be replaced with actual values. ```java var dependabotOrganizationSecretResource = new DependabotOrganizationSecret("dependabotOrganizationSecretResource", DependabotOrganizationSecretArgs.builder() .secretName("string") .visibility("string") .keyId("string") .value("string") .valueEncrypted("string") .build()); ```