pulumi-azuredevops 2.16.0a1710156155__py3-none-any.whl → 3.6.0a1736832240__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. pulumi_azuredevops/__init__.py +123 -174
  2. pulumi_azuredevops/_inputs.py +1742 -110
  3. pulumi_azuredevops/_utilities.py +41 -5
  4. pulumi_azuredevops/area_permissions.py +9 -6
  5. pulumi_azuredevops/branch_policy_auto_reviewers.py +52 -49
  6. pulumi_azuredevops/branch_policy_build_validation.py +86 -79
  7. pulumi_azuredevops/branch_policy_comment_resolution.py +60 -57
  8. pulumi_azuredevops/branch_policy_merge_types.py +68 -65
  9. pulumi_azuredevops/branch_policy_min_reviewers.py +72 -71
  10. pulumi_azuredevops/branch_policy_status_check.py +66 -61
  11. pulumi_azuredevops/branch_policy_work_item_linking.py +60 -57
  12. pulumi_azuredevops/build_definition.py +380 -200
  13. pulumi_azuredevops/build_definition_permissions.py +186 -165
  14. pulumi_azuredevops/build_folder.py +13 -10
  15. pulumi_azuredevops/build_folder_permissions.py +33 -32
  16. pulumi_azuredevops/check_approval.py +49 -16
  17. pulumi_azuredevops/check_branch_control.py +139 -110
  18. pulumi_azuredevops/check_business_hours.py +137 -108
  19. pulumi_azuredevops/check_exclusive_lock.py +107 -30
  20. pulumi_azuredevops/check_required_template.py +96 -67
  21. pulumi_azuredevops/config/__init__.pyi +87 -0
  22. pulumi_azuredevops/config/vars.py +125 -0
  23. pulumi_azuredevops/elastic_pool.py +78 -26
  24. pulumi_azuredevops/environment.py +17 -10
  25. pulumi_azuredevops/environment_resource_kubernetes.py +534 -0
  26. pulumi_azuredevops/feed.py +372 -0
  27. pulumi_azuredevops/feed_permission.py +415 -0
  28. pulumi_azuredevops/get_agent_queue.py +28 -19
  29. pulumi_azuredevops/get_area.py +28 -15
  30. pulumi_azuredevops/get_build_definition.py +32 -15
  31. pulumi_azuredevops/get_client_config.py +12 -9
  32. pulumi_azuredevops/get_environment.py +72 -5
  33. pulumi_azuredevops/get_feed.py +186 -0
  34. pulumi_azuredevops/get_git_repository.py +39 -10
  35. pulumi_azuredevops/get_group.py +55 -22
  36. pulumi_azuredevops/get_groups.py +18 -9
  37. pulumi_azuredevops/get_identity_group.py +152 -0
  38. pulumi_azuredevops/get_identity_groups.py +140 -0
  39. pulumi_azuredevops/get_identity_users.py +122 -0
  40. pulumi_azuredevops/get_iteration.py +24 -11
  41. pulumi_azuredevops/get_pool.py +16 -9
  42. pulumi_azuredevops/get_pools.py +12 -9
  43. pulumi_azuredevops/get_project.py +22 -10
  44. pulumi_azuredevops/get_projects.py +16 -9
  45. pulumi_azuredevops/get_repositories.py +22 -9
  46. pulumi_azuredevops/get_securityrole_definitions.py +141 -0
  47. pulumi_azuredevops/get_service_endpoint_azure_rm.py +70 -26
  48. pulumi_azuredevops/get_service_endpoint_github.py +19 -13
  49. pulumi_azuredevops/get_serviceendpoint_azurecr.py +31 -11
  50. pulumi_azuredevops/get_serviceendpoint_bitbucket.py +219 -0
  51. pulumi_azuredevops/get_serviceendpoint_npm.py +22 -11
  52. pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +21 -11
  53. pulumi_azuredevops/get_team.py +29 -15
  54. pulumi_azuredevops/get_teams.py +16 -9
  55. pulumi_azuredevops/get_users.py +26 -87
  56. pulumi_azuredevops/get_variable_group.py +27 -17
  57. pulumi_azuredevops/git.py +57 -99
  58. pulumi_azuredevops/git_permissions.py +78 -75
  59. pulumi_azuredevops/git_repository_branch.py +29 -20
  60. pulumi_azuredevops/git_repository_file.py +23 -18
  61. pulumi_azuredevops/group.py +43 -16
  62. pulumi_azuredevops/group_entitlement.py +5 -8
  63. pulumi_azuredevops/group_membership.py +57 -30
  64. pulumi_azuredevops/iterative_permissions.py +9 -6
  65. pulumi_azuredevops/library_permissions.py +451 -0
  66. pulumi_azuredevops/outputs.py +460 -56
  67. pulumi_azuredevops/pipeline_authorization.py +136 -47
  68. pulumi_azuredevops/pool.py +7 -6
  69. pulumi_azuredevops/project.py +19 -18
  70. pulumi_azuredevops/project_features.py +9 -8
  71. pulumi_azuredevops/project_permissions.py +9 -6
  72. pulumi_azuredevops/project_pipeline_settings.py +15 -12
  73. pulumi_azuredevops/provider.py +491 -2
  74. pulumi_azuredevops/pulumi-plugin.json +2 -1
  75. pulumi_azuredevops/queue.py +23 -24
  76. pulumi_azuredevops/repository_policy_author_email_pattern.py +37 -34
  77. pulumi_azuredevops/repository_policy_case_enforcement.py +37 -34
  78. pulumi_azuredevops/repository_policy_check_credentials.py +37 -34
  79. pulumi_azuredevops/repository_policy_file_path_pattern.py +31 -28
  80. pulumi_azuredevops/repository_policy_max_file_size.py +44 -41
  81. pulumi_azuredevops/repository_policy_max_path_length.py +37 -34
  82. pulumi_azuredevops/repository_policy_reserved_names.py +37 -34
  83. pulumi_azuredevops/resource_authorization.py +23 -20
  84. pulumi_azuredevops/securityrole_assignment.py +295 -0
  85. pulumi_azuredevops/service_endpoint_artifactory.py +49 -48
  86. pulumi_azuredevops/service_endpoint_aws.py +99 -51
  87. pulumi_azuredevops/service_endpoint_azure_dev_ops.py +17 -14
  88. pulumi_azuredevops/service_endpoint_azure_ecr.py +275 -33
  89. pulumi_azuredevops/service_endpoint_azure_rm.py +236 -114
  90. pulumi_azuredevops/service_endpoint_bit_bucket.py +19 -18
  91. pulumi_azuredevops/service_endpoint_docker_registry.py +17 -16
  92. pulumi_azuredevops/service_endpoint_generic.py +19 -20
  93. pulumi_azuredevops/service_endpoint_generic_git.py +17 -14
  94. pulumi_azuredevops/service_endpoint_git_hub.py +57 -60
  95. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +26 -23
  96. pulumi_azuredevops/{serviceendpoint/bit_bucket.py → service_endpoint_git_lab.py} +147 -100
  97. pulumi_azuredevops/service_endpoint_kubernetes.py +160 -17
  98. pulumi_azuredevops/service_endpoint_npm.py +17 -14
  99. pulumi_azuredevops/service_endpoint_pipeline.py +28 -25
  100. pulumi_azuredevops/service_endpoint_service_fabric.py +42 -95
  101. pulumi_azuredevops/service_endpoint_sonar_cloud.py +17 -14
  102. pulumi_azuredevops/service_endpoint_sonar_qube.py +17 -14
  103. pulumi_azuredevops/service_endpoint_ssh.py +17 -14
  104. pulumi_azuredevops/serviceendpoint_argocd.py +51 -50
  105. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +429 -0
  106. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +579 -0
  107. pulumi_azuredevops/serviceendpoint_externaltfs.py +10 -5
  108. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +17 -14
  109. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +17 -14
  110. pulumi_azuredevops/serviceendpoint_jenkins.py +15 -12
  111. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +53 -52
  112. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +53 -52
  113. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +53 -52
  114. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +53 -52
  115. pulumi_azuredevops/serviceendpoint_maven.py +49 -48
  116. pulumi_azuredevops/serviceendpoint_nexus.py +15 -12
  117. pulumi_azuredevops/serviceendpoint_nuget.py +17 -14
  118. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +17 -14
  119. pulumi_azuredevops/serviceendpoint_permissions.py +21 -18
  120. pulumi_azuredevops/serviceendpoint_snyk.py +429 -0
  121. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +543 -0
  122. pulumi_azuredevops/servicehook_permissions.py +9 -6
  123. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +55 -48
  124. pulumi_azuredevops/tagging_permissions.py +9 -6
  125. pulumi_azuredevops/team.py +21 -16
  126. pulumi_azuredevops/team_administrators.py +19 -12
  127. pulumi_azuredevops/team_members.py +19 -12
  128. pulumi_azuredevops/user.py +27 -8
  129. pulumi_azuredevops/variable_group.py +91 -88
  130. pulumi_azuredevops/variable_group_permissions.py +517 -0
  131. pulumi_azuredevops/wiki.py +509 -0
  132. pulumi_azuredevops/wiki_page.py +377 -0
  133. pulumi_azuredevops/work_item_query_permissions.py +17 -18
  134. pulumi_azuredevops/workitem.py +25 -24
  135. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/METADATA +9 -8
  136. pulumi_azuredevops-3.6.0a1736832240.dist-info/RECORD +140 -0
  137. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/WHEEL +1 -1
  138. pulumi_azuredevops/agent/__init__.py +0 -12
  139. pulumi_azuredevops/agent/get_pool.py +0 -155
  140. pulumi_azuredevops/agent/get_pools.py +0 -120
  141. pulumi_azuredevops/agent/outputs.py +0 -73
  142. pulumi_azuredevops/agent/pool.py +0 -342
  143. pulumi_azuredevops/agent/queue.py +0 -376
  144. pulumi_azuredevops/build/__init__.py +0 -10
  145. pulumi_azuredevops/build/_inputs.py +0 -1164
  146. pulumi_azuredevops/build/build_definition.py +0 -987
  147. pulumi_azuredevops/build/outputs.py +0 -1170
  148. pulumi_azuredevops/core/__init__.py +0 -13
  149. pulumi_azuredevops/core/get_client_config.py +0 -102
  150. pulumi_azuredevops/core/get_project.py +0 -194
  151. pulumi_azuredevops/core/get_projects.py +0 -166
  152. pulumi_azuredevops/core/outputs.py +0 -70
  153. pulumi_azuredevops/core/project.py +0 -538
  154. pulumi_azuredevops/core/project_features.py +0 -303
  155. pulumi_azuredevops/entitlement/__init__.py +0 -8
  156. pulumi_azuredevops/entitlement/user.py +0 -429
  157. pulumi_azuredevops/identities/__init__.py +0 -13
  158. pulumi_azuredevops/identities/_inputs.py +0 -42
  159. pulumi_azuredevops/identities/get_group.py +0 -185
  160. pulumi_azuredevops/identities/get_users.py +0 -257
  161. pulumi_azuredevops/identities/group.py +0 -632
  162. pulumi_azuredevops/identities/group_membership.py +0 -333
  163. pulumi_azuredevops/identities/outputs.py +0 -124
  164. pulumi_azuredevops/pipeline/__init__.py +0 -10
  165. pulumi_azuredevops/pipeline/_inputs.py +0 -175
  166. pulumi_azuredevops/pipeline/outputs.py +0 -175
  167. pulumi_azuredevops/pipeline/variable_group.py +0 -594
  168. pulumi_azuredevops/policy/__init__.py +0 -11
  169. pulumi_azuredevops/policy/_inputs.py +0 -382
  170. pulumi_azuredevops/policy/branch_policy_build_validation.py +0 -424
  171. pulumi_azuredevops/policy/branch_policy_min_reviewers.py +0 -406
  172. pulumi_azuredevops/policy/outputs.py +0 -397
  173. pulumi_azuredevops/repository/__init__.py +0 -11
  174. pulumi_azuredevops/repository/_inputs.py +0 -85
  175. pulumi_azuredevops/repository/get_repositories.py +0 -177
  176. pulumi_azuredevops/repository/git.py +0 -627
  177. pulumi_azuredevops/repository/outputs.py +0 -199
  178. pulumi_azuredevops/security/__init__.py +0 -8
  179. pulumi_azuredevops/security/resource_authorization.py +0 -404
  180. pulumi_azuredevops/serviceendpoint/__init__.py +0 -14
  181. pulumi_azuredevops/serviceendpoint/_inputs.py +0 -341
  182. pulumi_azuredevops/serviceendpoint/azure_rm.py +0 -1140
  183. pulumi_azuredevops/serviceendpoint/docker_registry.py +0 -595
  184. pulumi_azuredevops/serviceendpoint/git_hub.py +0 -489
  185. pulumi_azuredevops/serviceendpoint/kubernetes.py +0 -523
  186. pulumi_azuredevops/serviceendpoint/outputs.py +0 -370
  187. pulumi_azuredevops-2.16.0a1710156155.dist-info/RECORD +0 -171
  188. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -19,6 +24,7 @@ class BuildDefinitionArgs:
