pulumi-azuredevops 3.1.0a1710568843__py3-none-any.whl → 3.6.0a1736849250__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 (139) hide show
  1. pulumi_azuredevops/__init__.py +96 -0
  2. pulumi_azuredevops/_inputs.py +1740 -108
  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 -69
  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 -198
  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 +19 -14
  17. pulumi_azuredevops/check_branch_control.py +109 -108
  18. pulumi_azuredevops/check_business_hours.py +109 -108
  19. pulumi_azuredevops/check_exclusive_lock.py +77 -28
  20. pulumi_azuredevops/check_required_template.py +66 -65
  21. pulumi_azuredevops/config/__init__.pyi +5 -0
  22. pulumi_azuredevops/config/vars.py +5 -0
  23. pulumi_azuredevops/elastic_pool.py +31 -26
  24. pulumi_azuredevops/environment.py +17 -10
  25. pulumi_azuredevops/environment_resource_kubernetes.py +198 -2
  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 +45 -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 -97
  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 -14
  62. pulumi_azuredevops/group_entitlement.py +5 -8
  63. pulumi_azuredevops/group_membership.py +57 -28
  64. pulumi_azuredevops/iterative_permissions.py +9 -6
  65. pulumi_azuredevops/library_permissions.py +7 -4
  66. pulumi_azuredevops/outputs.py +447 -54
  67. pulumi_azuredevops/pipeline_authorization.py +101 -47
  68. pulumi_azuredevops/pool.py +7 -4
  69. pulumi_azuredevops/project.py +19 -16
  70. pulumi_azuredevops/project_features.py +9 -6
  71. pulumi_azuredevops/project_permissions.py +9 -6
  72. pulumi_azuredevops/project_pipeline_settings.py +15 -12
  73. pulumi_azuredevops/provider.py +5 -40
  74. pulumi_azuredevops/pulumi-plugin.json +2 -1
  75. pulumi_azuredevops/queue.py +23 -22
  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 -112
  90. pulumi_azuredevops/service_endpoint_bit_bucket.py +19 -16
  91. pulumi_azuredevops/service_endpoint_docker_registry.py +17 -14
  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 -58
  95. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +26 -23
  96. pulumi_azuredevops/service_endpoint_git_lab.py +479 -0
  97. pulumi_azuredevops/service_endpoint_kubernetes.py +160 -15
  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 -6
  129. pulumi_azuredevops/variable_group.py +91 -86
  130. pulumi_azuredevops/variable_group_permissions.py +17 -12
  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-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736849250.dist-info}/METADATA +7 -6
  136. pulumi_azuredevops-3.6.0a1736849250.dist-info/RECORD +140 -0
  137. {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736849250.dist-info}/WHEEL +1 -1
  138. pulumi_azuredevops-3.1.0a1710568843.dist-info/RECORD +0 -124
  139. {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736849250.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  import asyncio
7
+ import functools
7
8
  import importlib.metadata
8
9
  import importlib.util
9
10
  import inspect
@@ -11,14 +12,19 @@ import json
11
12
  import os
12
13
  import sys
13
14
  import typing
15
+ import warnings
16
+ import base64
14
17
 
15
18
  import pulumi
16
19
  import pulumi.runtime
17
20
  from pulumi.runtime.sync_await import _sync_await
21
+ from pulumi.runtime.proto import resource_pb2
18
22
 
19
23
  from semver import VersionInfo as SemverVersion
20
24
  from parver import Version as PEP440Version
21
25
 
26
+ C = typing.TypeVar("C", bound=typing.Callable)
27
+
22
28
 
23
29
  def get_env(*args):
24
30
  for v in args:
@@ -96,10 +102,6 @@ def _get_semver_version():
96
102
  _version = _get_semver_version()
97
103
  _version_str = str(_version)
98
104
 
99
-
100
- def get_version():
101
- return _version_str
102
-
103
105
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
106
  return pulumi.ResourceOptions(
105
107
  version=get_version(),
@@ -262,7 +264,7 @@ def call_plain(
262
264
  output = pulumi.runtime.call(tok, props, res, typ)
263
265
 
264
266
  # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
- result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
267
+ result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
266
268
 
267
269
  problem = None
268
270
  if not known:
@@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
287
289
  await o._resources,
288
290
  )
289
291
 
292
+
293
+ # This is included to provide an upgrade path for users who are using a version
294
+ # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
+ def deprecated(message: str) -> typing.Callable[[C], C]:
296
+ """
297
+ Decorator to indicate a function is deprecated.
298
+
299
+ As well as inserting appropriate statements to indicate that the function is
300
+ deprecated, this decorator also tags the function with a special attribute
301
+ so that Pulumi code can detect that it is deprecated and react appropriately
302
+ in certain situations.
303
+
304
+ message is the deprecation message that should be printed if the function is called.
305
+ """
306
+
307
+ def decorator(fn: C) -> C:
308
+ if not callable(fn):
309
+ raise TypeError("Expected fn to be callable")
310
+
311
+ @functools.wraps(fn)
312
+ def deprecated_fn(*args, **kwargs):
313
+ warnings.warn(message)
314
+ pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
+
316
+ return fn(*args, **kwargs)
317
+
318
+ deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
+ return typing.cast(C, deprecated_fn)
320
+
321
+ return decorator
322
+
290
323
  def get_plugin_download_url():
291
324
  return None
325
+
326
+ def get_version():
327
+ return _version_str
@@ -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
 
12
17
  __all__ = ['AreaPermissionsArgs', 'AreaPermissions']
@@ -255,16 +260,16 @@ class AreaPermissions(pulumi.CustomResource):
255
260
 
256
261
  ## Example Usage
257
262
 
258
- <!--Start PulumiCodeChooser -->
259
263
  ```python
260
264
  import pulumi
261
265
  import pulumi_azuredevops as azuredevops
262
266
 
263
267
  example = azuredevops.Project("example",
268
+ name="Example Project",
264
269
  work_item_template="Agile",
265
270
  version_control="Git",
266
271
  visibility="private",
267
- description="Managed by Terraform")
272
+ description="Managed by Pulumi")
268
273
  example_project_readers = azuredevops.get_group_output(project_id=example.id,
269
274
  name="Readers")
270
275
  example_root_permissions = azuredevops.AreaPermissions("example-root-permissions",
@@ -278,7 +283,6 @@ class AreaPermissions(pulumi.CustomResource):
278
283
  "WORK_ITEM_READ": "Allow",
279
284
  })
280
285
  ```
281
- <!--End PulumiCodeChooser -->
282
286
 
283
287
  ## Relevant Links
284
288
 
@@ -330,16 +334,16 @@ class AreaPermissions(pulumi.CustomResource):
330
334
 
331
335
  ## Example Usage
332
336
 
333
- <!--Start PulumiCodeChooser -->
334
337
  ```python
335
338
  import pulumi
336
339
  import pulumi_azuredevops as azuredevops
337
340
 
338
341
  example = azuredevops.Project("example",
342
+ name="Example Project",
339
343
  work_item_template="Agile",
340
344
  version_control="Git",
341
345
  visibility="private",
342
- description="Managed by Terraform")
346
+ description="Managed by Pulumi")
343
347
  example_project_readers = azuredevops.get_group_output(project_id=example.id,
344
348
  name="Readers")
345
349
  example_root_permissions = azuredevops.AreaPermissions("example-root-permissions",
@@ -353,7 +357,6 @@ class AreaPermissions(pulumi.CustomResource):
353
357
  "WORK_ITEM_READ": "Allow",
354
358
  })
355
359
  ```
356
- <!--End PulumiCodeChooser -->
357
360
 
358
361
  ## Relevant Links
359
362
 
@@ -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 *
@@ -163,44 +168,43 @@ class BranchPolicyAutoReviewers(pulumi.CustomResource):
163
168
  blocking: Optional[pulumi.Input[bool]] = None,
164
169
  enabled: Optional[pulumi.Input[bool]] = None,
165
170
  project_id: Optional[pulumi.Input[str]] = None,
166
- settings: Optional[pulumi.Input[pulumi.InputType['BranchPolicyAutoReviewersSettingsArgs']]] = None,
171
+ settings: Optional[pulumi.Input[Union['BranchPolicyAutoReviewersSettingsArgs', 'BranchPolicyAutoReviewersSettingsArgsDict']]] = None,
167
172
  __props__=None):
168
173
  """
169
174
  Manages required reviewer policy branch policy within Azure DevOps.
170
175
 
171
176
  ## Example Usage
172
177
 
173
- <!--Start PulumiCodeChooser -->
174
178
  ```python
175
179
  import pulumi
176
180
  import pulumi_azuredevops as azuredevops
177
181
 
178
- example_project = azuredevops.Project("exampleProject")
179
- example_git = azuredevops.Git("exampleGit",
180
- project_id=example_project.id,
181
- initialization=azuredevops.GitInitializationArgs(
182
- init_type="Clean",
183
- ))
184
- example_user = azuredevops.User("exampleUser",
182
+ example = azuredevops.Project("example", name="Example Project")
183
+ example_git = azuredevops.Git("example",
184
+ project_id=example.id,
185
+ name="Example Repository",
186
+ initialization={
187
+ "init_type": "Clean",
188
+ })
189
+ example_user = azuredevops.User("example",
185
190
  principal_name="mail@email.com",
186
191
  account_license_type="basic")
187
- example_branch_policy_auto_reviewers = azuredevops.BranchPolicyAutoReviewers("exampleBranchPolicyAutoReviewers",
188
- project_id=example_project.id,
192
+ example_branch_policy_auto_reviewers = azuredevops.BranchPolicyAutoReviewers("example",
193
+ project_id=example.id,
189
194
  enabled=True,
190
195
  blocking=True,
191
- settings=azuredevops.BranchPolicyAutoReviewersSettingsArgs(
192
- auto_reviewer_ids=[example_user.id],
193
- submitter_can_vote=False,
194
- message="Auto reviewer",
195
- path_filters=["*/src/*.ts"],
196
- scopes=[azuredevops.BranchPolicyAutoReviewersSettingsScopeArgs(
197
- repository_id=example_git.id,
198
- repository_ref=example_git.default_branch,
199
- match_type="Exact",
200
- )],
201
- ))
196
+ settings={
197
+ "auto_reviewer_ids": [example_user.id],
198
+ "submitter_can_vote": False,
199
+ "message": "Auto reviewer",
200
+ "path_filters": ["*/src/*.ts"],
201
+ "scopes": [{
202
+ "repository_id": example_git.id,
203
+ "repository_ref": example_git.default_branch,
204
+ "match_type": "Exact",
205
+ }],
206
+ })
202
207
  ```
203
- <!--End PulumiCodeChooser -->
204
208
 
205
209
  ## Relevant Links
206
210
 
@@ -219,7 +223,7 @@ class BranchPolicyAutoReviewers(pulumi.CustomResource):
219
223
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. This relates to the Azure DevOps terms "optional" and "required" reviewers. Defaults to `true`.
220
224
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
221
225
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
222
- :param pulumi.Input[pulumi.InputType['BranchPolicyAutoReviewersSettingsArgs']] settings: Configuration for the policy. This block must be defined exactly once.
226
+ :param pulumi.Input[Union['BranchPolicyAutoReviewersSettingsArgs', 'BranchPolicyAutoReviewersSettingsArgsDict']] settings: Configuration for the policy. This block must be defined exactly once.
223
227
  """
224
228
  ...
225
229
  @overload
@@ -232,37 +236,36 @@ class BranchPolicyAutoReviewers(pulumi.CustomResource):
232
236
 
233
237
  ## Example Usage
234
238
 
235
- <!--Start PulumiCodeChooser -->
236
239
  ```python
237
240
  import pulumi
238
241
  import pulumi_azuredevops as azuredevops
239
242
 
240
- example_project = azuredevops.Project("exampleProject")
241
- example_git = azuredevops.Git("exampleGit",
242
- project_id=example_project.id,
243
- initialization=azuredevops.GitInitializationArgs(
244
- init_type="Clean",
245
- ))
246
- example_user = azuredevops.User("exampleUser",
243
+ example = azuredevops.Project("example", name="Example Project")
244
+ example_git = azuredevops.Git("example",
245
+ project_id=example.id,
246
+ name="Example Repository",
247
+ initialization={
248
+ "init_type": "Clean",
249
+ })
250
+ example_user = azuredevops.User("example",
247
251
  principal_name="mail@email.com",
248
252
  account_license_type="basic")
249
- example_branch_policy_auto_reviewers = azuredevops.BranchPolicyAutoReviewers("exampleBranchPolicyAutoReviewers",
250
- project_id=example_project.id,
253
+ example_branch_policy_auto_reviewers = azuredevops.BranchPolicyAutoReviewers("example",
254
+ project_id=example.id,
251
255
  enabled=True,
252
256
  blocking=True,
253
- settings=azuredevops.BranchPolicyAutoReviewersSettingsArgs(
254
- auto_reviewer_ids=[example_user.id],
255
- submitter_can_vote=False,
256
- message="Auto reviewer",
257
- path_filters=["*/src/*.ts"],
258
- scopes=[azuredevops.BranchPolicyAutoReviewersSettingsScopeArgs(
259
- repository_id=example_git.id,
260
- repository_ref=example_git.default_branch,
261
- match_type="Exact",
262
- )],
263
- ))
257
+ settings={
258
+ "auto_reviewer_ids": [example_user.id],
259
+ "submitter_can_vote": False,
260
+ "message": "Auto reviewer",
261
+ "path_filters": ["*/src/*.ts"],
262
+ "scopes": [{
263
+ "repository_id": example_git.id,
264
+ "repository_ref": example_git.default_branch,
265
+ "match_type": "Exact",
266
+ }],
267
+ })
264
268
  ```
265
- <!--End PulumiCodeChooser -->
266
269
 
267
270
  ## Relevant Links
268
271
 
@@ -294,7 +297,7 @@ class BranchPolicyAutoReviewers(pulumi.CustomResource):
294
297
  blocking: Optional[pulumi.Input[bool]] = None,
295
298
  enabled: Optional[pulumi.Input[bool]] = None,
296
299
  project_id: Optional[pulumi.Input[str]] = None,
297
- settings: Optional[pulumi.Input[pulumi.InputType['BranchPolicyAutoReviewersSettingsArgs']]] = None,
300
+ settings: Optional[pulumi.Input[Union['BranchPolicyAutoReviewersSettingsArgs', 'BranchPolicyAutoReviewersSettingsArgsDict']]] = None,
298
301
  __props__=None):
