@pulumi/github
Version:
A Pulumi package for creating and managing github cloud resources.
186 lines • 10.8 kB
JavaScript
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.Repository = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* This resource allows you to create and manage repositories within your
* GitHub organization or personal account.
*
* > **Note** When used with GitHub App authentication, even GET requests must have the `contents:write` permission. Without it, the following arguments will be ignored, leading to unexpected behavior and confusing diffs: `allowMergeCommit`, `allowSquashMerge`, `allowRebaseMerge`, `mergeCommitTitle`, `mergeCommitMessage`, `squashMergeCommitTitle` and `squashMergeCommitMessage`.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as github from "@pulumi/github";
*
* const example = new github.Repository("example", {
* name: "example",
* description: "My awesome codebase",
* visibility: "public",
* template: {
* owner: "github",
* repository: "terraform-template-module",
* includeAllBranches: true,
* },
* });
* ```
*
* ### With GitHub Pages Enabled
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as github from "@pulumi/github";
*
* const example = new github.Repository("example", {
* name: "example",
* description: "My awesome web page",
* "private": false,
* pages: {
* source: {
* branch: "master",
* path: "/docs",
* },
* },
* });
* ```
*
* ## Import
*
* Repositories can be imported using the `name`, e.g.
*
* ```sh
* $ pulumi import github:index/repository:Repository terraform terraform
* ```
*/
class Repository extends pulumi.CustomResource {
/**
* Get an existing Repository 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, id, state, opts) {
return new Repository(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of Repository. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Repository.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["allowAutoMerge"] = state ? state.allowAutoMerge : undefined;
resourceInputs["allowMergeCommit"] = state ? state.allowMergeCommit : undefined;
resourceInputs["allowRebaseMerge"] = state ? state.allowRebaseMerge : undefined;
resourceInputs["allowSquashMerge"] = state ? state.allowSquashMerge : undefined;
resourceInputs["allowUpdateBranch"] = state ? state.allowUpdateBranch : undefined;
resourceInputs["archiveOnDestroy"] = state ? state.archiveOnDestroy : undefined;
resourceInputs["archived"] = state ? state.archived : undefined;
resourceInputs["autoInit"] = state ? state.autoInit : undefined;
resourceInputs["defaultBranch"] = state ? state.defaultBranch : undefined;
resourceInputs["deleteBranchOnMerge"] = state ? state.deleteBranchOnMerge : undefined;
resourceInputs["description"] = state ? state.description : undefined;
resourceInputs["etag"] = state ? state.etag : undefined;
resourceInputs["fullName"] = state ? state.fullName : undefined;
resourceInputs["gitCloneUrl"] = state ? state.gitCloneUrl : undefined;
resourceInputs["gitignoreTemplate"] = state ? state.gitignoreTemplate : undefined;
resourceInputs["hasDiscussions"] = state ? state.hasDiscussions : undefined;
resourceInputs["hasDownloads"] = state ? state.hasDownloads : undefined;
resourceInputs["hasIssues"] = state ? state.hasIssues : undefined;
resourceInputs["hasProjects"] = state ? state.hasProjects : undefined;
resourceInputs["hasWiki"] = state ? state.hasWiki : undefined;
resourceInputs["homepageUrl"] = state ? state.homepageUrl : undefined;
resourceInputs["htmlUrl"] = state ? state.htmlUrl : undefined;
resourceInputs["httpCloneUrl"] = state ? state.httpCloneUrl : undefined;
resourceInputs["ignoreVulnerabilityAlertsDuringRead"] = state ? state.ignoreVulnerabilityAlertsDuringRead : undefined;
resourceInputs["isTemplate"] = state ? state.isTemplate : undefined;
resourceInputs["licenseTemplate"] = state ? state.licenseTemplate : undefined;
resourceInputs["mergeCommitMessage"] = state ? state.mergeCommitMessage : undefined;
resourceInputs["mergeCommitTitle"] = state ? state.mergeCommitTitle : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["nodeId"] = state ? state.nodeId : undefined;
resourceInputs["pages"] = state ? state.pages : undefined;
resourceInputs["primaryLanguage"] = state ? state.primaryLanguage : undefined;
resourceInputs["private"] = state ? state.private : undefined;
resourceInputs["repoId"] = state ? state.repoId : undefined;
resourceInputs["securityAndAnalysis"] = state ? state.securityAndAnalysis : undefined;
resourceInputs["squashMergeCommitMessage"] = state ? state.squashMergeCommitMessage : undefined;
resourceInputs["squashMergeCommitTitle"] = state ? state.squashMergeCommitTitle : undefined;
resourceInputs["sshCloneUrl"] = state ? state.sshCloneUrl : undefined;
resourceInputs["svnUrl"] = state ? state.svnUrl : undefined;
resourceInputs["template"] = state ? state.template : undefined;
resourceInputs["topics"] = state ? state.topics : undefined;
resourceInputs["visibility"] = state ? state.visibility : undefined;
resourceInputs["vulnerabilityAlerts"] = state ? state.vulnerabilityAlerts : undefined;
resourceInputs["webCommitSignoffRequired"] = state ? state.webCommitSignoffRequired : undefined;
}
else {
const args = argsOrState;
resourceInputs["allowAutoMerge"] = args ? args.allowAutoMerge : undefined;
resourceInputs["allowMergeCommit"] = args ? args.allowMergeCommit : undefined;
resourceInputs["allowRebaseMerge"] = args ? args.allowRebaseMerge : undefined;
resourceInputs["allowSquashMerge"] = args ? args.allowSquashMerge : undefined;
resourceInputs["allowUpdateBranch"] = args ? args.allowUpdateBranch : undefined;
resourceInputs["archiveOnDestroy"] = args ? args.archiveOnDestroy : undefined;
resourceInputs["archived"] = args ? args.archived : undefined;
resourceInputs["autoInit"] = args ? args.autoInit : undefined;
resourceInputs["defaultBranch"] = args ? args.defaultBranch : undefined;
resourceInputs["deleteBranchOnMerge"] = args ? args.deleteBranchOnMerge : undefined;
resourceInputs["description"] = args ? args.description : undefined;
resourceInputs["gitignoreTemplate"] = args ? args.gitignoreTemplate : undefined;
resourceInputs["hasDiscussions"] = args ? args.hasDiscussions : undefined;
resourceInputs["hasDownloads"] = args ? args.hasDownloads : undefined;
resourceInputs["hasIssues"] = args ? args.hasIssues : undefined;
resourceInputs["hasProjects"] = args ? args.hasProjects : undefined;
resourceInputs["hasWiki"] = args ? args.hasWiki : undefined;
resourceInputs["homepageUrl"] = args ? args.homepageUrl : undefined;
resourceInputs["ignoreVulnerabilityAlertsDuringRead"] = args ? args.ignoreVulnerabilityAlertsDuringRead : undefined;
resourceInputs["isTemplate"] = args ? args.isTemplate : undefined;
resourceInputs["licenseTemplate"] = args ? args.licenseTemplate : undefined;
resourceInputs["mergeCommitMessage"] = args ? args.mergeCommitMessage : undefined;
resourceInputs["mergeCommitTitle"] = args ? args.mergeCommitTitle : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["pages"] = args ? args.pages : undefined;
resourceInputs["private"] = args ? args.private : undefined;
resourceInputs["securityAndAnalysis"] = args ? args.securityAndAnalysis : undefined;
resourceInputs["squashMergeCommitMessage"] = args ? args.squashMergeCommitMessage : undefined;
resourceInputs["squashMergeCommitTitle"] = args ? args.squashMergeCommitTitle : undefined;
resourceInputs["template"] = args ? args.template : undefined;
resourceInputs["topics"] = args ? args.topics : undefined;
resourceInputs["visibility"] = args ? args.visibility : undefined;
resourceInputs["vulnerabilityAlerts"] = args ? args.vulnerabilityAlerts : undefined;
resourceInputs["webCommitSignoffRequired"] = args ? args.webCommitSignoffRequired : undefined;
resourceInputs["etag"] = undefined /*out*/;
resourceInputs["fullName"] = undefined /*out*/;
resourceInputs["gitCloneUrl"] = undefined /*out*/;
resourceInputs["htmlUrl"] = undefined /*out*/;
resourceInputs["httpCloneUrl"] = undefined /*out*/;
resourceInputs["nodeId"] = undefined /*out*/;
resourceInputs["primaryLanguage"] = undefined /*out*/;
resourceInputs["repoId"] = undefined /*out*/;
resourceInputs["sshCloneUrl"] = undefined /*out*/;
resourceInputs["svnUrl"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Repository.__pulumiType, name, resourceInputs, opts);
}
}
exports.Repository = Repository;
/** @internal */
Repository.__pulumiType = 'github:index/repository:Repository';
//# sourceMappingURL=repository.js.map
;