19
24
  project_id: pulumi.Input[str],
20
25
  repository: pulumi.Input['BuildDefinitionRepositoryArgs'],
21
26
  agent_pool_name: Optional[pulumi.Input[str]] = None,
27
+ build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]] = None,
22
28
  ci_trigger: Optional[pulumi.Input['BuildDefinitionCiTriggerArgs']] = None,
23
29
  features: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]]] = None,
24
30
  name: Optional[pulumi.Input[str]] = None,
@@ -33,11 +39,12 @@ class BuildDefinitionArgs:
33
39
  :param pulumi.Input[str] project_id: The project ID or project name.
34
40
  :param pulumi.Input['BuildDefinitionRepositoryArgs'] repository: A `repository` block as documented below.
35
41
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
36
- :param pulumi.Input['BuildDefinitionCiTriggerArgs'] ci_trigger: Continuous Integration trigger.
42
+ :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]] build_completion_triggers: A `build_completion_trigger` block as documented below.
43
+ :param pulumi.Input['BuildDefinitionCiTriggerArgs'] ci_trigger: A `ci_trigger` block as documented below.
37
44
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]] features: A `features` blocks as documented below.
38
45
  :param pulumi.Input[str] name: The name of the build definition.
39
46
  :param pulumi.Input[str] path: The folder path of the build definition.
