UNPKG

@pulumi/azuredevops

Version:

A Pulumi package for creating and managing Azure DevOps.

174 lines 8.31 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.WorkitemtrackingprocessControl = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Manages a control within a group for a work item type. Controls can be field controls or contribution controls (extensions). * * ## Example Usage * * ### Basic Field Control * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuredevops from "@pulumi/azuredevops"; * * const example = new azuredevops.WorkitemtrackingprocessProcess("example", { * name: "example-process", * parentProcessTypeId: "adcc42ab-9882-485e-a3ed-7678f01f66bc", * }); * const exampleWorkitemtrackingprocessWorkitemtype = new azuredevops.WorkitemtrackingprocessWorkitemtype("example", { * processId: example.id, * name: "example", * }); * const exampleWorkitemtrackingprocessGroup = new azuredevops.WorkitemtrackingprocessGroup("example", { * processId: example.id, * workItemTypeReferenceName: exampleWorkitemtrackingprocessWorkitemtype.referenceName, * pageId: exampleWorkitemtrackingprocessWorkitemtype.pages.apply(pages => pages[0].id), * sectionId: exampleWorkitemtrackingprocessWorkitemtype.pages.apply(pages => pages[0].sections?.[0]?.id), * label: "Custom Group", * }); * const exampleWorkitemtrackingprocessControl = new azuredevops.WorkitemtrackingprocessControl("example", { * processId: example.id, * workItemTypeReferenceName: exampleWorkitemtrackingprocessWorkitemtype.referenceName, * groupId: exampleWorkitemtrackingprocessGroup.id, * controlId: "System.Title", * label: "Title", * }); * ``` * * ### Contribution Control (Extension) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuredevops from "@pulumi/azuredevops"; * * const example = new azuredevops.WorkitemtrackingprocessProcess("example", { * name: "example-process", * parentProcessTypeId: "adcc42ab-9882-485e-a3ed-7678f01f66bc", * }); * const exampleWorkitemtrackingprocessWorkitemtype = new azuredevops.WorkitemtrackingprocessWorkitemtype("example", { * processId: example.id, * name: "example", * }); * const exampleWorkitemtrackingprocessGroup = new azuredevops.WorkitemtrackingprocessGroup("example", { * processId: example.id, * workItemTypeReferenceName: exampleWorkitemtrackingprocessWorkitemtype.referenceName, * pageId: exampleWorkitemtrackingprocessWorkitemtype.pages.apply(pages => pages[0].id), * sectionId: exampleWorkitemtrackingprocessWorkitemtype.pages.apply(pages => pages[0].sections?.[0]?.id), * label: "Custom Group", * }); * const exampleWorkitemtrackingprocessControl = new azuredevops.WorkitemtrackingprocessControl("example", { * processId: example.id, * workItemTypeReferenceName: exampleWorkitemtrackingprocessWorkitemtype.referenceName, * groupId: exampleWorkitemtrackingprocessGroup.id, * controlId: "MultiValueControl", * isContribution: true, * contribution: { * contributionId: "ms-devlabs.vsts-extensions-multivalue-control.multivalue-form-control", * height: 50, * inputs: { * FieldName: "System.Tags", * Values: "Option1;Option2;Option3", * }, * }, * }); * ``` * * ## Relevant Links * * - [Azure DevOps Service REST API 7.1 - Controls](https://learn.microsoft.com/en-us/rest/api/azure/devops/processes/controls?view=azure-devops-rest-7.1) * * ## Import * * Controls can be imported using the complete resource id `process_id/work_item_type_reference_name/group_id/control_id`, e.g. * * ```sh * $ pulumi import azuredevops:index/workitemtrackingprocessControl:WorkitemtrackingprocessControl example 00000000-0000-0000-0000-000000000000/MyProcess.CustomWorkItemType/group-id/System.Title * ``` */ class WorkitemtrackingprocessControl extends pulumi.CustomResource { /** * Get an existing WorkitemtrackingprocessControl 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 WorkitemtrackingprocessControl(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of WorkitemtrackingprocessControl. 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'] === WorkitemtrackingprocessControl.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["contribution"] = state?.contribution; resourceInputs["controlId"] = state?.controlId; resourceInputs["controlType"] = state?.controlType; resourceInputs["groupId"] = state?.groupId; resourceInputs["inherited"] = state?.inherited; resourceInputs["isContribution"] = state?.isContribution; resourceInputs["label"] = state?.label; resourceInputs["metadata"] = state?.metadata; resourceInputs["order"] = state?.order; resourceInputs["overridden"] = state?.overridden; resourceInputs["processId"] = state?.processId; resourceInputs["readOnly"] = state?.readOnly; resourceInputs["visible"] = state?.visible; resourceInputs["watermark"] = state?.watermark; resourceInputs["workItemTypeReferenceName"] = state?.workItemTypeReferenceName; } else { const args = argsOrState; if (args?.controlId === undefined && !opts.urn) { throw new Error("Missing required property 'controlId'"); } if (args?.groupId === undefined && !opts.urn) { throw new Error("Missing required property 'groupId'"); } if (args?.processId === undefined && !opts.urn) { throw new Error("Missing required property 'processId'"); } if (args?.workItemTypeReferenceName === undefined && !opts.urn) { throw new Error("Missing required property 'workItemTypeReferenceName'"); } resourceInputs["contribution"] = args?.contribution; resourceInputs["controlId"] = args?.controlId; resourceInputs["groupId"] = args?.groupId; resourceInputs["isContribution"] = args?.isContribution; resourceInputs["label"] = args?.label; resourceInputs["metadata"] = args?.metadata; resourceInputs["order"] = args?.order; resourceInputs["processId"] = args?.processId; resourceInputs["readOnly"] = args?.readOnly; resourceInputs["visible"] = args?.visible; resourceInputs["watermark"] = args?.watermark; resourceInputs["workItemTypeReferenceName"] = args?.workItemTypeReferenceName; resourceInputs["controlType"] = undefined /*out*/; resourceInputs["inherited"] = undefined /*out*/; resourceInputs["overridden"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(WorkitemtrackingprocessControl.__pulumiType, name, resourceInputs, opts); } } exports.WorkitemtrackingprocessControl = WorkitemtrackingprocessControl; /** @internal */ WorkitemtrackingprocessControl.__pulumiType = 'azuredevops:index/workitemtrackingprocessControl:WorkitemtrackingprocessControl'; //# sourceMappingURL=workitemtrackingprocessControl.js.map