@pulumi/github
Version:
A Pulumi package for creating and managing github cloud resources.
397 lines (396 loc) • 16 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* This resource allows you to create and manage settings for a GitHub Organization.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as github from "@pulumi/github";
*
* const test = new github.OrganizationSettings("test", {
* billingEmail: "test@example.com",
* company: "Test Company",
* blog: "https://example.com",
* email: "test@example.com",
* twitterUsername: "Test",
* location: "Test Location",
* name: "Test Name",
* description: "Test Description",
* hasOrganizationProjects: true,
* hasRepositoryProjects: true,
* defaultRepositoryPermission: "read",
* membersCanCreateRepositories: true,
* membersCanCreatePublicRepositories: true,
* membersCanCreatePrivateRepositories: true,
* membersCanCreateInternalRepositories: true,
* membersCanCreatePages: true,
* membersCanCreatePublicPages: true,
* membersCanCreatePrivatePages: true,
* membersCanForkPrivateRepositories: true,
* webCommitSignoffRequired: true,
* advancedSecurityEnabledForNewRepositories: false,
* dependabotAlertsEnabledForNewRepositories: false,
* dependabotSecurityUpdatesEnabledForNewRepositories: false,
* dependencyGraphEnabledForNewRepositories: false,
* secretScanningEnabledForNewRepositories: false,
* secretScanningPushProtectionEnabledForNewRepositories: false,
* });
* ```
*
* ## Import
*
* Organization settings can be imported using the `id` of the organization.
* The `id` of the organization can be found using the [get an organization](https://docs.github.com/en/rest/orgs/orgs#get-an-organization) API.
*
* ```sh
* $ pulumi import github:index/organizationSettings:OrganizationSettings test 123456789
* ```
*/
export declare class OrganizationSettings extends pulumi.CustomResource {
/**
* Get an existing OrganizationSettings resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OrganizationSettingsState, opts?: pulumi.CustomResourceOptions): OrganizationSettings;
/**
* Returns true if the given object is an instance of OrganizationSettings. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is OrganizationSettings;
/**
* Whether or not advanced security is enabled for new repositories. Defaults to `false`.
*/
readonly advancedSecurityEnabledForNewRepositories: pulumi.Output<boolean | undefined>;
/**
* The billing email address for the organization.
*/
readonly billingEmail: pulumi.Output<string>;
/**
* The blog URL for the organization.
*/
readonly blog: pulumi.Output<string | undefined>;
/**
* The company name for the organization.
*/
readonly company: pulumi.Output<string | undefined>;
/**
* The default permission for organization members to create new repositories. Can be one of `read`, `write`, `admin`, or `none`. Defaults to `read`.
*/
readonly defaultRepositoryPermission: pulumi.Output<string | undefined>;
/**
* Whether or not dependabot alerts are enabled for new repositories. Defaults to `false`.
*/
readonly dependabotAlertsEnabledForNewRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not dependabot security updates are enabled for new repositories. Defaults to `false`.
*/
readonly dependabotSecurityUpdatesEnabledForNewRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not dependency graph is enabled for new repositories. Defaults to `false`.
*/
readonly dependencyGraphEnabledForNewRepositories: pulumi.Output<boolean | undefined>;
/**
* The description for the organization.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* The email address for the organization.
*/
readonly email: pulumi.Output<string | undefined>;
/**
* Whether or not organization projects are enabled for the organization.
*/
readonly hasOrganizationProjects: pulumi.Output<boolean | undefined>;
/**
* Whether or not repository projects are enabled for the organization.
*/
readonly hasRepositoryProjects: pulumi.Output<boolean | undefined>;
/**
* The location for the organization.
*/
readonly location: pulumi.Output<string | undefined>;
/**
* Whether or not organization members can create new internal repositories. For Enterprise Organizations only.
*/
readonly membersCanCreateInternalRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can create new pages. Defaults to `true`.
*/
readonly membersCanCreatePages: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can create new private pages. Defaults to `true`.
*/
readonly membersCanCreatePrivatePages: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can create new private repositories. Defaults to `true`.
*/
readonly membersCanCreatePrivateRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can create new public pages. Defaults to `true`.
*/
readonly membersCanCreatePublicPages: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can create new public repositories. Defaults to `true`.
*/
readonly membersCanCreatePublicRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can create new repositories. Defaults to `true`.
*/
readonly membersCanCreateRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not organization members can fork private repositories. Defaults to `false`.
*/
readonly membersCanForkPrivateRepositories: pulumi.Output<boolean | undefined>;
/**
* The name for the organization.
*/
readonly name: pulumi.Output<string>;
/**
* Whether or not secret scanning is enabled for new repositories. Defaults to `false`.
*/
readonly secretScanningEnabledForNewRepositories: pulumi.Output<boolean | undefined>;
/**
* Whether or not secret scanning push protection is enabled for new repositories. Defaults to `false`.
*/
readonly secretScanningPushProtectionEnabledForNewRepositories: pulumi.Output<boolean | undefined>;
/**
* The Twitter username for the organization.
*/
readonly twitterUsername: pulumi.Output<string | undefined>;
/**
* Whether or not commit signatures are required for commits to the organization. Defaults to `false`.
*/
readonly webCommitSignoffRequired: pulumi.Output<boolean | undefined>;
/**
* Create a OrganizationSettings resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: OrganizationSettingsArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering OrganizationSettings resources.
*/
export interface OrganizationSettingsState {
/**
* Whether or not advanced security is enabled for new repositories. Defaults to `false`.
*/
advancedSecurityEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* The billing email address for the organization.
*/
billingEmail?: pulumi.Input<string>;
/**
* The blog URL for the organization.
*/
blog?: pulumi.Input<string>;
/**
* The company name for the organization.
*/
company?: pulumi.Input<string>;
/**
* The default permission for organization members to create new repositories. Can be one of `read`, `write`, `admin`, or `none`. Defaults to `read`.
*/
defaultRepositoryPermission?: pulumi.Input<string>;
/**
* Whether or not dependabot alerts are enabled for new repositories. Defaults to `false`.
*/
dependabotAlertsEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* Whether or not dependabot security updates are enabled for new repositories. Defaults to `false`.
*/
dependabotSecurityUpdatesEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* Whether or not dependency graph is enabled for new repositories. Defaults to `false`.
*/
dependencyGraphEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* The description for the organization.
*/
description?: pulumi.Input<string>;
/**
* The email address for the organization.
*/
email?: pulumi.Input<string>;
/**
* Whether or not organization projects are enabled for the organization.
*/
hasOrganizationProjects?: pulumi.Input<boolean>;
/**
* Whether or not repository projects are enabled for the organization.
*/
hasRepositoryProjects?: pulumi.Input<boolean>;
/**
* The location for the organization.
*/
location?: pulumi.Input<string>;
/**
* Whether or not organization members can create new internal repositories. For Enterprise Organizations only.
*/
membersCanCreateInternalRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new pages. Defaults to `true`.
*/
membersCanCreatePages?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new private pages. Defaults to `true`.
*/
membersCanCreatePrivatePages?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new private repositories. Defaults to `true`.
*/
membersCanCreatePrivateRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new public pages. Defaults to `true`.
*/
membersCanCreatePublicPages?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new public repositories. Defaults to `true`.
*/
membersCanCreatePublicRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new repositories. Defaults to `true`.
*/
membersCanCreateRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can fork private repositories. Defaults to `false`.
*/
membersCanForkPrivateRepositories?: pulumi.Input<boolean>;
/**
* The name for the organization.
*/
name?: pulumi.Input<string>;
/**
* Whether or not secret scanning is enabled for new repositories. Defaults to `false`.
*/
secretScanningEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* Whether or not secret scanning push protection is enabled for new repositories. Defaults to `false`.
*/
secretScanningPushProtectionEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* The Twitter username for the organization.
*/
twitterUsername?: pulumi.Input<string>;
/**
* Whether or not commit signatures are required for commits to the organization. Defaults to `false`.
*/
webCommitSignoffRequired?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a OrganizationSettings resource.
*/
export interface OrganizationSettingsArgs {
/**
* Whether or not advanced security is enabled for new repositories. Defaults to `false`.
*/
advancedSecurityEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* The billing email address for the organization.
*/
billingEmail: pulumi.Input<string>;
/**
* The blog URL for the organization.
*/
blog?: pulumi.Input<string>;
/**
* The company name for the organization.
*/
company?: pulumi.Input<string>;
/**
* The default permission for organization members to create new repositories. Can be one of `read`, `write`, `admin`, or `none`. Defaults to `read`.
*/
defaultRepositoryPermission?: pulumi.Input<string>;
/**
* Whether or not dependabot alerts are enabled for new repositories. Defaults to `false`.
*/
dependabotAlertsEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* Whether or not dependabot security updates are enabled for new repositories. Defaults to `false`.
*/
dependabotSecurityUpdatesEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* Whether or not dependency graph is enabled for new repositories. Defaults to `false`.
*/
dependencyGraphEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* The description for the organization.
*/
description?: pulumi.Input<string>;
/**
* The email address for the organization.
*/
email?: pulumi.Input<string>;
/**
* Whether or not organization projects are enabled for the organization.
*/
hasOrganizationProjects?: pulumi.Input<boolean>;
/**
* Whether or not repository projects are enabled for the organization.
*/
hasRepositoryProjects?: pulumi.Input<boolean>;
/**
* The location for the organization.
*/
location?: pulumi.Input<string>;
/**
* Whether or not organization members can create new internal repositories. For Enterprise Organizations only.
*/
membersCanCreateInternalRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new pages. Defaults to `true`.
*/
membersCanCreatePages?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new private pages. Defaults to `true`.
*/
membersCanCreatePrivatePages?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new private repositories. Defaults to `true`.
*/
membersCanCreatePrivateRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new public pages. Defaults to `true`.
*/
membersCanCreatePublicPages?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new public repositories. Defaults to `true`.
*/
membersCanCreatePublicRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can create new repositories. Defaults to `true`.
*/
membersCanCreateRepositories?: pulumi.Input<boolean>;
/**
* Whether or not organization members can fork private repositories. Defaults to `false`.
*/
membersCanForkPrivateRepositories?: pulumi.Input<boolean>;
/**
* The name for the organization.
*/
name?: pulumi.Input<string>;
/**
* Whether or not secret scanning is enabled for new repositories. Defaults to `false`.
*/
secretScanningEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* Whether or not secret scanning push protection is enabled for new repositories. Defaults to `false`.
*/
secretScanningPushProtectionEnabledForNewRepositories?: pulumi.Input<boolean>;
/**
* The Twitter username for the organization.
*/
twitterUsername?: pulumi.Input<string>;
/**
* Whether or not commit signatures are required for commits to the organization. Defaults to `false`.
*/
webCommitSignoffRequired?: pulumi.Input<boolean>;
}