40
- :param pulumi.Input['BuildDefinitionPullRequestTriggerArgs'] pull_request_trigger: Pull Request Integration trigger.
47
+ :param pulumi.Input['BuildDefinitionPullRequestTriggerArgs'] pull_request_trigger: A `pull_request_trigger` block as documented below.
41
48
  :param pulumi.Input[str] queue_status: The queue status of the build definition. Valid values: `enabled` or `paused` or `disabled`. Defaults to `enabled`.
42
49
  :param pulumi.Input[Sequence[pulumi.Input[int]]] variable_groups: A list of variable group IDs (integers) to link to the build definition.
43
50
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionVariableArgs']]] variables: A list of `variable` blocks, as documented below.
@@ -46,6 +53,8 @@ class BuildDefinitionArgs:
46
53
  pulumi.set(__self__, "repository", repository)
47
54
  if agent_pool_name is not None:
48
55
  pulumi.set(__self__, "agent_pool_name", agent_pool_name)
56
+ if build_completion_triggers is not None:
57
+ pulumi.set(__self__, "build_completion_triggers", build_completion_triggers)
49
58
  if ci_trigger is not None:
50
59
  pulumi.set(__self__, "ci_trigger", ci_trigger)
51
60
  if features is not None:
@@ -101,11 +110,23 @@ class BuildDefinitionArgs:
101
110
  def agent_pool_name(self, value: Optional[pulumi.Input[str]]):
102
111
  pulumi.set(self, "agent_pool_name", value)
103
112
 
113
+ @property
114
+ @pulumi.getter(name="buildCompletionTriggers")
115
+ def build_completion_triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]]:
116
+ """
117
+ A `build_completion_trigger` block as documented below.
118
+ """
119
+ return pulumi.get(self, "build_completion_triggers")
120
+
121
+ @build_completion_triggers.setter
122
+ def build_completion_triggers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]]):
123
+ pulumi.set(self, "build_completion_triggers", value)
124
+
104
125
  @property
105
126
  @pulumi.getter(name="ciTrigger")
106
127
  def ci_trigger(self) -> Optional[pulumi.Input['BuildDefinitionCiTriggerArgs']]:
107
128
  """
108
- Continuous Integration trigger.
129
+ A `ci_trigger` block as documented below.
109
130
  """
110
131
  return pulumi.get(self, "ci_trigger")
111
132
 
@@ -153,7 +174,7 @@ class BuildDefinitionArgs:
153
174
  @pulumi.getter(name="pullRequestTrigger")
154
175
  def pull_request_trigger(self) -> Optional[pulumi.Input['BuildDefinitionPullRequestTriggerArgs']]:
155
176
  """
156
- Pull Request Integration trigger.
177
+ A `pull_request_trigger` block as documented below.
157
178
  """
158
179
  return pulumi.get(self, "pull_request_trigger")
159
180
 
@@ -211,6 +232,7 @@ class BuildDefinitionArgs:
211
232
  class _BuildDefinitionState:
212
233
  def __init__(__self__, *,
213
234
  agent_pool_name: Optional[pulumi.Input[str]] = None,
235
+ build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]] = None,
214
236
  ci_trigger: Optional[pulumi.Input['BuildDefinitionCiTriggerArgs']] = None,
215
237
  features: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]]] = None,
216
238
  name: Optional[pulumi.Input[str]] = None,
@@ -226,12 +248,13 @@ class _BuildDefinitionState:
226
248
  """
227
249
  Input properties used for looking up and filtering BuildDefinition resources.
228
250
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
229
- :param pulumi.Input['BuildDefinitionCiTriggerArgs'] ci_trigger: Continuous Integration trigger.
251
+ :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]] build_completion_triggers: A `build_completion_trigger` block as documented below.
252
+ :param pulumi.Input['BuildDefinitionCiTriggerArgs'] ci_trigger: A `ci_trigger` block as documented below.
230
253
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]] features: A `features` blocks as documented below.
231
254
  :param pulumi.Input[str] name: The name of the build definition.
232
255
  :param pulumi.Input[str] path: The folder path of the build definition.
233
256
  :param pulumi.Input[str] project_id: The project ID or project name.
234
- :param pulumi.Input['BuildDefinitionPullRequestTriggerArgs'] pull_request_trigger: Pull Request Integration trigger.
257
+ :param pulumi.Input['BuildDefinitionPullRequestTriggerArgs'] pull_request_trigger: A `pull_request_trigger` block as documented below.
235
258
  :param pulumi.Input[str] queue_status: The queue status of the build definition. Valid values: `enabled` or `paused` or `disabled`. Defaults to `enabled`.
236
259
  :param pulumi.Input['BuildDefinitionRepositoryArgs'] repository: A `repository` block as documented below.
237
260
  :param pulumi.Input[int] revision: The revision of the build definition
@@ -240,6 +263,8 @@ class _BuildDefinitionState:
240
263
  """
241
264
  if agent_pool_name is not None:
242
265
  pulumi.set(__self__, "agent_pool_name", agent_pool_name)
266
+ if build_completion_triggers is not None:
267
+ pulumi.set(__self__, "build_completion_triggers", build_completion_triggers)
243
268
  if ci_trigger is not None:
244
269
  pulumi.set(__self__, "ci_trigger", ci_trigger)
245
270
  if features is not None:
@@ -277,11 +302,23 @@ class _BuildDefinitionState:
277
302
  def agent_pool_name(self, value: Optional[pulumi.Input[str]]):
278
303
  pulumi.set(self, "agent_pool_name", value)
279
304
 
305
+ @property
306
+ @pulumi.getter(name="buildCompletionTriggers")
307
+ def build_completion_triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]]:
308
+ """
309
+ A `build_completion_trigger` block as documented below.
310
+ """
311
+ return pulumi.get(self, "build_completion_triggers")
312
+
313
+ @build_completion_triggers.setter
314
+ def build_completion_triggers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]]):
315
+ pulumi.set(self, "build_completion_triggers", value)
316
+
280
317
  @property
281
318
  @pulumi.getter(name="ciTrigger")