299
302
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
300
303
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -325,7 +328,7 @@ class BranchPolicyAutoReviewers(pulumi.CustomResource):
325
328
  blocking: Optional[pulumi.Input[bool]] = None,
326
329
  enabled: Optional[pulumi.Input[bool]] = None,
327
330
  project_id: Optional[pulumi.Input[str]] = None,
328
- settings: Optional[pulumi.Input[pulumi.InputType['BranchPolicyAutoReviewersSettingsArgs']]] = None) -> 'BranchPolicyAutoReviewers':
331
+ settings: Optional[pulumi.Input[Union['BranchPolicyAutoReviewersSettingsArgs', 'BranchPolicyAutoReviewersSettingsArgsDict']]] = None) -> 'BranchPolicyAutoReviewers':
329
332
  """
330
333
  Get an existing BranchPolicyAutoReviewers resource's state with the given name, id, and optional extra
331
334
  properties used to qualify the lookup.
@@ -336,7 +339,7 @@ class BranchPolicyAutoReviewers(pulumi.CustomResource):
336
339
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. This relates to the Azure DevOps terms "optional" and "required" reviewers. Defaults to `true`.
337
340
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
338
341
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
339
- :param pulumi.Input[pulumi.InputType['BranchPolicyAutoReviewersSettingsArgs']] settings: Configuration for the policy. This block must be defined exactly once.
342
+ :param pulumi.Input[Union['BranchPolicyAutoReviewersSettingsArgs', 'BranchPolicyAutoReviewersSettingsArgsDict']] settings: Configuration for the policy. This block must be defined exactly once.
340
343
  """
