@pulumi/azuredevops
Version:
A Pulumi package for creating and managing Azure DevOps.
1,491 lines • 74.2 kB
TypeScript
import * as outputs from "../types/output";
export interface BranchPolicyAutoReviewersSettings {
/**
* Required reviewers ids. Supports multiples user Ids.
*/
autoReviewerIds: string[];
/**
* Activity feed message, Message will appear in the activity feed of pull requests with automatically added reviewers.
*/
message?: string;
/**
* Minimum number of required reviewers. Defaults to `1`.
*
* > **Note** Has to be greater than `0`. Can only be greater than `1` when attribute `autoReviewerIds` contains exactly one group! Only has an effect when attribute `blocking` is set to `true`.
*/
minimumNumberOfReviewers?: number;
/**
* Filter path(s) on which the policy is applied. Supports absolute paths, wildcards and multiple paths. Example: /WebApp/Models/Data.cs, /WebApp/* or *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
*/
pathFilters?: string[];
/**
* A `scope` block as defined below. Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
*/
scopes: outputs.BranchPolicyAutoReviewersSettingsScope[];
/**
* Controls whether or not the submitter's vote counts. Defaults to `false`.
*/
submitterCanVote?: boolean;
}
export interface BranchPolicyAutoReviewersSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `matchType` is `DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `matchType` is `Exact`, this should be a qualified ref such as `refs/heads/master`. If `matchType` is `Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BranchPolicyBuildValidationSettings {
/**
* The ID of the build to monitor for the policy.
*/
buildDefinitionId: number;
/**
* The display name for the policy.
*/
displayName: string;
/**
* If a path filter is set, the policy will only apply when files which match the filter are changes. Not setting this field means that the policy will always apply. You can specify absolute paths and wildcards. Example: `["/WebApp/Models/Data.cs", "/WebApp/*", "*.cs"]`. Paths prefixed with "!" are excluded. Example: `["/WebApp/*", "!/WebApp/Tests/*"]`. Order is significant.
*/
filenamePatterns?: string[];
/**
* If set to true, the build will need to be manually queued. Defaults to `false`
*/
manualQueueOnly?: boolean;
/**
* True if the build should queue on source updates only. Defaults to `true`.
*/
queueOnSourceUpdateOnly?: boolean;
/**
* A `scope` block as defined below. Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
*/
scopes: outputs.BranchPolicyBuildValidationSettingsScope[];
/**
* The number of minutes for which the build is valid. If `0`, the build will not expire. Defaults to `720` (12 hours).
*
* > **Note** Combine `validDuration` and `queueOnSourceUpdateOnly` to set the build expiration.
* 1. Expire immediately when branch is updated: `valid_duration=0` and `queue_on_source_update_only=false`
* 2. Expire after a period of time : `valid_duration=360` and `queue_on_source_update_only=true`
* 3. Never expire: `valid_duration=0` and `queue_on_source_update_only=true`
*/
validDuration?: number;
}
export interface BranchPolicyBuildValidationSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `matchType` is `DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `matchType` is `Exact`, this should be a qualified ref such as `refs/heads/master`. If `matchType` is `Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BranchPolicyCommentResolutionSettings {
/**
* A `scope` block as defined below. Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
*/
scopes: outputs.BranchPolicyCommentResolutionSettingsScope[];
}
export interface BranchPolicyCommentResolutionSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `matchType` is `DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `matchType` is `Exact`, this should be a qualified ref such as `refs/heads/master`. If `matchType` is `Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BranchPolicyMergeTypesSettings {
/**
* Allow basic merge with no fast forward. Defaults to `false`.
*/
allowBasicNoFastForward?: boolean;
/**
* Allow rebase with fast forward. Defaults to `false`.
*/
allowRebaseAndFastForward?: boolean;
/**
* Allow rebase with merge commit. Defaults to `false`.
*/
allowRebaseWithMerge?: boolean;
/**
* Allow squash merge. Defaults to `false`
*/
allowSquash?: boolean;
/**
* A `scope` block as defined below. Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
*/
scopes: outputs.BranchPolicyMergeTypesSettingsScope[];
}
export interface BranchPolicyMergeTypesSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `matchType` is `DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `matchType` is `Exact`, this should be a qualified ref such as `refs/heads/master`. If `matchType` is `Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BranchPolicyMinReviewersSettings {
/**
* Allow completion even if some reviewers vote to wait or reject. Defaults to `false`.
*/
allowCompletionWithRejectsOrWaits?: boolean;
/**
* Prohibit the most recent pusher from approving their own changes. Defaults to `false`.
*/
lastPusherCannotApprove?: boolean;
/**
* On last iteration require vote. Defaults to `false`.
*/
onLastIterationRequireVote?: boolean;
/**
* When new changes are pushed reset all code reviewer votes. Defaults to `false`.
*
* > **Note:** If `onPushResetAllVotes` is `true` then `onPushResetApprovedVotes` will be set to `true`. To enable `onPushResetApprovedVotes`, you need explicitly set `onPushResetAllVotes` `false` or not configure.
*/
onPushResetAllVotes?: boolean;
/**
* When new changes are pushed reset all approval votes (does not reset votes to reject or wait). Defaults to `false`.
*/
onPushResetApprovedVotes?: boolean;
/**
* The number of reviewers needed to approve.
*/
reviewerCount?: number;
/**
* A `scope` block as defined below. Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
*/
scopes: outputs.BranchPolicyMinReviewersSettingsScope[];
/**
* Allow requesters to approve their own changes. Defaults to `false`.
*/
submitterCanVote?: boolean;
}
export interface BranchPolicyMinReviewersSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `matchType` is `DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `matchType` is `Exact`, this should be a qualified ref such as `refs/heads/master`. If `matchType` is `Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BranchPolicyStatusCheckSettings {
/**
* Policy applicability. If policy `applicability=default`, apply unless "Not Applicable"
* status is posted to the pull request. If policy `applicability=conditional`, policy is applied only after a status
* is posted to the pull request. Possible values `default`, `conditional`. Defaults to `default`.
*/
applicability?: string;
/**
* The authorized user can post the status.
*/
authorId?: string;
/**
* The display name.
*/
displayName?: string;
/**
* If a path filter is set, the policy will only apply when files which match the filter are changed. Not setting this field means that the policy is always applied.
*
* ~>**NOTE** 1. Specify absolute paths and wildcards. Example: `["/WebApp/Models/Data.cs", "/WebApp/*", "*.cs"]`.
* <br> 2. Paths prefixed with "!" are excluded. Example: `["/WebApp/*", "!/WebApp/Tests/*"]`. Order is significant.
*/
filenamePatterns?: string[];
/**
* The genre of the status to check (see [Microsoft Documentation](https://docs.microsoft.com/en-us/azure/devops/repos/git/pull-request-status?view=azure-devops#status-policy))
*/
genre?: string;
/**
* Reset status whenever there are new changes.
*/
invalidateOnUpdate?: boolean;
/**
* The status name to check.
*/
name: string;
/**
* A `scope` block as defined below.
*/
scopes: outputs.BranchPolicyStatusCheckSettingsScope[];
}
export interface BranchPolicyStatusCheckSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `match_type=DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `match_type=Exact`, this should be a qualified ref such as `refs/heads/master`. If `match_type=Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BranchPolicyWorkItemLinkingSettings {
/**
* A `scope` block as defined below. Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
*/
scopes: outputs.BranchPolicyWorkItemLinkingSettingsScope[];
}
export interface BranchPolicyWorkItemLinkingSettingsScope {
/**
* The match type to use when applying the policy. Supported values are `Exact` (default), `Prefix` or `DefaultBranch`.
*/
matchType?: string;
/**
* The repository ID. Needed only if the scope of the policy will be limited to a single repository. If `matchType` is `DefaultBranch`, this should not be defined.
*/
repositoryId?: string;
/**
* The ref pattern to use for the match when `matchType` other than `DefaultBranch`. If `matchType` is `Exact`, this should be a qualified ref such as `refs/heads/master`. If `matchType` is `Prefix`, this should be a ref path such as `refs/heads/releases`.
*/
repositoryRef?: string;
}
export interface BuildDefinitionBuildCompletionTrigger {
/**
* The branches to include and exclude from the trigger. A `branchFilter` block as documented below.
*/
branchFilters: outputs.BuildDefinitionBuildCompletionTriggerBranchFilter[];
/**
* The ID of the build pipeline will be triggered.
*/
buildDefinitionId: number;
}
export interface BuildDefinitionBuildCompletionTriggerBranchFilter {
/**
* List of branch patterns to exclude.
*/
excludes?: string[];
/**
* List of branch patterns to include.
*/
includes?: string[];
}
export interface BuildDefinitionCiTrigger {
/**
* Override the azure-pipeline file and use a this configuration for all builds.
*/
override?: outputs.BuildDefinitionCiTriggerOverride;
/**
* Use the azure-pipeline file for the build configuration. Defaults to `false`.
*/
useYaml?: boolean;
}
export interface BuildDefinitionCiTriggerOverride {
/**
* If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to `true`.
*/
batch?: boolean;
/**
* The branches to include and exclude from the trigger. A `branchFilter` block as documented below.
*/
branchFilters: outputs.BuildDefinitionCiTriggerOverrideBranchFilter[];
/**
* The number of max builds per branch. Defaults to `1`.
*/
maxConcurrentBuildsPerBranch?: number;
/**
* Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.
*/
pathFilters?: outputs.BuildDefinitionCiTriggerOverridePathFilter[];
/**
* How often the external repository is polled. Defaults to `0`.
*/
pollingInterval?: number;
/**
* This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.
*/
pollingJobId: string;
}
export interface BuildDefinitionCiTriggerOverrideBranchFilter {
/**
* List of branch patterns to exclude.
*/
excludes?: string[];
/**
* List of branch patterns to include.
*/
includes?: string[];
}
export interface BuildDefinitionCiTriggerOverridePathFilter {
/**
* List of path patterns to exclude.
*/
excludes?: string[];
/**
* List of path patterns to include.
*/
includes?: string[];
}
export interface BuildDefinitionFeature {
/**
* Trigger the pipeline to run after the creation. Defaults to `true`.
*
* > **Note** The first run(`skipFirstRun = false`) will only be triggered on create. If the first run fails, the build definition will still be marked as successfully created. A warning message indicating the inability to run pipeline will be displayed.
*/
skipFirstRun?: boolean;
}
export interface BuildDefinitionJob {
/**
* Enables scripts and other processes launched by tasks to access the OAuth token through the `System.AccessToken` variable. Possible values: `true`, `false`. Defaults to `false`. Available when Job type is `AgentJob`
*/
allowScriptsAuthAccessOption?: boolean;
/**
* Specifies when this job should run. Can **Custom conditions** to specify more complex conditions. Possible values: `succeeded()`, `succeededOrFailed()`, `always()`, `failed()` etc. More details: [Pipeline conditions](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops)
*/
condition: string;
/**
* A `dependencies` blocks as documented below. Define the job dependencies.
*/
dependencies?: outputs.BuildDefinitionJobDependency[];
/**
* The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
*/
jobAuthorizationScope?: string;
/**
* The job cancel timeout (in minutes) for builds cancelled by user for this definition. Possible values are between `0` and `60`. Defaults to `0`.
*/
jobCancelTimeoutInMinutes?: number;
/**
* The job execution timeout (in minutes) for builds queued against this definition. Possible values are between `0` and `1000000000`. Defaults to `0`.
*/
jobTimeoutInMinutes?: number;
/**
* The name of the job.
*/
name: string;
/**
* The reference name of the job, can be used to define the job dependencies.
*/
refName: string;
/**
* A `target` blocks as documented below.
*/
target: outputs.BuildDefinitionJobTarget;
}
export interface BuildDefinitionJobDependency {
/**
* The job reference name that depends on. Reference to `jobs.ref_name`
*/
scope: string;
}
export interface BuildDefinitionJobTarget {
/**
* A list of demands that represents the agent capabilities required by this build. Example: `git`
*/
demands?: string[];
/**
* A `executionOptions` blocks as documented below.
*/
executionOptions: outputs.BuildDefinitionJobTargetExecutionOptions;
/**
* The job type. Possible values: `AgentJob`, `AgentlessJob`
*/
type: string;
}
export interface BuildDefinitionJobTargetExecutionOptions {
/**
* Whether to continue the job when an error occurs. Possible values are: `true`, `false`.
*/
continueOnError?: boolean;
/**
* Limit the number of agents to be used. If job type is `AgentlessJob`, the concurrency is not configurable and is fixed to 50.
*/
maxConcurrency: number;
/**
* A list of comma separated configuration variables to use. These are defined on the Variables tab. For example, OperatingSystem, Browser will run the tasks for both variables. Available when `execution_options.type` is `Multi-Configuration`.
*/
multipliers?: string;
/**
* The execution type of the Job. Possible values are: `None`, `Multi-Configuration`, `Multi-Agent`.
*/
type: string;
}
export interface BuildDefinitionPullRequestTrigger {
commentRequired?: string;
/**
* Set permissions for Forked repositories.
*/
forks: outputs.BuildDefinitionPullRequestTriggerForks;
initialBranch?: string;
/**
* Override the azure-pipeline file and use this configuration for all builds.
*/
override?: outputs.BuildDefinitionPullRequestTriggerOverride;
/**
* Use the azure-pipeline file for the build configuration. Defaults to `false`.
*/
useYaml?: boolean;
}
export interface BuildDefinitionPullRequestTriggerForks {
/**
* Build pull requests from forks of this repository.
*/
enabled: boolean;
/**
* Make secrets available to builds of forks.
*/
shareSecrets: boolean;
}
export interface BuildDefinitionPullRequestTriggerOverride {
/**
* . Defaults to `true`.
*/
autoCancel?: boolean;
/**
* The branches to include and exclude from the trigger. A `branchFilter` block as documented below.
*/
branchFilters: outputs.BuildDefinitionPullRequestTriggerOverrideBranchFilter[];
/**
* Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.
*/
pathFilters?: outputs.BuildDefinitionPullRequestTriggerOverridePathFilter[];
}
export interface BuildDefinitionPullRequestTriggerOverrideBranchFilter {
/**
* List of branch patterns to exclude.
*/
excludes?: string[];
/**
* List of branch patterns to include.
*/
includes?: string[];
}
export interface BuildDefinitionPullRequestTriggerOverridePathFilter {
/**
* List of path patterns to exclude.
*/
excludes?: string[];
/**
* List of path patterns to include.
*/
includes?: string[];
}
export interface BuildDefinitionRepository {
/**
* The branch name for which builds are triggered. Defaults to `master`.
*/
branchName?: string;
/**
* The Github Enterprise URL. Used if `repoType` is `GithubEnterprise`. Conflict with `url`
*/
githubEnterpriseUrl?: string;
/**
* The id of the repository. For `TfsGit` repos, this is simply the ID of the repository. For `Github` repos, this will take the form of `<GitHub Org>/<Repo Name>`. For `Bitbucket` repos, this will take the form of `<Workspace ID>/<Repo Name>`.
*/
repoId: string;
/**
* The repository type. Possible values are: `GitHub` or `TfsGit` or `Bitbucket` or `GitHub Enterprise` or `Git`. Defaults to `GitHub`. If `repoType` is `GitHubEnterprise`, must use existing project and GitHub Enterprise service connection.
*/
repoType: string;
/**
* Report build status. Default is true.
*/
reportBuildStatus?: boolean;
/**
* The service connection ID. Used if the `repoType` is `GitHub` or `GitHubEnterprise`.
*/
serviceConnectionId?: string;
/**
* The URL of the Git repository. Used if `repoType` is `Git`. Conflict with `githubEnterpriseUrl`
*/
url: string;
/**
* The path of the Yaml file describing the build definition.
*/
ymlPath?: string;
}
export interface BuildDefinitionSchedule {
/**
* A `branchFilter` block as defined below.
*/
branchFilters: outputs.BuildDefinitionScheduleBranchFilter[];
/**
* When to build. Possible values are: `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat`, `Sun`.
*/
daysToBuilds: string[];
/**
* The ID of the schedule job
*/
scheduleJobId: string;
/**
* Schedule builds if the source or pipeline has changed. Defaults to `true`.
*/
scheduleOnlyWithChanges?: boolean;
/**
* Build start hour. Possible values are: `0 ~ 23`. Defaults to `0`.
*/
startHours?: number;
/**
* Build start minute. Possible values are: `0 ~ 59`. Defaults to `0`.
*/
startMinutes?: number;
/**
* Build time zone. Defaults to `(UTC) Coordinated Universal Time`. Possible values are:
* `(UTC-12:00) International Date Line West`,
* `(UTC-11:00) Coordinated Universal Time-11`,
* `(UTC-10:00) Aleutian Islands`,
* `(UTC-10:00) Hawaii`,
* `(UTC-09:30) Marquesas Islands`,
* `(UTC-09:00) Alaska`,
* `(UTC-09:00) Coordinated Universal Time-09`,
* `(UTC-08:00) Baja California`,
* `(UTC-08:00) Coordinated Universal Time-08`,
* `(UTC-08:00) Pacific Time (US &Canada)`,
* `(UTC-07:00) Arizona`,
* `(UTC-07:00) Chihuahua, La Paz, Mazatlan`,
* `(UTC-07:00) Mountain Time (US &Canada)`,
* `(UTC-07:00) Yukon`,
* `(UTC-06:00) Central America`,
* `(UTC-06:00) Central Time (US &Canada)`,
* `(UTC-06:00) Easter Island`,
* `(UTC-06:00) Guadalajara, Mexico City, Monterrey`,
* `(UTC-06:00) Saskatchewan`,
* `(UTC-05:00) Bogota, Lima, Quito, Rio Branco`,
* `(UTC-05:00) Chetumal`,
* `(UTC-05:00) Eastern Time (US &Canada)`,
* `(UTC-05:00) Haiti`,
* `(UTC-05:00) Havana`,
* `(UTC-05:00) Indiana (East)`,
* `(UTC-05:00) Turks and Caicos`,
* `(UTC-04:00) Asuncion`,
* `(UTC-04:00) Atlantic Time (Canada)`,
* `(UTC-04:00) Caracas`,
* `(UTC-04:00) Cuiaba`,
* `(UTC-04:00) Georgetown, La Paz, Manaus, San Juan`,
* `(UTC-04:00) Santiago`,
* `(UTC-03:30) Newfoundland`,
* `(UTC-03:00) Araguaina`,
* `(UTC-03:00) Brasilia`,
* `(UTC-03:00) Cayenne, Fortaleza`,
* `(UTC-03:00) City of Buenos Aires`,
* `(UTC-03:00) Greenland`,
* `(UTC-03:00) Montevideo`,
* `(UTC-03:00) Punta Arenas`,
* `(UTC-03:00) Saint Pierre and Miquelon`,
* `(UTC-03:00) Salvador`,
* `(UTC-02:00) Coordinated Universal Time-02`,
* `(UTC-02:00) Mid-Atlantic - Old`,
* `(UTC-01:00) Azores`,
* `(UTC-01:00) Cabo Verde Is.`,
* `(UTC) Coordinated Universal Time`,
* `(UTC+00:00) Dublin, Edinburgh, Lisbon, London`,
* `(UTC+00:00) Monrovia, Reykjavik`,
* `(UTC+00:00) Sao Tome`,
* `(UTC+01:00) Casablanca`,
* `(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna`,
* `(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague`,
* `(UTC+01:00) Brussels, Copenhagen, Madrid, Paris`,
* `(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb`,
* `(UTC+01:00) West Central Africa`,
* `(UTC+02:00) Amman`,
* `(UTC+02:00) Athens, Bucharest`,
* `(UTC+02:00) Beirut`,
* `(UTC+02:00) Cairo`,
* `(UTC+02:00) Chisinau`,
* `(UTC+02:00) Damascus`,
* `(UTC+02:00) Gaza, Hebron`,
* `(UTC+02:00) Harare, Pretoria`,
* `(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius`,
* `(UTC+02:00) Jerusalem`,
* `(UTC+02:00) Juba`,
* `(UTC+02:00) Kaliningrad`,
* `(UTC+02:00) Khartoum`,
* `(UTC+02:00) Tripoli`,
* `(UTC+02:00) Windhoek`,
* `(UTC+03:00) Baghdad`,
* `(UTC+03:00) Istanbul`,
* `(UTC+03:00) Kuwait, Riyadh`,
* `(UTC+03:00) Minsk`,
* `(UTC+03:00) Moscow, St. Petersburg`,
* `(UTC+03:00) Nairobi`,
* `(UTC+03:00) Volgograd`,
* `(UTC+03:30) Tehran`,
* `(UTC+04:00) Abu Dhabi, Muscat`,
* `(UTC+04:00) Astrakhan, Ulyanovsk`,
* `(UTC+04:00) Baku`,
* `(UTC+04:00) Izhevsk, Samara`,
* `(UTC+04:00) Port Louis`,
* `(UTC+04:00) Saratov`,
* `(UTC+04:00) Tbilisi`,
* `(UTC+04:00) Yerevan`,
* `(UTC+04:30) Kabul`,
* `(UTC+05:00) Ashgabat, Tashkent`,
* `(UTC+05:00) Ekaterinburg`,
* `(UTC+05:00) Islamabad, Karachi`,
* `(UTC+05:00) Qyzylorda`,
* `(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi`,
* `(UTC+05:30) Sri Jayawardenepura`,
* `(UTC+05:45) Kathmandu`,
* `(UTC+06:00) Astana`,
* `(UTC+06:00) Dhaka`,
* `(UTC+06:00) Omsk`,
* `(UTC+06:30) Yangon (Rangoon)`,
* `(UTC+07:00) Bangkok, Hanoi, Jakarta`,
* `(UTC+07:00) Barnaul, Gorno-Altaysk`,
* `(UTC+07:00) Hovd`,
* `(UTC+07:00) Krasnoyarsk`,
* `(UTC+07:00) Novosibirsk`,
* `(UTC+07:00) Tomsk`,
* `(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi`,
* `(UTC+08:00) Irkutsk`,
* `(UTC+08:00) Kuala Lumpur, Singapore`,
* `(UTC+08:00) Perth`,
* `(UTC+08:00) Taipei`,
* `(UTC+08:00) Ulaanbaatar`,
* `(UTC+08:45) Eucla`,
* `(UTC+09:00) Chita`,
* `(UTC+09:00) Osaka, Sapporo, Tokyo`,
* `(UTC+09:00) Pyongyang`,
* `(UTC+09:00) Seoul`,
* `(UTC+09:00) Yakutsk`,
* `(UTC+09:30) Adelaide`,
* `(UTC+09:30) Darwin`,
* `(UTC+10:00) Brisbane`,
* `(UTC+10:00) Canberra, Melbourne, Sydney`,
* `(UTC+10:00) Guam, Port Moresby`,
* `(UTC+10:00) Hobart`,
* `(UTC+10:00) Vladivostok`,
* `(UTC+10:30) Lord Howe Island`,
* `(UTC+11:00) Bougainville Island`,
* `(UTC+11:00) Chokurdakh`,
* `(UTC+11:00) Magadan`,
* `(UTC+11:00) Norfolk Island`,
* `(UTC+11:00) Sakhalin`,
* `(UTC+11:00) Solomon Is., New Caledonia`,
* `(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky`,
* `(UTC+12:00) Auckland, Wellington`,
* `(UTC+12:00) Coordinated Universal Time+12`,
* `(UTC+12:00) Fiji`,
* `(UTC+12:00) Petropavlovsk-Kamchatsky - Old`,
* `(UTC+12:45) Chatham Islands`,
* `(UTC+13:00) Coordinated Universal Time+13`,
* `(UTC+13:00) Nuku'alofa`,
* `(UTC+13:00) Samoa`,
* `(UTC+14:00) Kiritimati Island`.
*/
timeZone?: string;
}
export interface BuildDefinitionScheduleBranchFilter {
/**
* List of branch patterns to exclude.
*/
excludes?: string[];
/**
* List of branch patterns to include.
*/
includes?: string[];
}
export interface BuildDefinitionVariable {
/**
* True if the variable can be overridden. Defaults to `true`.
*/
allowOverride?: boolean;
/**
* True if the variable is a secret. Defaults to `false`.
*/
isSecret?: boolean;
/**
* The name of the variable.
*/
name: string;
/**
* The secret value of the variable. Used when `isSecret` set to `true`.
*/
secretValue?: string;
/**
* The value of the variable.
*/
value?: string;
}
export interface CheckRequiredTemplateRequiredTemplate {
/**
* The name of the repository storing the template.
*/
repositoryName: string;
/**
* The branch in which the template will be referenced.
*/
repositoryRef: string;
/**
* The type of the repository storing the template. Possible values are: `azuregit`, `github`, `githubenterprise`, `bitbucket`. Defaults to `azuregit`.
*/
repositoryType?: string;
/**
* The path to the template yaml.
*/
templatePath: string;
}
export interface FeedFeature {
/**
* Determines if Feed should be Permanently removed, Defaults to `false`
*/
permanentDelete?: boolean;
/**
* Determines if Feed should be Restored during creation (if possible), Defaults to `false`
*/
restore?: boolean;
}
export interface GetAreaChildren {
/**
* Indicator if the child Area node has child nodes
*/
hasChildren: boolean;
/**
* The ID of the child Area node
*/
id: string;
/**
* The name of the child Area node
*/
name: string;
/**
* The path to the Area; _Format_: URL relative; if omitted, or value `"/"` is used, the root Area will be returned
*/
path: string;
/**
* The project ID.
*/
projectId: string;
}
export interface GetBuildDefinitionCiTrigger {
/**
* A `override` block as defined below.
*/
overrides: outputs.GetBuildDefinitionCiTriggerOverride[];
/**
* Use the azure-pipeline file for the build configuration.
*/
useYaml: boolean;
}
export interface GetBuildDefinitionCiTriggerOverride {
/**
* If batch is true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built.
*/
batch: boolean;
/**
* A `branchFilter` block as defined above.
*/
branchFilters: outputs.GetBuildDefinitionCiTriggerOverrideBranchFilter[];
/**
* The number of max builds per branch.
*/
maxConcurrentBuildsPerBranch: number;
/**
* The file paths to include or exclude. A `pathFilter` block as defined above.
*/
pathFilters: outputs.GetBuildDefinitionCiTriggerOverridePathFilter[];
/**
* How often the external repository is polled.
*/
pollingInterval: number;
/**
* This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.
*/
pollingJobId: string;
}
export interface GetBuildDefinitionCiTriggerOverrideBranchFilter {
/**
* (Optional) List of path patterns to exclude.
*/
excludes: string[];
/**
* (Optional) List of path patterns to include.
*/
includes: string[];
}
export interface GetBuildDefinitionCiTriggerOverridePathFilter {
/**
* (Optional) List of path patterns to exclude.
*/
excludes: string[];
/**
* (Optional) List of path patterns to include.
*/
includes: string[];
}
export interface GetBuildDefinitionJob {
/**
* Enables scripts and other processes launched by tasks to access the OAuth token through the `System.AccessToken` variable.
*/
allowScriptsAuthAccessOption: boolean;
/**
* Specifies when this job should run. Can **Custom conditions** to specify more complex conditions. More details: [Pipeline conditions](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops)
*/
condition: string;
/**
* A `dependencies` blocks as documented below. Define the job dependencies.
*/
dependencies: outputs.GetBuildDefinitionJobDependency[];
/**
* The job authorization scope for builds queued against this definition.
*/
jobAuthorizationScope: string;
/**
* The job cancel timeout (in minutes) for builds cancelled by user for this definition.
*/
jobCancelTimeoutInMinutes: number;
/**
* The job execution timeout (in minutes) for builds queued against this definition.
*/
jobTimeoutInMinutes: number;
/**
* The name of this Build Definition.
*/
name: string;
/**
* The reference name of the job, can be used to define the job dependencies.
*/
refName: string;
/**
* A `target` blocks as documented below.
*/
targets: outputs.GetBuildDefinitionJobTarget[];
}
export interface GetBuildDefinitionJobDependency {
/**
* The job reference name that depends on. Reference to `jobs.ref_name`
*/
scope: string;
}
export interface GetBuildDefinitionJobTarget {
/**
* A list of demands that represents the agent capabilities required by this build. Example: `git`
*/
demands: string[];
/**
* A `executionOptions` blocks as documented below.
*/
executionOptions: outputs.GetBuildDefinitionJobTargetExecutionOption[];
/**
* The execution type of the Job.
*/
type: string;
}
export interface GetBuildDefinitionJobTargetExecutionOption {
/**
* Whether to continue the job when an error occurs.
*/
continueOnError: boolean;
/**
* Limit the number of agents to be used. If job type is `AgentlessJob`, the concurrency is not configurable and is fixed to 50.
*/
maxConcurrency: number;
/**
* A list of comma separated configuration variables to use. These are defined on the Variables tab. For example, OperatingSystem, Browser will run the tasks for both variables.
*/
multipliers: string;
/**
* The execution type of the Job.
*/
type: string;
}
export interface GetBuildDefinitionPullRequestTrigger {
/**
* Is a comment required on the PR?
*/
commentRequired: string;
/**
* A `forks` block as defined above.
*/
forks: outputs.GetBuildDefinitionPullRequestTriggerFork[];
/**
* When useYaml is true set this to the name of the branch that the azure-pipelines.yml exists on.
*/
initialBranch: string;
/**
* A `override` block as defined below.
*/
overrides: outputs.GetBuildDefinitionPullRequestTriggerOverride[];
/**
* Use the azure-pipeline file for the build configuration.
*/
useYaml: boolean;
}
export interface GetBuildDefinitionPullRequestTriggerFork {
/**
* Build pull requests from forks of this repository.
*/
enabled: boolean;
/**
* Make secrets available to builds of forks.
*/
shareSecrets: boolean;
}
export interface GetBuildDefinitionPullRequestTriggerOverride {
/**
* Should further updates to a PR cancel an in progress validation?
*/
autoCancel: boolean;
/**
* A `branchFilter` block as defined above.
*/
branchFilters: outputs.GetBuildDefinitionPullRequestTriggerOverrideBranchFilter[];
/**
* The file paths to include or exclude. A `pathFilter` block as defined above.
*/
pathFilters: outputs.GetBuildDefinitionPullRequestTriggerOverridePathFilter[];
}
export interface GetBuildDefinitionPullRequestTriggerOverrideBranchFilter {
/**
* (Optional) List of path patterns to exclude.
*/
excludes: string[];
/**
* (Optional) List of path patterns to include.
*/
includes: string[];
}
export interface GetBuildDefinitionPullRequestTriggerOverridePathFilter {
/**
* (Optional) List of path patterns to exclude.
*/
excludes: string[];
/**
* (Optional) List of path patterns to include.
*/
includes: string[];
}
export interface GetBuildDefinitionRepository {
/**
* The branch name for which builds are triggered.
*/
branchName: string;
/**
* The Github Enterprise URL.
*/
githubEnterpriseUrl: string;
/**
* The id of the repository.
*/
repoId: string;
/**
* The repository type.
*/
repoType: string;
/**
* Report build status.
*/
reportBuildStatus: boolean;
/**
* The service connection ID.
*/
serviceConnectionId: string;
url: string;
/**
* The path of the Yaml file describing the build definition.
*/
ymlPath: string;
}
export interface GetBuildDefinitionSchedule {
/**
* A `branchFilter` block as defined above.
*/
branchFilters: outputs.GetBuildDefinitionScheduleBranchFilter[];
/**
* A list of days to build on.
*/
daysToBuilds: string[];
/**
* The ID of the schedule job.
*/
scheduleJobId: string;
/**
* Schedule builds if the source or pipeline has changed.
*/
scheduleOnlyWithChanges: boolean;
/**
* Build start hour.
*/
startHours: number;
/**
* Build start minute.
*/
startMinutes: number;
/**
* Build time zone.
*/
timeZone: string;
}
export interface GetBuildDefinitionScheduleBranchFilter {
/**
* (Optional) List of path patterns to exclude.
*/
excludes: string[];
/**
* (Optional) List of path patterns to include.
*/
includes: string[];
}
export interface GetBuildDefinitionVariable {
/**
* `true` if the variable can be overridden.
*/
allowOverride: boolean;
/**
* `true` if the variable is a secret.
*/
isSecret: boolean;
/**
* The name of this Build Definition.
*/
name: string;
/**
* The secret value of the variable.
*/
secretValue: string;
/**
* The value of the variable.
*/
value: string;
}
export interface GetGroupsGroup {
/**
* A short phrase to help human readers disambiguate groups with similar names
*/
description?: string;
/**
* The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations.
*/
descriptor: string;
/**
* This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider.
*/
displayName?: string;
/**
* This represents the name of the container of origin for a graph member. (For MSA this is "Windows Live ID", for AD the name of the domain, for AAD the tenantID of the directory, for VSTS groups the ScopeId, etc)
*/
domain: string;
/**
* The ID(UUID format) of the group.
*/
id: string;
/**
* The email address of record for a given graph member. This may be different than the principal name.
*/
mailAddress?: string;
/**
* The type of source provider for the origin identifier (ex:AD, AAD, MSA)
*/
origin: string;
/**
* The unique identifier from the system of origin. Typically a sid, object id or Guid. Linking and unlinking operations can cause this value to change for a user because the user is not backed by a different provider and has a different unique id in the new provider.
*/
originId?: string;
/**
* This is the PrincipalName of this graph member from the source provider. The source provider may change this field over time and it is not guaranteed to be immutable for the life of the graph member by VSTS.
*/
principalName: string;
/**
* This url is the full route to the source resource of this graph subject.
*/
url: string;
}
export interface GetIdentityGroupsGroup {
/**
* The descriptor of the Identity Group.
*/
descriptor: string;
/**
* The ID of the Identity Group.
*/
id: string;
/**
* This is the non-unique display name of the identity subject.
*/
name: string;
/**
* The subject descriptor of the identity group.
*/
subjectDescriptor: string;
}
export interface GetIterationChildren {
/**
* Indicator if the child Iteration node has child nodes
*/
hasChildren: boolean;
/**
* The ID of the child Iteration node
*/
id: string;
/**
* The name of the child Iteration node
*/
name: string;
/**
* The path to the Iteration, _Format_: URL relative; if omitted, or value `"/"` is used, the root Iteration will be returned
*/
path: string;
/**
* The project ID.
*/
projectId: string;
}
export interface GetPoolsAgentPool {
/**
* Specifies whether or not a queue should be automatically provisioned for each project collection.
*/
autoProvision: boolean;
/**
* Specifies whether or not agents within the pool should be automatically updated.
*/
autoUpdate: boolean;
/**
* The ID of the agent pool.
*/
id: number;
/**
* The name of the agent pool.
*/
name: string;
/**
* Specifies whether the agent pool type is Automation or Deployment.
*/
poolType: string;
}
export interface GetProjectsProject {
/**
* Name of the Project, if not specified all projects will be returned.
*/
name: string;
/**
* The ID of the Project.
*/
projectId: string;
/**
* The Url to the full version of the object.
*/
projectUrl: string;
/**
* State of the Project, if not specified all projects will be returned. Valid values are `all`, `deleting`, `new`, `wellFormed`, `createPending`, `unchanged`,`deleted`.
*
* > **NOTE:** DataSource without specifying any arguments will return all projects.
*/
state: string;
}
export interface GetRepositoriesRepository {
/**
* The ref of the default branch.
*/
defaultBranch: string;
/**
* Is the repository disabled?
*/
disabled: boolean;
/**
* Git repository identifier.
*/
id: string;
/**
* Name of the Git repository to retrieve; requires `projectId` to be specified as well
*/
name: string;
/**
* ID of project to list Git repositories
*/
projectId: string;
/**
* HTTPS Url to clone the Git repository
*/
remoteUrl: string;
/**
* Compressed size (bytes) of the repository.
*/
size: number;
/**
* SSH Url to clone the Git repository
*/
sshUrl: string;
/**
* Details REST API endpoint for the Git Repository.
*/
url: string;
/**
* Url of the Git repository web view
*/
webUrl: string;
}
export interface GetSecurityroleDefinitionsDefinition {
/**
* The mask of allowed permissions of the Security Role Definition.
*/
allowPermissions: number;
/**
* The mask of the denied permissions of the Security Role Definition.
*/
denyPermissions?: number;
/**
* The description of the Security Role Definition.
*/
description: string;
/**
* The display name of the Security Role Definition.
*/
displayName: string;
/**
* The identifier of the Security Role Definition.
*/
identifier: string;
/**
* The name of the Security Role Definition.
*/
name: string;
/**
* Name of the Scope for which Security Role Definitions will be returned.
*
* > **NOTE:** DataSource without specifying any arguments will return all projects.
*/
scope: string;
}
export interface GetTeamsTeam {
/**
* List of subject descriptors for `administrators` of the team.
*/
administrators: string[];
/**
* Team description.
*/
description: string;
/**
* The ID of the Team.
*/
id: string;
/**
* List of subject descriptors for `members` of the team.
*/
members: string[];
/**
* The name of the team.
*/
name: string;
/**
* The Project ID. If no project ID all teams of the organization will be returned.
*/
projectId: string;
}
export interface GetUsersFeatures {
/**
* Number of workers to process user data concurrently.
*
* > **Note** Setting `concurrentWorkers` to a value greater than 1 can greatly decrease the time it takes to read the data source.
*/
concurrentWorkers?: number;
}
export interface GetUsersUser {
/**
* The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations.
*/
descriptor: string;
/**
* This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider.
*/
displayName: string;
/**
* The ID of the User.
*/
id: string;
/**
* The email address of record for a given graph member. This may be different than the principal name.
*/
mailAddress: string;
/**
* The type of source provider for the `originId` parameter (ex:AD, AAD, MSA) The supported origins are listed below.
* <pre>List of possible origins
* ```hcl
* ActiveDirectory = "ad" # Windows Active Directory
* AzureActiveDirectory = "aad" # Azure Active Directory
* MicrosoftAccount = "msa" # Windows Live Account
* VisualStudioTeamServices = "vsts" # DevOps
* GitHubDirectory = "ghb" # GitHub
* ```
* </pre>
*/
origin: string;
/**
* The unique identifier from the system of origin.
*/
originId?: string;
/**
* The PrincipalName of this graph member from the source provider.
*/
principalName: string;
}
export interface GetVariableGroupKeyVault {
/**
* The name of the Variable Group to retrieve.
*/
name: string;
/**
* The id of the Azure subscription endpoint to access the key vault.
*/
serviceEndpointId: string;
}
export interface GetVariableGroupVariable {
contentType: string;
enabled: boolean;
expires: string;
/**
* A boolean flag describing if the variable value is sensitive.
*/
isSecret: boolean;
/**
* The name of the Variable Group to retrieve.
*/
name: string;
/**
* The secret value of the variable.
*/
secretValue: string;
/**
* The value of the variable.
*/
value: string;
}
export interface GetWorkitemtrackingprocessProcessProject {
/**
* Description of the project.
*/
description: string;
/**
* The ID of the process.
*/
id: string;
/**
* Name of the project.
*/
name: string;
/**
* Url of the project.
*/
url: string;
}
export interface GetWorkitemtrackingprocessProcessesProcess {
/**
* Indicates the type of customization on this process. System Process is default process. Inherited Process is modified process that was System process before.
*/
customizationType: string;
/**
* Description of the project.
*/
description: string;
/**
* The ID of the project.
*/
id: string;
/**
* Is the process default?
*/
isDefault: boolean;
/**
* Is the process enabled?
*/
isEnabled: boolean;
/**
* Name of the project.
*/
name: string;
/**
* ID of the parent process.
*/
parentProcessTypeId: string;
/**
* A `projects` block as defined below. Returns associated projects when using the 'projects' expand option.
*/
projects: outputs.GetWorkitemtrackingprocessProcessesProcessProject[];
/**
* Reference name of process being created. If not specified, server will assign a unique reference name.
*/
referenceName: string;
}
export interface GetWorkitemtrackingprocessProcessesProcessProject {
/**
* Description of the project.
*/
description: string;
/**
* The ID of the project.
*/
id: string;
/**
* Name of the project.
*/
name: string;
/**
* Url of the project.
*/
url: string;
}
export interface GetWorkitemtrackingprocessWorkitemtypesWorkItemType {
/**
* Color hexadecimal code to represent the work item type.
*/
color: string;
/**
* Indicates the type of customization on this work item type.
*/
customization: string;
/**
* Description of the work item type.
*/
description: string;
/**
* Icon to represent the work item type.
*/
icon: string;
/**
* Indicates if the work item type is enabled.
*/
isEnabled: boolean;
/**
* Name of the work item type.
*/
name: string;
/**
* Reference name of the parent work item type.
*/
parentWorkItemReferenceName: string;
/**
* Reference name of the work item type.
*/
referenceName: string;
/**
* URL of the work item type.
*/
url: string;
}
export interface GitInitialization {
/**
* The type of repository to create. Valid values: `Uninitialized`, `Clean` or `Import`.
*/
initType: string;
/**
* **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
* The password used to authenticate to a private r