282
319
  def ci_trigger(self) -> Optional[pulumi.Input['BuildDefinitionCiTriggerArgs']]:
283
320
  """
284
- Continuous Integration trigger.
321
+ A `ci_trigger` block as documented below.
285
322
  """
286
323
  return pulumi.get(self, "ci_trigger")
287
324
 
@@ -341,7 +378,7 @@ class _BuildDefinitionState:
341
378
  @pulumi.getter(name="pullRequestTrigger")
342
379
  def pull_request_trigger(self) -> Optional[pulumi.Input['BuildDefinitionPullRequestTriggerArgs']]:
343
380
  """
344
- Pull Request Integration trigger.
381
+ A `pull_request_trigger` block as documented below.
345
382
  """
346
383
  return pulumi.get(self, "pull_request_trigger")
347
384
 
@@ -425,141 +462,207 @@ class BuildDefinition(pulumi.CustomResource):
425
462
  resource_name: str,
426
463
  opts: Optional[pulumi.ResourceOptions] = None,
427
464
  agent_pool_name: Optional[pulumi.Input[str]] = None,
428
- ci_trigger: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionCiTriggerArgs']]] = None,
429
- features: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionFeatureArgs']]]]] = None,
465
+ build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]]] = None,
466
+ ci_trigger: Optional[pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']]] = None,
467
+ features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]]] = None,
430
468
  name: Optional[pulumi.Input[str]] = None,
431
469
  path: Optional[pulumi.Input[str]] = None,
432
470
  project_id: Optional[pulumi.Input[str]] = None,
433
- pull_request_trigger: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionPullRequestTriggerArgs']]] = None,
471
+ pull_request_trigger: Optional[pulumi.Input[Union['BuildDefinitionPullRequestTriggerArgs', 'BuildDefinitionPullRequestTriggerArgsDict']]] = None,
434
472
  queue_status: Optional[pulumi.Input[str]] = None,
435
- repository: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionRepositoryArgs']]] = None,
436
- schedules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionScheduleArgs']]]]] = None,
473
+ repository: Optional[pulumi.Input[Union['BuildDefinitionRepositoryArgs', 'BuildDefinitionRepositoryArgsDict']]] = None,
474
+ schedules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionScheduleArgs', 'BuildDefinitionScheduleArgsDict']]]]] = None,
437
475
  variable_groups: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
438
- variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionVariableArgs']]]]] = None,
476
+ variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionVariableArgs', 'BuildDefinitionVariableArgsDict']]]]] = None,
439
477
  __props__=None):
