UNPKG

@pulumi/azuredevops

Version:

A Pulumi package for creating and managing Azure DevOps.

175 lines (174 loc) 6.8 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages Pipeline Settings for Azure DevOps projects * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuredevops from "@pulumi/azuredevops"; * * const example = new azuredevops.Project("example", { * name: "Example Project", * visibility: "private", * versionControl: "Git", * workItemTemplate: "Agile", * description: "Managed by Pulumi", * }); * const exampleProjectPipelineSettings = new azuredevops.ProjectPipelineSettings("example", { * projectId: example.id, * enforceJobScope: true, * enforceReferencedRepoScopedToken: false, * enforceSettableVar: true, * publishPipelineMetadata: false, * statusBadgesArePrivate: true, * }); * ``` * * ## Relevant Links * * No official documentation available * * ## PAT Permissions Required * * - Full Access * * ## Import * * Azure DevOps feature settings can be imported using the project id, e.g. * * ```sh * $ pulumi import azuredevops:index/projectPipelineSettings:ProjectPipelineSettings example 00000000-0000-0000-0000-000000000000 * ``` */ export declare class ProjectPipelineSettings extends pulumi.CustomResource { /** * Get an existing ProjectPipelineSettings 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?: ProjectPipelineSettingsState, opts?: pulumi.CustomResourceOptions): ProjectPipelineSettings; /** * Returns true if the given object is an instance of ProjectPipelineSettings. 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 ProjectPipelineSettings; /** * Limit job authorization scope to current project for non-release pipelines. */ readonly enforceJobScope: pulumi.Output<boolean>; /** * Limit job authorization scope to current project for release pipelines. * * > **NOTE:** The settings at the organization will override settings specified on the project. * For example, if `enforceJobScope` is true at the organization, the `azuredevops.ProjectPipelineSettings` resource cannot set it to false. * In this scenario, the plan will always show that the resource is trying to change `enforceJobScope` from `true` to `false`. */ readonly enforceJobScopeForRelease: pulumi.Output<boolean>; /** * Protect access to repositories in YAML pipelines. */ readonly enforceReferencedRepoScopedToken: pulumi.Output<boolean>; /** * Limit variables that can be set at queue time. */ readonly enforceSettableVar: pulumi.Output<boolean>; /** * The ID of the project for which the project pipeline settings will be managed. */ readonly projectId: pulumi.Output<string>; /** * Publish metadata from pipelines. */ readonly publishPipelineMetadata: pulumi.Output<boolean>; /** * Disable anonymous access to badges. */ readonly statusBadgesArePrivate: pulumi.Output<boolean>; /** * Create a ProjectPipelineSettings 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: ProjectPipelineSettingsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ProjectPipelineSettings resources. */ export interface ProjectPipelineSettingsState { /** * Limit job authorization scope to current project for non-release pipelines. */ enforceJobScope?: pulumi.Input<boolean>; /** * Limit job authorization scope to current project for release pipelines. * * > **NOTE:** The settings at the organization will override settings specified on the project. * For example, if `enforceJobScope` is true at the organization, the `azuredevops.ProjectPipelineSettings` resource cannot set it to false. * In this scenario, the plan will always show that the resource is trying to change `enforceJobScope` from `true` to `false`. */ enforceJobScopeForRelease?: pulumi.Input<boolean>; /** * Protect access to repositories in YAML pipelines. */ enforceReferencedRepoScopedToken?: pulumi.Input<boolean>; /** * Limit variables that can be set at queue time. */ enforceSettableVar?: pulumi.Input<boolean>; /** * The ID of the project for which the project pipeline settings will be managed. */ projectId?: pulumi.Input<string>; /** * Publish metadata from pipelines. */ publishPipelineMetadata?: pulumi.Input<boolean>; /** * Disable anonymous access to badges. */ statusBadgesArePrivate?: pulumi.Input<boolean>; } /** * The set of arguments for constructing a ProjectPipelineSettings resource. */ export interface ProjectPipelineSettingsArgs { /** * Limit job authorization scope to current project for non-release pipelines. */ enforceJobScope?: pulumi.Input<boolean>; /** * Limit job authorization scope to current project for release pipelines. * * > **NOTE:** The settings at the organization will override settings specified on the project. * For example, if `enforceJobScope` is true at the organization, the `azuredevops.ProjectPipelineSettings` resource cannot set it to false. * In this scenario, the plan will always show that the resource is trying to change `enforceJobScope` from `true` to `false`. */ enforceJobScopeForRelease?: pulumi.Input<boolean>; /** * Protect access to repositories in YAML pipelines. */ enforceReferencedRepoScopedToken?: pulumi.Input<boolean>; /** * Limit variables that can be set at queue time. */ enforceSettableVar?: pulumi.Input<boolean>; /** * The ID of the project for which the project pipeline settings will be managed. */ projectId: pulumi.Input<string>; /** * Publish metadata from pipelines. */ publishPipelineMetadata?: pulumi.Input<boolean>; /** * Disable anonymous access to badges. */ statusBadgesArePrivate?: pulumi.Input<boolean>; }