import * as pulumi from "@pulumi/pulumi"; /** * This resource allows you to create and manage custom properties for a GitHub organization. * * Custom properties enable you to add metadata to repositories within your organization. You can use custom properties to add context about repositories, such as who owns them, when they expire, or compliance requirements. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const environment = new github.OrganizationCustomProperties("environment", { * propertyName: "environment", * valueType: "single_select", * required: true, * description: "The deployment environment for this repository", * defaultValue: "development", * allowedValues: [ * "development", * "staging", * "production", * ], * }); * ``` * * ### Allow Repository Actors To Edit * * This example shows how to allow repository administrators to edit the property values: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const teamContact = new github.OrganizationCustomProperties("team_contact", { * propertyName: "team_contact", * valueType: "string", * required: false, * description: "Contact information for the team managing this repository", * valuesEditableBy: "org_and_repo_actors", * }); * ``` * * ### Text Property * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const owner = new github.OrganizationCustomProperties("owner", { * propertyName: "owner", * valueType: "string", * required: true, * description: "The team or individual responsible for this repository", * }); * ``` * * ### Boolean Property * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const archived = new github.OrganizationCustomProperties("archived", { * propertyName: "archived", * valueType: "true_false", * required: false, * description: "Whether this repository is archived", * defaultValue: "false", * }); * ``` * * ## Import * * Organization custom properties can be imported using the property name: * * ```sh * $ pulumi import github:index/organizationCustomProperties:OrganizationCustomProperties environment environment * ``` */ export declare class OrganizationCustomProperties extends pulumi.CustomResource { /** * Get an existing OrganizationCustomProperties 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, state?: OrganizationCustomPropertiesState, opts?: pulumi.CustomResourceOptions): OrganizationCustomProperties; /** * Returns true if the given object is an instance of OrganizationCustomProperties. 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 OrganizationCustomProperties; /** * List of allowed values for the custom property. Only applicable when `valueType` is `singleSelect` or `multiSelect`. */ readonly allowedValues: pulumi.Output; /** * The default value of the custom property. */ readonly defaultValue: pulumi.Output; /** * The description of the custom property. */ readonly description: pulumi.Output; /** * The name of the custom property. */ readonly propertyName: pulumi.Output; /** * Whether the custom property is required. Defaults to `false`. */ readonly required: pulumi.Output; /** * The type of the custom property. Can be one of `string`, `singleSelect`, `multiSelect`, or `trueFalse`. Defaults to `string`. */ readonly valueType: pulumi.Output; /** * Who can edit the values of the custom property. Can be one of `orgActors` or `orgAndRepoActors`. When set to `orgActors` (the default), only organization owners can edit the property values on repositories. When set to `orgAndRepoActors`, both organization owners and repository administrators with the custom properties permission can edit the values. */ readonly valuesEditableBy: pulumi.Output; /** * Create a OrganizationCustomProperties 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: OrganizationCustomPropertiesArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering OrganizationCustomProperties resources. */ export interface OrganizationCustomPropertiesState { /** * List of allowed values for the custom property. Only applicable when `valueType` is `singleSelect` or `multiSelect`. */ allowedValues?: pulumi.Input[] | undefined>; /** * The default value of the custom property. */ defaultValue?: pulumi.Input; /** * The description of the custom property. */ description?: pulumi.Input; /** * The name of the custom property. */ propertyName?: pulumi.Input; /** * Whether the custom property is required. Defaults to `false`. */ required?: pulumi.Input; /** * The type of the custom property. Can be one of `string`, `singleSelect`, `multiSelect`, or `trueFalse`. Defaults to `string`. */ valueType?: pulumi.Input; /** * Who can edit the values of the custom property. Can be one of `orgActors` or `orgAndRepoActors`. When set to `orgActors` (the default), only organization owners can edit the property values on repositories. When set to `orgAndRepoActors`, both organization owners and repository administrators with the custom properties permission can edit the values. */ valuesEditableBy?: pulumi.Input; } /** * The set of arguments for constructing a OrganizationCustomProperties resource. */ export interface OrganizationCustomPropertiesArgs { /** * List of allowed values for the custom property. Only applicable when `valueType` is `singleSelect` or `multiSelect`. */ allowedValues?: pulumi.Input[] | undefined>; /** * The default value of the custom property. */ defaultValue?: pulumi.Input; /** * The description of the custom property. */ description?: pulumi.Input; /** * The name of the custom property. */ propertyName: pulumi.Input; /** * Whether the custom property is required. Defaults to `false`. */ required?: pulumi.Input; /** * The type of the custom property. Can be one of `string`, `singleSelect`, `multiSelect`, or `trueFalse`. Defaults to `string`. */ valueType?: pulumi.Input; /** * Who can edit the values of the custom property. Can be one of `orgActors` or `orgAndRepoActors`. When set to `orgActors` (the default), only organization owners can edit the property values on repositories. When set to `orgAndRepoActors`, both organization owners and repository administrators with the custom properties permission can edit the values. */ valuesEditableBy?: pulumi.Input; } //# sourceMappingURL=organizationCustomProperties.d.ts.map