440
478
  """
441
479
  Manages a Build Definition within Azure DevOps.
442
480
 
443
481
  ## Example Usage
444
482
 
445
- ### Tfs
446
- <!--Start PulumiCodeChooser -->
483
+ ### Azure DevOps
447
484
  ```python
448
485
  import pulumi
449
486
  import pulumi_azuredevops as azuredevops
450
487
 
451
- example_project = azuredevops.Project("exampleProject",
488
+ example = azuredevops.Project("example",
489
+ name="Example Project",
452
490
  visibility="private",
453
491
  version_control="Git",
454
492
  work_item_template="Agile")
455
- example_git = azuredevops.Git("exampleGit",
456
- project_id=example_project.id,
457
- initialization=azuredevops.GitInitializationArgs(
458
- init_type="Clean",
459
- ))
460
- example_variable_group = azuredevops.VariableGroup("exampleVariableGroup",
461
- project_id=example_project.id,
462
- description="Managed by Terraform",
493
+ example_git = azuredevops.Git("example",
494
+ project_id=example.id,
495
+ name="Example Repository",
496
+ initialization={
497
+ "init_type": "Clean",
498
+ })
499
+ example_variable_group = azuredevops.VariableGroup("example",
500
+ project_id=example.id,
501
+ name="Example Pipeline Variables",
502
+ description="Managed by Pulumi",
463
503
  allow_access=True,
464
- variables=[azuredevops.VariableGroupVariableArgs(
465
- name="FOO",
466
- value="BAR",
467
- )])
468
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
469
- project_id=example_project.id,
504
+ variables=[{
505
+ "name": "FOO",
506
+ "value": "BAR",
507
+ }])
508
+ example_build_definition = azuredevops.BuildDefinition("example",
509
+ project_id=example.id,
510
+ name="Example Build Definition",
470
511
  path="\\\\ExampleFolder",
471
- ci_trigger=azuredevops.BuildDefinitionCiTriggerArgs(
472
- use_yaml=False,
473
- ),
474
- schedules=[azuredevops.BuildDefinitionScheduleArgs(
475
- branch_filters=[azuredevops.BuildDefinitionScheduleBranchFilterArgs(
476
- includes=["master"],
477
- excludes=[
512
+ ci_trigger={
513
+ "use_yaml": False,
514
+ },
515
+ schedules=[{
516
+ "branch_filters": [{
517
+ "includes": ["master"],
518
+ "excludes": [
478
519
  "test",
479
520
  "regression",
480
521
  ],
481
- )],
482
- days_to_builds=[
522
+ }],
523
+ "days_to_builds": [
483
524
  "Wed",
484
525
  "Sun",
485
526
  ],
486
- schedule_only_with_changes=True,
487
- start_hours=10,
488
- start_minutes=59,
489
- time_zone="(UTC) Coordinated Universal Time",
490
- )],
491
- repository=azuredevops.BuildDefinitionRepositoryArgs(
492
- repo_type="TfsGit",
493
- repo_id=example_git.id,
494
- branch_name=example_git.default_branch,
495
- yml_path="azure-pipelines.yml",
496
- ),
527
+ "schedule_only_with_changes": True,
528
+ "start_hours": 10,
529
+ "start_minutes": 59,
530
+ "time_zone": "(UTC) Coordinated Universal Time",
531
+ }],
532
+ repository={
533
+ "repo_type": "TfsGit",
534
+ "repo_id": example_git.id,
535
+ "branch_name": example_git.default_branch,
536
+ "yml_path": "azure-pipelines.yml",
537
+ },
497
538
  variable_groups=[example_variable_group.id],
498
539
  variables=[
499
- azuredevops.BuildDefinitionVariableArgs(
500
- name="PipelineVariable",
501
- value="Go Microsoft!",
502
- ),
503
- azuredevops.BuildDefinitionVariableArgs(
504
- name="PipelineSecret",
505
- secret_value="ZGV2cw",
506
- is_secret=True,
507
- ),
540
+ {
541
+ "name": "PipelineVariable",
542
+ "value": "Go Microsoft!",
543
+ },
544
+ {
545
+ "name": "PipelineSecret",
546
+ "secret_value": "ZGV2cw",
547
+ "is_secret": True,
548
+ },
508
549
  ])
509
550
  ```
510
- <!--End PulumiCodeChooser -->
511
551
 
512
552
  ### GitHub Enterprise
513
- <!--Start PulumiCodeChooser -->
514
553
  ```python
515
554
  import pulumi
516
555
  import pulumi_azuredevops as azuredevops
517
556
 
518
- example_project = azuredevops.Project("exampleProject",
557
+ example = azuredevops.Project("example",
558
+ name="Example Project",
519
559
  visibility="private",
520
560
  version_control="Git",
521
561
  work_item_template="Agile")
522
- example_service_endpoint_git_hub_enterprise = azuredevops.ServiceEndpointGitHubEnterprise("exampleServiceEndpointGitHubEnterprise",
523
- project_id=example_project.id,
562
+ example_service_endpoint_git_hub_enterprise = azuredevops.ServiceEndpointGitHubEnterprise("example",
563
+ project_id=example.id,
524
564
  service_endpoint_name="Example GitHub Enterprise",
525
565
  url="https://github.contoso.com",
526
- description="Managed by Terraform",
527
- auth_personal=azuredevops.ServiceEndpointGitHubEnterpriseAuthPersonalArgs(
528
- personal_access_token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
529
- ))
530
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
531
- project_id=example_project.id,
566
+ description="Managed by Pulumi",
567
+ auth_personal={
568
+ "personal_access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
569
+ })
570
+ example_build_definition = azuredevops.BuildDefinition("example",
571
+ project_id=example.id,
572
+ name="Example Build Definition",
532
573
  path="\\\\ExampleFolder",
533
- ci_trigger=azuredevops.BuildDefinitionCiTriggerArgs(
534
- use_yaml=False,
535
- ),
536
- repository=azuredevops.BuildDefinitionRepositoryArgs(
537
- repo_type="GitHubEnterprise",
538
- repo_id="<GitHub Org>/<Repo Name>",
539
- github_enterprise_url="https://github.company.com",
540
- branch_name="master",
541
- yml_path="azure-pipelines.yml",
542
- service_connection_id=example_service_endpoint_git_hub_enterprise.id,
543
- ),
544
- schedules=[azuredevops.BuildDefinitionScheduleArgs(
545
- branch_filters=[azuredevops.BuildDefinitionScheduleBranchFilterArgs(
546
- includes=["main"],
547
- excludes=[
574
+ ci_trigger={
575
+ "use_yaml": False,
576
+ },
577
+ repository={
578
+ "repo_type": "GitHubEnterprise",
579
+ "repo_id": "<GitHub Org>/<Repo Name>",
580
+ "github_enterprise_url": "https://github.company.com",
581
+ "branch_name": "master",
582
+ "yml_path": "azure-pipelines.yml",
583
+ "service_connection_id": example_service_endpoint_git_hub_enterprise.id,
584
+ },
585
+ schedules=[{
586
+ "branch_filters": [{
587
+ "includes": ["main"],
588
+ "excludes": [
548
589
  "test",
549
590
  "regression",
550
591
  ],
551
- )],
552
- days_to_builds=[
592
+ }],
593
+ "days_to_builds": [
553
594
  "Wed",
554
595
  "Sun",
555
596
  ],
556
- schedule_only_with_changes=True,
557
- start_hours=10,
558
- start_minutes=59,
559
- time_zone="(UTC) Coordinated Universal Time",
560
- )])
597
+ "schedule_only_with_changes": True,
598
+ "start_hours": 10,
599
+ "start_minutes": 59,
600
+ "time_zone": "(UTC) Coordinated Universal Time",
601
+ }])
602
+ ```
603
+
604
+ ### Build Completion Trigger
605
+ ```python
606
+ import pulumi
607
+ import pulumi_azuredevops as azuredevops
608
+
609
+ example = azuredevops.BuildDefinition("example",
610
+ project_id=example_azuredevops_project["id"],
611
+ name="Example Build Definition",
612
+ path="\\\\ExampleFolder",
613
+ ci_trigger={
614
+ "use_yaml": False,
615
+ },
616
+ repository={
617
+ "repo_type": "GitHubEnterprise",
618
+ "repo_id": "<GitHub Org>/<Repo Name>",
619
+ "github_enterprise_url": "https://github.company.com",
620
+ "branch_name": "main",
621
+ "yml_path": "azure-pipelines.yml",
622
+ "service_connection_id": example_azuredevops_serviceendpoint_github_enterprise["id"],
623
+ },
624
+ build_completion_triggers=[{
625
+ "build_definition_id": 10,
626
+ "branch_filters": [{
627
+ "includes": ["main"],
628
+ "excludes": ["test"],
629
+ }],
630
+ }])
631
+ ```
632
+
633
+ ### Pull Request Trigger
634
+ ```python
635
+ import pulumi
636
+ import pulumi_azuredevops as azuredevops
637
+
638
+ example = azuredevops.get_service_endpoint_github(project_id=example_azuredevops_project["id"],
639
+ service_endpoint_id="00000000-0000-0000-0000-000000000000")
640
+ example_build_definition = azuredevops.BuildDefinition("example",
641
+ project_id=example_azuredevops_project2["id"],
642
+ name="Example Build Definition",
643
+ path="\\\\ExampleFolder",
644
+ ci_trigger={
645
+ "use_yaml": False,
646
+ },
647
+ repository={
648
+ "repo_type": "GitHub",
649
+ "repo_id": "<GitHub Org>/<Repo Name>",
650
+ "branch_name": "main",
651
+ "yml_path": "azure-pipelines.yml",
652
+ "service_connection_id": example.id,
653
+ },
654
+ pull_request_trigger={
655
+ "override": {
656
+ "branch_filters": [{
657
+ "includes": ["main"],
658
+ }],
659
+ },
660
+ "forks": {
661
+ "enabled": False,
662
+ "share_secrets": False,
663
+ },
664
+ })
561
665
  ```
562
- <!--End PulumiCodeChooser -->
563
666
 
564
667
  ## Remarks
565
668
 
@@ -593,16 +696,17 @@ class BuildDefinition(pulumi.CustomResource):
593
696
  :param str resource_name: The name of the resource.
594
697
  :param pulumi.ResourceOptions opts: Options for the resource.
595
698
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
596
- :param pulumi.Input[pulumi.InputType['BuildDefinitionCiTriggerArgs']] ci_trigger: Continuous Integration trigger.
597
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionFeatureArgs']]]] features: A `features` blocks as documented below.
699
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]] build_completion_triggers: A `build_completion_trigger` block as documented below.
700
+ :param pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']] ci_trigger: A `ci_trigger` block as documented below.
701
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]] features: A `features` blocks as documented below.
598
702
  :param pulumi.Input[str] name: The name of the build definition.
599
703
  :param pulumi.Input[str] path: The folder path of the build definition.
600
704
  :param pulumi.Input[str] project_id: The project ID or project name.
601
- :param pulumi.Input[pulumi.InputType['BuildDefinitionPullRequestTriggerArgs']] pull_request_trigger: Pull Request Integration trigger.
705
+ :param pulumi.Input[Union['BuildDefinitionPullRequestTriggerArgs', 'BuildDefinitionPullRequestTriggerArgsDict']] pull_request_trigger: A `pull_request_trigger` block as documented below.
602
706
  :param pulumi.Input[str] queue_status: The queue status of the build definition. Valid values: `enabled` or `paused` or `disabled`. Defaults to `enabled`.
603
- :param pulumi.Input[pulumi.InputType['BuildDefinitionRepositoryArgs']] repository: A `repository` block as documented below.
707
+ :param pulumi.Input[Union['BuildDefinitionRepositoryArgs', 'BuildDefinitionRepositoryArgsDict']] repository: A `repository` block as documented below.
604
708
  :param pulumi.Input[Sequence[pulumi.Input[int]]] variable_groups: A list of variable group IDs (integers) to link to the build definition.
605
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionVariableArgs']]]] variables: A list of `variable` blocks, as documented below.
709
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionVariableArgs', 'BuildDefinitionVariableArgsDict']]]] variables: A list of `variable` blocks, as documented below.
606
710
  """