341
344
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
342
345
 
@@ -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 *
@@ -163,62 +168,63 @@ class BranchPolicyBuildValidation(pulumi.CustomResource):
163
168
  blocking: Optional[pulumi.Input[bool]] = None,
164
169
  enabled: Optional[pulumi.Input[bool]] = None,
165
170
  project_id: Optional[pulumi.Input[str]] = None,
166
- settings: Optional[pulumi.Input[pulumi.InputType['BranchPolicyBuildValidationSettingsArgs']]] = None,
171
+ settings: Optional[pulumi.Input[Union['BranchPolicyBuildValidationSettingsArgs', 'BranchPolicyBuildValidationSettingsArgsDict']]] = None,
167
172
  __props__=None):
168
173
  """
169
174
  Manages a build validation branch policy within Azure DevOps.
170
175
 
171
176
  ## Example Usage
172
177
 
173
- <!--Start PulumiCodeChooser -->
174
178
  ```python
175
179
  import pulumi
176
180
  import pulumi_azuredevops as azuredevops
177
181
 
178
- example_project = azuredevops.Project("exampleProject")
179
- example_git = azuredevops.Git("exampleGit",
180
- project_id=example_project.id,
181
- initialization=azuredevops.GitInitializationArgs(
182
- init_type="Clean",
183
- ))
184
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
185
- project_id=example_project.id,
186
- repository=azuredevops.BuildDefinitionRepositoryArgs(
187
- repo_type="TfsGit",
188
- repo_id=example_git.id,
189
- yml_path="azure-pipelines.yml",
190
- ))
191
- example_branch_policy_build_validation = azuredevops.BranchPolicyBuildValidation("exampleBranchPolicyBuildValidation",
192
- project_id=example_project.id,
182
+ example = azuredevops.Project("example", name="Example Project")
183
+ example_git = azuredevops.Git("example",
184
+ project_id=example.id,
185
+ name="Example Repository",
186
+ initialization={
187
+ "init_type": "Clean",
188
+ })
189
+ example_build_definition = azuredevops.BuildDefinition("example",
190
+ project_id=example.id,
191
+ name="Example Build Definition",
192
+ repository={
193
+ "repo_type": "TfsGit",
194
+ "repo_id": example_git.id,
195
+ "yml_path": "azure-pipelines.yml",
196
+ })
197
+ example_branch_policy_build_validation = azuredevops.BranchPolicyBuildValidation("example",
198
+ project_id=example.id,
193
199
  enabled=True,
194
200
  blocking=True,
195
- settings=azuredevops.BranchPolicyBuildValidationSettingsArgs(
196
- display_name="Example build validation policy",
197
- build_definition_id=example_build_definition.id,
198
- valid_duration=720,
199
- filename_patterns=[
201
+ settings={
202
+ "display_name": "Example build validation policy",
203
+ "build_definition_id": example_build_definition.id,
204
+ "queue_on_source_update_only": True,
205
+ "valid_duration": 720,
206
+ "filename_patterns": [
200
207
  "/WebApp/*",
201
208
  "!/WebApp/Tests/*",
202
209
  "*.cs",
203
210
  ],
204
- scopes=[
205
- azuredevops.BranchPolicyBuildValidationSettingsScopeArgs(
206
- repository_id=example_git.id,
207
- repository_ref=example_git.default_branch,
208
- match_type="Exact",
209
- ),
210
- azuredevops.BranchPolicyBuildValidationSettingsScopeArgs(
211
- repository_id=example_git.id,
212
- repository_ref="refs/heads/releases",
213
- match_type="Prefix",
214
- ),
215
- azuredevops.BranchPolicyBuildValidationSettingsScopeArgs(
216
- match_type="DefaultBranch",
217
- ),
211
+ "scopes": [
212
+ {
213
+ "repository_id": example_git.id,
214
+ "repository_ref": example_git.default_branch,
215
+ "match_type": "Exact",
216
+ },
217
+ {
218
+ "repository_id": example_git.id,
219
+ "repository_ref": "refs/heads/releases",
220
+ "match_type": "Prefix",
221
+ },
222
+ {
223
+ "match_type": "DefaultBranch",
224
+ },
218
225
  ],
219
- ))
226
+ })
220
227
  ```
221
- <!--End PulumiCodeChooser -->
222
228
 
223
229
  ## Relevant Links
224
230
 
@@ -237,7 +243,7 @@ class BranchPolicyBuildValidation(pulumi.CustomResource):
237
243
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
238
244
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
239
245
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
240
- :param pulumi.Input[pulumi.InputType['BranchPolicyBuildValidationSettingsArgs']] settings: Configuration for the policy. This block must be defined exactly once.
246
+ :param pulumi.Input[Union['BranchPolicyBuildValidationSettingsArgs', 'BranchPolicyBuildValidationSettingsArgsDict']] settings: Configuration for the policy. This block must be defined exactly once.
241
247
  """
