UNPKG

@pulumi/github

Version:

A Pulumi package for creating and managing github cloud resources.

186 lines 10.8 kB
"use strict"; // *** 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