607
711
  ...
608
712
  @overload
@@ -615,124 +719,189 @@ class BuildDefinition(pulumi.CustomResource):
615
719
 
616
720
  ## Example Usage
617
721
 
618
- ### Tfs
619
- <!--Start PulumiCodeChooser -->
722
+ ### Azure DevOps
620
723
  ```python
621
724
  import pulumi
622
725
  import pulumi_azuredevops as azuredevops
623
726
 
624
- example_project = azuredevops.Project("exampleProject",
727
+ example = azuredevops.Project("example",
728
+ name="Example Project",
625
729
  visibility="private",
626
730
  version_control="Git",
627
731
  work_item_template="Agile")
628
- example_git = azuredevops.Git("exampleGit",
629
- project_id=example_project.id,
630
- initialization=azuredevops.GitInitializationArgs(
631
- init_type="Clean",
632
- ))
633
- example_variable_group = azuredevops.VariableGroup("exampleVariableGroup",
634
- project_id=example_project.id,
635
- description="Managed by Terraform",
732
+ example_git = azuredevops.Git("example",
733
+ project_id=example.id,
734
+ name="Example Repository",
735
+ initialization={
736
+ "init_type": "Clean",
737
+ })
738
+ example_variable_group = azuredevops.VariableGroup("example",
739
+ project_id=example.id,
740
+ name="Example Pipeline Variables",
741
+ description="Managed by Pulumi",
636
742
  allow_access=True,
637
- variables=[azuredevops.VariableGroupVariableArgs(
638
- name="FOO",
639
- value="BAR",
640
- )])
641
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
642
- project_id=example_project.id,
743
+ variables=[{
744
+ "name": "FOO",
745
+ "value": "BAR",
746
+ }])
747
+ example_build_definition = azuredevops.BuildDefinition("example",
748
+ project_id=example.id,
749
+ name="Example Build Definition",
643
750
  path="\\\\ExampleFolder",
644
- ci_trigger=azuredevops.BuildDefinitionCiTriggerArgs(
645
- use_yaml=False,
646
- ),
647
- schedules=[azuredevops.BuildDefinitionScheduleArgs(
648
- branch_filters=[azuredevops.BuildDefinitionScheduleBranchFilterArgs(
649
- includes=["master"],
650
- excludes=[
751
+ ci_trigger={
752
+ "use_yaml": False,
753
+ },
754
+ schedules=[{
755
+ "branch_filters": [{
756
+ "includes": ["master"],
757
+ "excludes": [
651
758
  "test",
652
759
  "regression",
653
760
  ],
654
- )],
655
- days_to_builds=[
761
+ }],
762
+ "days_to_builds": [
656
763
  "Wed",
657
764
  "Sun",
658
765
  ],
659
- schedule_only_with_changes=True,
660
- start_hours=10,
661
- start_minutes=59,
662
- time_zone="(UTC) Coordinated Universal Time",
663
- )],
664
- repository=azuredevops.BuildDefinitionRepositoryArgs(
665
- repo_type="TfsGit",
666
- repo_id=example_git.id,
667
- branch_name=example_git.default_branch,
668
- yml_path="azure-pipelines.yml",
669
- ),
766
+ "schedule_only_with_changes": True,
767
+ "start_hours": 10,
768
+ "start_minutes": 59,
769
+ "time_zone": "(UTC) Coordinated Universal Time",
770
+ }],
771
+ repository={
772
+ "repo_type": "TfsGit",
773
+ "repo_id": example_git.id,
774
+ "branch_name": example_git.default_branch,
775
+ "yml_path": "azure-pipelines.yml",
776
+ },
670
777
  variable_groups=[example_variable_group.id],
671
778
  variables=[
672
- azuredevops.BuildDefinitionVariableArgs(
673
- name="PipelineVariable",
674
- value="Go Microsoft!",
675
- ),
676
- azuredevops.BuildDefinitionVariableArgs(
677
- name="PipelineSecret",
678
- secret_value="ZGV2cw",
679
- is_secret=True,
680
- ),
779
+ {
780
+ "name": "PipelineVariable",
781
+ "value": "Go Microsoft!",
782
+ },
783
+ {
784
+ "name": "PipelineSecret",
785
+ "secret_value": "ZGV2cw",
786
+ "is_secret": True,
787
+ },
681
788
  ])
682
789
  ```
683
- <!--End PulumiCodeChooser -->
684
790
 
685
791
  ### GitHub Enterprise