242
248
  ...
243
249
  @overload
@@ -250,55 +256,56 @@ class BranchPolicyBuildValidation(pulumi.CustomResource):
250
256
 
251
257
  ## Example Usage
252
258
 
253
- <!--Start PulumiCodeChooser -->
254
259
  ```python
255
260
  import pulumi
256
261
  import pulumi_azuredevops as azuredevops
257
262
 
258
- example_project = azuredevops.Project("exampleProject")
259
- example_git = azuredevops.Git("exampleGit",
260
- project_id=example_project.id,
261
- initialization=azuredevops.GitInitializationArgs(
262
- init_type="Clean",
263
- ))
264
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
265
- project_id=example_project.id,
266
- repository=azuredevops.BuildDefinitionRepositoryArgs(
267
- repo_type="TfsGit",
268
- repo_id=example_git.id,
269
- yml_path="azure-pipelines.yml",
270
- ))
271
- example_branch_policy_build_validation = azuredevops.BranchPolicyBuildValidation("exampleBranchPolicyBuildValidation",
272
- project_id=example_project.id,
263
+ example = azuredevops.Project("example", name="Example Project")
264
+ example_git = azuredevops.Git("example",
265
+ project_id=example.id,
266
+ name="Example Repository",
267
+ initialization={
268
+ "init_type": "Clean",
269
+ })
270
+ example_build_definition = azuredevops.BuildDefinition("example",
271
+ project_id=example.id,
272
+ name="Example Build Definition",
273
+ repository={
274
+ "repo_type": "TfsGit",
275
+ "repo_id": example_git.id,
276
+ "yml_path": "azure-pipelines.yml",
277
+ })
278
+ example_branch_policy_build_validation = azuredevops.BranchPolicyBuildValidation("example",
279
+ project_id=example.id,
273
280
  enabled=True,
274
281
  blocking=True,
275
- settings=azuredevops.BranchPolicyBuildValidationSettingsArgs(
276
- display_name="Example build validation policy",
277
- build_definition_id=example_build_definition.id,
278
- valid_duration=720,
279
- filename_patterns=[
282
+ settings={
283
+ "display_name": "Example build validation policy",
284
+ "build_definition_id": example_build_definition.id,
285
+ "queue_on_source_update_only": True,
286
+ "valid_duration": 720,
287
+ "filename_patterns": [
280
288
  "/WebApp/*",
281
289
  "!/WebApp/Tests/*",
282
290
  "*.cs",
283
291
  ],
284
- scopes=[
285
- azuredevops.BranchPolicyBuildValidationSettingsScopeArgs(
286
- repository_id=example_git.id,
287
- repository_ref=example_git.default_branch,
288
- match_type="Exact",
289
- ),
290
- azuredevops.BranchPolicyBuildValidationSettingsScopeArgs(
291
- repository_id=example_git.id,
292
- repository_ref="refs/heads/releases",
293
- match_type="Prefix",
294
- ),
295
- azuredevops.BranchPolicyBuildValidationSettingsScopeArgs(
296
- match_type="DefaultBranch",
297
- ),
292
+ "scopes": [
293
+ {
294
+ "repository_id": example_git.id,
295
+ "repository_ref": example_git.default_branch,
296
+ "match_type": "Exact",
297
+ },
298
+ {
299
+ "repository_id": example_git.id,
300
+ "repository_ref": "refs/heads/releases",
301
+ "match_type": "Prefix",
302
+ },
303
+ {
304
+ "match_type": "DefaultBranch",
305
+ },
298
306
  ],
299
- ))
307
+ })
300
308
  ```
301
- <!--End PulumiCodeChooser -->
302
309
 
303
310
  ## Relevant Links
304
311
 
@@ -330,7 +337,7 @@ class BranchPolicyBuildValidation(pulumi.CustomResource):
330
337
  blocking: Optional[pulumi.Input[bool]] = None,
331
338
  enabled: Optional[pulumi.Input[bool]] = None,
332
339
  project_id: Optional[pulumi.Input[str]] = None,
333
- settings: Optional[pulumi.Input[pulumi.InputType['BranchPolicyBuildValidationSettingsArgs']]] = None,
340
+ settings: Optional[pulumi.Input[Union['BranchPolicyBuildValidationSettingsArgs', 'BranchPolicyBuildValidationSettingsArgsDict']]] = None,
334
341
  __props__=None):
335
342
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
336
343
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -363,7 +370,7 @@ class BranchPolicyBuildValidation(pulumi.CustomResource):
363
370
  blocking: Optional[pulumi.Input[bool]] = None,
364
371
  enabled: Optional[pulumi.Input[bool]] = None,
365
372
  project_id: Optional[pulumi.Input[str]] = None,
366
- settings: Optional[pulumi.Input[pulumi.InputType['BranchPolicyBuildValidationSettingsArgs']]] = None) -> 'BranchPolicyBuildValidation':
373
+ settings: Optional[pulumi.Input[Union['BranchPolicyBuildValidationSettingsArgs', 'BranchPolicyBuildValidationSettingsArgsDict']]] = None) -> 'BranchPolicyBuildValidation':
367
374
  """
368
375
  Get an existing BranchPolicyBuildValidation resource's state with the given name, id, and optional extra
369
376
  properties used to qualify the lookup.
@@ -374,7 +381,7 @@ class BranchPolicyBuildValidation(pulumi.CustomResource):
374
381
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
375
382
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
376
383
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
377
- :param pulumi.Input[pulumi.InputType['BranchPolicyBuildValidationSettingsArgs']] settings: Configuration for the policy. This block must be defined exactly once.
384
+ :param pulumi.Input[Union['BranchPolicyBuildValidationSettingsArgs', 'BranchPolicyBuildValidationSettingsArgsDict']] settings: Configuration for the policy. This block must be defined exactly once.
378
385
  """
379
386
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
380
387