686
- <!--Start PulumiCodeChooser -->
687
792
  ```python
688
793
  import pulumi
689
794
  import pulumi_azuredevops as azuredevops
690
795
 
691
- example_project = azuredevops.Project("exampleProject",
796
+ example = azuredevops.Project("example",
797
+ name="Example Project",
692
798
  visibility="private",
693
799
  version_control="Git",
694
800
  work_item_template="Agile")
695
- example_service_endpoint_git_hub_enterprise = azuredevops.ServiceEndpointGitHubEnterprise("exampleServiceEndpointGitHubEnterprise",
696
- project_id=example_project.id,
801
+ example_service_endpoint_git_hub_enterprise = azuredevops.ServiceEndpointGitHubEnterprise("example",
802
+ project_id=example.id,
697
803
  service_endpoint_name="Example GitHub Enterprise",
698
804
  url="https://github.contoso.com",
699
- description="Managed by Terraform",
700
- auth_personal=azuredevops.ServiceEndpointGitHubEnterpriseAuthPersonalArgs(
701
- personal_access_token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
702
- ))
703
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
704
- project_id=example_project.id,
805
+ description="Managed by Pulumi",
806
+ auth_personal={
807
+ "personal_access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
808
+ })
809
+ example_build_definition = azuredevops.BuildDefinition("example",
810
+ project_id=example.id,
811
+ name="Example Build Definition",
705
812
  path="\\\\ExampleFolder",
706
- ci_trigger=azuredevops.BuildDefinitionCiTriggerArgs(
707
- use_yaml=False,
708
- ),
709
- repository=azuredevops.BuildDefinitionRepositoryArgs(
710
- repo_type="GitHubEnterprise",
711
- repo_id="<GitHub Org>/<Repo Name>",
712
- github_enterprise_url="https://github.company.com",
713
- branch_name="master",
714
- yml_path="azure-pipelines.yml",
715
- service_connection_id=example_service_endpoint_git_hub_enterprise.id,
716
- ),
717
- schedules=[azuredevops.BuildDefinitionScheduleArgs(
718
- branch_filters=[azuredevops.BuildDefinitionScheduleBranchFilterArgs(
719
- includes=["main"],
720
- excludes=[
813
+ ci_trigger={
814
+ "use_yaml": False,
815
+ },
816
+ repository={
817
+ "repo_type": "GitHubEnterprise",
818
+ "repo_id": "<GitHub Org>/<Repo Name>",
819
+ "github_enterprise_url": "https://github.company.com",
820
+ "branch_name": "master",
821
+ "yml_path": "azure-pipelines.yml",
822
+ "service_connection_id": example_service_endpoint_git_hub_enterprise.id,
823
+ },
824
+ schedules=[{
825
+ "branch_filters": [{
826
+ "includes": ["main"],
827
+ "excludes": [
721
828
  "test",
722
829
  "regression",
723
830
  ],
724
- )],
725
- days_to_builds=[
831
+ }],
832
+ "days_to_builds": [
726
833
  "Wed",
727
834
  "Sun",
728
835
  ],
729
- schedule_only_with_changes=True,
730
- start_hours=10,
731
- start_minutes=59,
732
- time_zone="(UTC) Coordinated Universal Time",
733
- )])
836
+ "schedule_only_with_changes": True,
837
+ "start_hours": 10,
838
+ "start_minutes": 59,
839
+ "time_zone": "(UTC) Coordinated Universal Time",
840
+ }])
841
+ ```
842
+
843
+ ### Build Completion Trigger
844
+ ```python
845
+ import pulumi
846
+ import pulumi_azuredevops as azuredevops
847
+
848
+ example = azuredevops.BuildDefinition("example",
849
+ project_id=example_azuredevops_project["id"],
850
+ name="Example Build Definition",
851
+ path="\\\\ExampleFolder",
852
+ ci_trigger={
853
+ "use_yaml": False,
854
+ },
855
+ repository={
856
+ "repo_type": "GitHubEnterprise",
857
+ "repo_id": "<GitHub Org>/<Repo Name>",
858
+ "github_enterprise_url": "https://github.company.com",
859
+ "branch_name": "main",
860
+ "yml_path": "azure-pipelines.yml",
861
+ "service_connection_id": example_azuredevops_serviceendpoint_github_enterprise["id"],
862
+ },
863
+ build_completion_triggers=[{
864
+ "build_definition_id": 10,
865
+ "branch_filters": [{
866
+ "includes": ["main"],
867
+ "excludes": ["test"],
868
+ }],
869
+ }])
870
+ ```
871
+
872
+ ### Pull Request Trigger
873
+ ```python
874
+ import pulumi
875
+ import pulumi_azuredevops as azuredevops
876
+
877
+ example = azuredevops.get_service_endpoint_github(project_id=example_azuredevops_project["id"],
878
+ service_endpoint_id="00000000-0000-0000-0000-000000000000")
879
+ example_build_definition = azuredevops.BuildDefinition("example",
880
+ project_id=example_azuredevops_project2["id"],
881
+ name="Example Build Definition",
882
+ path="\\\\ExampleFolder",
883
+ ci_trigger={
884
+ "use_yaml": False,
885
+ },
886
+ repository={
887
+ "repo_type": "GitHub",
888
+ "repo_id": "<GitHub Org>/<Repo Name>",
889
+ "branch_name": "main",
890
+ "yml_path": "azure-pipelines.yml",
891
+ "service_connection_id": example.id,
892
+ },
893
+ pull_request_trigger={
894
+ "override": {
895
+ "branch_filters": [{
896
+ "includes": ["main"],
897
+ }],
898
+ },
899
+ "forks": {
900
+ "enabled": False,
901
+ "share_secrets": False,
902
+ },
903
+ })
734
904
  ```
735
- <!--End PulumiCodeChooser -->
736
905
 
737
906
  ## Remarks
738
907
 
@@ -779,17 +948,18 @@ class BuildDefinition(pulumi.CustomResource):
779
948
  resource_name: str,
780
949
  opts: Optional[pulumi.ResourceOptions] = None,
781
950
  agent_pool_name: Optional[pulumi.Input[str]] = None,
782
- ci_trigger: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionCiTriggerArgs']]] = None,
783
- features: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionFeatureArgs']]]]] = None,
951
+ build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]]] = None,
952
+ ci_trigger: Optional[pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']]] = None,
953
+ features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]]] = None,
784
954
  name: Optional[pulumi.Input[str]] = None,
785
955
  path: Optional[pulumi.Input[str]] = None,
786
956
  project_id: Optional[pulumi.Input[str]] = None,
787
- pull_request_trigger: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionPullRequestTriggerArgs']]] = None,
957
+ pull_request_trigger: Optional[pulumi.Input[Union['BuildDefinitionPullRequestTriggerArgs', 'BuildDefinitionPullRequestTriggerArgsDict']]] = None,
788
958
  queue_status: Optional[pulumi.Input[str]] = None,
789
- repository: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionRepositoryArgs']]] = None,
790
- schedules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionScheduleArgs']]]]] = None,
959
+ repository: Optional[pulumi.Input[Union['BuildDefinitionRepositoryArgs', 'BuildDefinitionRepositoryArgsDict']]] = None,
960
+ schedules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionScheduleArgs', 'BuildDefinitionScheduleArgsDict']]]]] = None,
791
961
  variable_groups: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
792
- variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionVariableArgs']]]]] = None,
962
+ variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionVariableArgs', 'BuildDefinitionVariableArgsDict']]]]] = None,
793
963
  __props__=None):
794
964
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
795
965
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -800,6 +970,7 @@ class BuildDefinition(pulumi.CustomResource):
800
970
  __props__ = BuildDefinitionArgs.__new__(BuildDefinitionArgs)
801
971
 
802
972
  __props__.__dict__["agent_pool_name"] = agent_pool_name
973
+ __props__.__dict__["build_completion_triggers"] = build_completion_triggers
803
974
  __props__.__dict__["ci_trigger"] = ci_trigger
804
975
  __props__.__dict__["features"] = features
805
976
  __props__.__dict__["name"] = name
@@ -816,8 +987,6 @@ class BuildDefinition(pulumi.CustomResource):
816
987
  __props__.__dict__["variable_groups"] = variable_groups
817
988
  __props__.__dict__["variables"] = variables
818
989
  __props__.__dict__["revision"] = None
819
- alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azuredevops:Build/buildDefinition:BuildDefinition")])
820
- opts = pulumi.ResourceOptions.merge(opts, alias_opts)
821
990
  super(BuildDefinition, __self__).__init__(
822
991
  'azuredevops:index/buildDefinition:BuildDefinition',
823
992
  resource_name,
@@ -829,18 +998,19 @@ class BuildDefinition(pulumi.CustomResource):
829
998
  id: pulumi.Input[str],
830
999
  opts: Optional[pulumi.ResourceOptions] = None,
831
1000
  agent_pool_name: Optional[pulumi.Input[str]] = None,
832
- ci_trigger: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionCiTriggerArgs']]] = None,
833
- features: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionFeatureArgs']]]]] = None,
1001
+ build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]]] = None,
1002
+ ci_trigger: Optional[pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']]] = None,
1003
+ features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]]] = None,
834
1004
  name: Optional[pulumi.Input[str]] = None,
835
1005
  path: Optional[pulumi.Input[str]] = None,
836
1006
  project_id: Optional[pulumi.Input[str]] = None,
837
- pull_request_trigger: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionPullRequestTriggerArgs']]] = None,
1007
+ pull_request_trigger: Optional[pulumi.Input[Union['BuildDefinitionPullRequestTriggerArgs', 'BuildDefinitionPullRequestTriggerArgsDict']]] = None,
838
1008
  queue_status: Optional[pulumi.Input[str]] = None,
839
- repository: Optional[pulumi.Input[pulumi.InputType['BuildDefinitionRepositoryArgs']]] = None,
1009
+ repository: Optional[pulumi.Input[Union['BuildDefinitionRepositoryArgs', 'BuildDefinitionRepositoryArgsDict']]] = None,
840
1010
  revision: Optional[pulumi.Input[int]] = None,
841
- schedules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionScheduleArgs']]]]] = None,
1011
+ schedules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionScheduleArgs', 'BuildDefinitionScheduleArgsDict']]]]] = None,
842
1012
  variable_groups: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
843
- variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionVariableArgs']]]]] = None) -> 'BuildDefinition':
1013
+ variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionVariableArgs', 'BuildDefinitionVariableArgsDict']]]]] = None) -> 'BuildDefinition':
844
1014
  """
845
1015
  Get an existing BuildDefinition resource's state with the given name, id, and optional extra
846
1016
  properties used to qualify the lookup.
@@ -849,23 +1019,25 @@ class BuildDefinition(pulumi.CustomResource):
849
1019
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
850
1020
  :param pulumi.ResourceOptions opts: Options for the resource.
851
1021
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
852
- :param pulumi.Input[pulumi.InputType['BuildDefinitionCiTriggerArgs']] ci_trigger: Continuous Integration trigger.
853
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionFeatureArgs']]]] features: A `features` blocks as documented below.
1022
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]] build_completion_triggers: A `build_completion_trigger` block as documented below.
1023
+ :param pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']] ci_trigger: A `ci_trigger` block as documented below.
1024
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]] features: A `features` blocks as documented below.
854
1025
  :param pulumi.Input[str] name: The name of the build definition.
855
1026
  :param pulumi.Input[str] path: The folder path of the build definition.
856
1027
  :param pulumi.Input[str] project_id: The project ID or project name.
857
- :param pulumi.Input[pulumi.InputType['BuildDefinitionPullRequestTriggerArgs']] pull_request_trigger: Pull Request Integration trigger.
1028
+ :param pulumi.Input[Union['BuildDefinitionPullRequestTriggerArgs', 'BuildDefinitionPullRequestTriggerArgsDict']] pull_request_trigger: A `pull_request_trigger` block as documented below.
858
1029
  :param pulumi.Input[str] queue_status: The queue status of the build definition. Valid values: `enabled` or `paused` or `disabled`. Defaults to `enabled`.
859
- :param pulumi.Input[pulumi.InputType['BuildDefinitionRepositoryArgs']] repository: A `repository` block as documented below.
1030
+ :param pulumi.Input[Union['BuildDefinitionRepositoryArgs', 'BuildDefinitionRepositoryArgsDict']] repository: A `repository` block as documented below.
860
1031
  :param pulumi.Input[int] revision: The revision of the build definition
861
1032
  :param pulumi.Input[Sequence[pulumi.Input[int]]] variable_groups: A list of variable group IDs (integers) to link to the build definition.
862
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BuildDefinitionVariableArgs']]]] variables: A list of `variable` blocks, as documented below.
1033
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionVariableArgs', 'BuildDefinitionVariableArgsDict']]]] variables: A list of `variable` blocks, as documented below.
863
1034
  """
864
1035
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
865
1036
 
866
1037
  __props__ = _BuildDefinitionState.__new__(_BuildDefinitionState)
867
1038
 
868
1039
  __props__.__dict__["agent_pool_name"] = agent_pool_name
1040
+ __props__.__dict__["build_completion_triggers"] = build_completion_triggers
869
1041
  __props__.__dict__["ci_trigger"] = ci_trigger
870
1042
  __props__.__dict__["features"] = features
871
1043
  __props__.__dict__["name"] = name
@@ -888,11 +1060,19 @@ class BuildDefinition(pulumi.CustomResource):
888
1060
  """
889
1061
  return pulumi.get(self, "agent_pool_name")
890
1062
 
1063
+ @property
1064
+ @pulumi.getter(name="buildCompletionTriggers")
1065
+ def build_completion_triggers(self) -> pulumi.Output[Optional[Sequence['outputs.BuildDefinitionBuildCompletionTrigger']]]:
1066
+ """
1067
+ A `build_completion_trigger` block as documented below.
1068
+ """
1069
+ return pulumi.get(self, "build_completion_triggers")
1070
+
891
1071
  @property
892
1072
  @pulumi.getter(name="ciTrigger")
893
1073
  def ci_trigger(self) -> pulumi.Output[Optional['outputs.BuildDefinitionCiTrigger']]:
894
1074
  """
895
- Continuous Integration trigger.
1075
+ A `ci_trigger` block as documented below.
896
1076
  """
897
1077
  return pulumi.get(self, "ci_trigger")
898
1078
 
@@ -932,7 +1112,7 @@ class BuildDefinition(pulumi.CustomResource):
932
1112
  @pulumi.getter(name="pullRequestTrigger")
933
1113
  def pull_request_trigger(self) -> pulumi.Output[Optional['outputs.BuildDefinitionPullRequestTrigger']]:
934
1114
  """
935
- Pull Request Integration trigger.
1115
+ A `pull_request_trigger` block as documented below.
936
1116
  """
937
1117
  return pulumi.get(self, "pull_request_trigger")
938
1118