pulumi-azuredevops 3.1.0a1710568843__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 (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.0a1736832240.dist-info}/METADATA +7 -6
  136. pulumi_azuredevops-3.6.0a1736832240.dist-info/RECORD +140 -0
  137. {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736832240.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.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
 
12
17
  __all__ = ['GroupArgs', 'Group']
@@ -122,6 +127,7 @@ class _GroupState:
122
127
  descriptor: Optional[pulumi.Input[str]] = None,
123
128
  display_name: Optional[pulumi.Input[str]] = None,
124
129
  domain: Optional[pulumi.Input[str]] = None,
130
+ group_id: Optional[pulumi.Input[str]] = None,
125
131
  mail: Optional[pulumi.Input[str]] = None,
126
132
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
127
133
  origin: Optional[pulumi.Input[str]] = None,
@@ -136,6 +142,7 @@ class _GroupState:
136
142
  :param pulumi.Input[str] descriptor: The identity (subject) descriptor of the Group.
137
143
  :param pulumi.Input[str] display_name: The name of a new Azure DevOps group that is not backed by an external provider. The `origin_id` and `mail` arguments cannot be used simultaneously with `display_name`.
138
144
  :param pulumi.Input[str] domain: This represents the name of the container of origin for a graph member.
145
+ :param pulumi.Input[str] group_id: The ID of the Group.
139
146
  :param pulumi.Input[str] mail: The mail address as a reference to an existing group from an external AD or AAD backed provider. The `scope`, `origin_id` and `display_name` arguments cannot be used simultaneously with `mail`.
140
147
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: > NOTE: It's possible to define group members both within the `Group` resource via the members block and by using the `GroupMembership` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
141
148
  :param pulumi.Input[str] origin: The type of source provider for the origin identifier (ex:AD, AAD, MSA)
@@ -153,6 +160,8 @@ class _GroupState:
153
160
  pulumi.set(__self__, "display_name", display_name)
154
161
  if domain is not None:
155
162
  pulumi.set(__self__, "domain", domain)
163
+ if group_id is not None:
164
+ pulumi.set(__self__, "group_id", group_id)
156
165
  if mail is not None:
157
166
  pulumi.set(__self__, "mail", mail)
158
167
  if members is not None:
@@ -218,6 +227,18 @@ class _GroupState:
218
227
  def domain(self, value: Optional[pulumi.Input[str]]):
219
228
  pulumi.set(self, "domain", value)
220
229
 
230
+ @property
231
+ @pulumi.getter(name="groupId")
232
+ def group_id(self) -> Optional[pulumi.Input[str]]:
233
+ """
234
+ The ID of the Group.
235
+ """
236
+ return pulumi.get(self, "group_id")
237
+
238
+ @group_id.setter
239
+ def group_id(self, value: Optional[pulumi.Input[str]]):
240
+ pulumi.set(self, "group_id", value)
241
+
221
242
  @property
222
243
  @pulumi.getter
223
244
  def mail(self) -> Optional[pulumi.Input[str]]:
@@ -332,18 +353,17 @@ class Group(pulumi.CustomResource):
332
353
 
333
354
  ## Example Usage
334
355
 
335
- <!--Start PulumiCodeChooser -->
336
356
  ```python
337
357
  import pulumi
338
358
  import pulumi_azuredevops as azuredevops
339
359
 
340
- example_project = azuredevops.Project("exampleProject")
341
- example_readers = azuredevops.get_group_output(project_id=example_project.id,
360
+ example = azuredevops.Project("example", name="Example Project")
361
+ example_readers = azuredevops.get_group_output(project_id=example.id,
342
362
  name="Readers")
343
- example_contributors = azuredevops.get_group_output(project_id=example_project.id,
363
+ example_contributors = azuredevops.get_group_output(project_id=example.id,
344
364
  name="Contributors")
345
- example_group = azuredevops.Group("exampleGroup",
346
- scope=example_project.id,
365
+ example_group = azuredevops.Group("example",
366
+ scope=example.id,
347
367
  display_name="Example group",
348
368
  description="Example description",
349
369
  members=[
@@ -351,7 +371,6 @@ class Group(pulumi.CustomResource):
351
371
  example_contributors.descriptor,
352
372
  ])
353
373
  ```
354
- <!--End PulumiCodeChooser -->
355
374
 
356
375
  ## Relevant Links
357
376
 
@@ -389,18 +408,17 @@ class Group(pulumi.CustomResource):
389
408
 
390
409
  ## Example Usage
391
410
 
392
- <!--Start PulumiCodeChooser -->
393
411
  ```python
394
412
  import pulumi
395
413
  import pulumi_azuredevops as azuredevops
396
414
 
397
- example_project = azuredevops.Project("exampleProject")
398
- example_readers = azuredevops.get_group_output(project_id=example_project.id,
415
+ example = azuredevops.Project("example", name="Example Project")
416
+ example_readers = azuredevops.get_group_output(project_id=example.id,
399
417
  name="Readers")
400
- example_contributors = azuredevops.get_group_output(project_id=example_project.id,
418
+ example_contributors = azuredevops.get_group_output(project_id=example.id,
401
419
  name="Contributors")
402
- example_group = azuredevops.Group("exampleGroup",
403
- scope=example_project.id,
420
+ example_group = azuredevops.Group("example",
421
+ scope=example.id,
404
422
  display_name="Example group",
405
423
  description="Example description",
406
424
  members=[
@@ -408,7 +426,6 @@ class Group(pulumi.CustomResource):
408
426
  example_contributors.descriptor,
409
427
  ])
410
428
  ```
411
- <!--End PulumiCodeChooser -->
412
429
 
413
430
  ## Relevant Links
414
431
 
@@ -464,6 +481,7 @@ class Group(pulumi.CustomResource):
464
481
  __props__.__dict__["scope"] = scope
465
482
  __props__.__dict__["descriptor"] = None
466
483
  __props__.__dict__["domain"] = None
484
+ __props__.__dict__["group_id"] = None
467
485
  __props__.__dict__["origin"] = None
468
486
  __props__.__dict__["principal_name"] = None
469
487
  __props__.__dict__["subject_kind"] = None
@@ -482,6 +500,7 @@ class Group(pulumi.CustomResource):
482
500
  descriptor: Optional[pulumi.Input[str]] = None,
483
501
  display_name: Optional[pulumi.Input[str]] = None,
484
502
  domain: Optional[pulumi.Input[str]] = None,
503
+ group_id: Optional[pulumi.Input[str]] = None,
485
504
  mail: Optional[pulumi.Input[str]] = None,
486
505
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
487
506
  origin: Optional[pulumi.Input[str]] = None,
@@ -501,6 +520,7 @@ class Group(pulumi.CustomResource):
501
520
  :param pulumi.Input[str] descriptor: The identity (subject) descriptor of the Group.
502
521
  :param pulumi.Input[str] display_name: The name of a new Azure DevOps group that is not backed by an external provider. The `origin_id` and `mail` arguments cannot be used simultaneously with `display_name`.
503
522
  :param pulumi.Input[str] domain: This represents the name of the container of origin for a graph member.
523
+ :param pulumi.Input[str] group_id: The ID of the Group.
504
524
  :param pulumi.Input[str] mail: The mail address as a reference to an existing group from an external AD or AAD backed provider. The `scope`, `origin_id` and `display_name` arguments cannot be used simultaneously with `mail`.
505
525
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: > NOTE: It's possible to define group members both within the `Group` resource via the members block and by using the `GroupMembership` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
506
526
  :param pulumi.Input[str] origin: The type of source provider for the origin identifier (ex:AD, AAD, MSA)
@@ -518,6 +538,7 @@ class Group(pulumi.CustomResource):
518
538
  __props__.__dict__["descriptor"] = descriptor
519
539
  __props__.__dict__["display_name"] = display_name
520
540
  __props__.__dict__["domain"] = domain
541
+ __props__.__dict__["group_id"] = group_id
521
542
  __props__.__dict__["mail"] = mail
522
543
  __props__.__dict__["members"] = members
523
544
  __props__.__dict__["origin"] = origin
@@ -560,6 +581,14 @@ class Group(pulumi.CustomResource):
560
581
  """
561
582
  return pulumi.get(self, "domain")
562
583
 
584
+ @property
585
+ @pulumi.getter(name="groupId")
586
+ def group_id(self) -> pulumi.Output[str]:
587
+ """
588
+ The ID of the Group.
589
+ """
590
+ return pulumi.get(self, "group_id")
591
+
563
592
  @property
564
593
  @pulumi.getter
565
594
  def mail(self) -> pulumi.Output[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__ = ['GroupEntitlementArgs', 'GroupEntitlement']
@@ -244,17 +249,14 @@ class GroupEntitlement(pulumi.CustomResource):
244
249
  ## Example Usage
245
250
 
246
251
  ### With an Azure DevOps local group managed by this resource
247
- <!--Start PulumiCodeChooser -->
248
252
  ```python
249
253
  import pulumi
250
254
  import pulumi_azuredevops as azuredevops
251
255
 
252
256
  example = azuredevops.GroupEntitlement("example", display_name="Group Name")
253
257
  ```
254
- <!--End PulumiCodeChooser -->
255
258
 
256
259
  ### With group origin ID
257
- <!--Start PulumiCodeChooser -->
258
260
  ```python
259
261
  import pulumi
260
262
  import pulumi_azuredevops as azuredevops
@@ -263,7 +265,6 @@ class GroupEntitlement(pulumi.CustomResource):
263
265
  origin="aad",
264
266
  origin_id="00000000-0000-0000-0000-000000000000")
265
267
  ```
266
- <!--End PulumiCodeChooser -->
267
268
 
268
269
  ## Relevant Links
269
270
 
@@ -306,17 +307,14 @@ class GroupEntitlement(pulumi.CustomResource):
306
307
  ## Example Usage
307
308
 
308
309
  ### With an Azure DevOps local group managed by this resource
309
- <!--Start PulumiCodeChooser -->
310
310
  ```python
311
311
  import pulumi
312
312
  import pulumi_azuredevops as azuredevops
313
313
 
314
314
  example = azuredevops.GroupEntitlement("example", display_name="Group Name")
315
315
  ```
316
- <!--End PulumiCodeChooser -->
317
316
 
318
317
  ### With group origin ID
319
- <!--Start PulumiCodeChooser -->
320
318
  ```python
321
319
  import pulumi
322
320
  import pulumi_azuredevops as azuredevops
@@ -325,7 +323,6 @@ class GroupEntitlement(pulumi.CustomResource):
325
323
  origin="aad",
326
324
  origin_id="00000000-0000-0000-0000-000000000000")
327
325
  ```
328
- <!--End PulumiCodeChooser -->
329
326
 
330
327
  ## Relevant Links
331
328
 
@@ -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__ = ['GroupMembershipArgs', 'GroupMembership']
@@ -21,11 +26,15 @@ class GroupMembershipArgs:
21
26
  The set of arguments for constructing a GroupMembership resource.
22
27
  :param pulumi.Input[str] group: The descriptor of the group being managed.
23
28
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A list of user or group descriptors that will become members of the group.
24
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
29
+
30
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
31
+
32
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
25
33
  :param pulumi.Input[str] mode: The mode how the resource manages group members.
26
34
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
27
35
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
28
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
36
+
37
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
29
38
  """
30
39
  pulumi.set(__self__, "group", group)
31
40
  pulumi.set(__self__, "members", members)
@@ -49,7 +58,10 @@ class GroupMembershipArgs:
49
58
  def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
50
59
  """
51
60
  A list of user or group descriptors that will become members of the group.
52
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
61
+
62
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
63
+
64
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
53
65
  """
54
66
  return pulumi.get(self, "members")
55
67
 
@@ -64,7 +76,8 @@ class GroupMembershipArgs:
64
76
  The mode how the resource manages group members.
65
77
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
66
78
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
67
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
79
+
80
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
68
81
  """
69
82
  return pulumi.get(self, "mode")
70
83
 
@@ -83,11 +96,15 @@ class _GroupMembershipState:
83
96
  Input properties used for looking up and filtering GroupMembership resources.
84
97
  :param pulumi.Input[str] group: The descriptor of the group being managed.
85
98
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A list of user or group descriptors that will become members of the group.
86
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
99
+
100
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
101
+
102
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
87
103
  :param pulumi.Input[str] mode: The mode how the resource manages group members.
88
104
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
89
105
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
90
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
106
+
107
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
91
108
  """
92
109
  if group is not None:
93
110
  pulumi.set(__self__, "group", group)
@@ -113,7 +130,10 @@ class _GroupMembershipState:
113
130
  def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
114
131
  """
115
132
  A list of user or group descriptors that will become members of the group.
116
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
133
+
134
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
135
+
136
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
117
137
  """
118
138
  return pulumi.get(self, "members")
119
139
 
@@ -128,7 +148,8 @@ class _GroupMembershipState:
128
148
  The mode how the resource manages group members.
129
149
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
130
150
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
131
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
151
+
152
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
132
153
  """
133
154
  return pulumi.get(self, "mode")
134
155
 
@@ -151,20 +172,18 @@ class GroupMembership(pulumi.CustomResource):
151
172
 
152
173
  ## Example Usage
153
174
 
154
- <!--Start PulumiCodeChooser -->
155
175
  ```python
156
176
  import pulumi
157
177
  import pulumi_azuredevops as azuredevops
158
178
 
159
- example_project = azuredevops.Project("exampleProject")
160
- example_user = azuredevops.User("exampleUser", principal_name="foo@contoso.com")
161
- example_group = azuredevops.get_group_output(project_id=example_project.id,
179
+ example_project = azuredevops.Project("example", name="Example Project")
180
+ example_user = azuredevops.User("example", principal_name="foo@contoso.com")
181
+ example = azuredevops.get_group_output(project_id=example_project.id,
162
182
  name="Build Administrators")
163
- example_group_membership = azuredevops.GroupMembership("exampleGroupMembership",
164
- group=example_group.descriptor,
183
+ example_group_membership = azuredevops.GroupMembership("example",
184
+ group=example.descriptor,
165
185
  members=[example_user.descriptor])
166
186
  ```
167
- <!--End PulumiCodeChooser -->
168
187
 
169
188
  ## Relevant Links
170
189
 
@@ -182,11 +201,15 @@ class GroupMembership(pulumi.CustomResource):
182
201
  :param pulumi.ResourceOptions opts: Options for the resource.
183
202
  :param pulumi.Input[str] group: The descriptor of the group being managed.
184
203
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A list of user or group descriptors that will become members of the group.
185
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
204
+
205
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
206
+
207
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
186
208
  :param pulumi.Input[str] mode: The mode how the resource manages group members.
187
209
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
188
210
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
189
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
211
+
212
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
190
213
  """
191
214
  ...
192
215
  @overload
@@ -199,20 +222,18 @@ class GroupMembership(pulumi.CustomResource):
199
222
 
200
223
  ## Example Usage
201
224
 
202
- <!--Start PulumiCodeChooser -->
203
225
  ```python
204
226
  import pulumi
205
227
  import pulumi_azuredevops as azuredevops
206
228
 
207
- example_project = azuredevops.Project("exampleProject")
208
- example_user = azuredevops.User("exampleUser", principal_name="foo@contoso.com")
209
- example_group = azuredevops.get_group_output(project_id=example_project.id,
229
+ example_project = azuredevops.Project("example", name="Example Project")
230
+ example_user = azuredevops.User("example", principal_name="foo@contoso.com")
231
+ example = azuredevops.get_group_output(project_id=example_project.id,
210
232
  name="Build Administrators")
211
- example_group_membership = azuredevops.GroupMembership("exampleGroupMembership",
212
- group=example_group.descriptor,
233
+ example_group_membership = azuredevops.GroupMembership("example",
234
+ group=example.descriptor,
213
235
  members=[example_user.descriptor])
214
236
  ```
215
- <!--End PulumiCodeChooser -->
216
237
 
217
238
  ## Relevant Links
218
239
 
@@ -282,11 +303,15 @@ class GroupMembership(pulumi.CustomResource):
282
303
  :param pulumi.ResourceOptions opts: Options for the resource.
283
304
  :param pulumi.Input[str] group: The descriptor of the group being managed.
284
305
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A list of user or group descriptors that will become members of the group.
285
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
306
+
307
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
308
+
309
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
286
310
  :param pulumi.Input[str] mode: The mode how the resource manages group members.
287
311
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
288
312
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
289
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
313
+
314
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
290
315
  """
291
316
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
292
317
 
@@ -310,7 +335,10 @@ class GroupMembership(pulumi.CustomResource):
310
335
  def members(self) -> pulumi.Output[Sequence[str]]:
311
336
  """
312
337
  A list of user or group descriptors that will become members of the group.
313
- > NOTE: It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
338
+
339
+ > **NOTE** It's possible to define group members both within the `GroupMembership resource` via the members block and by using the `Group` resource. However it's not possible to use both methods to manage group members, since there'll be conflicts.
340
+
341
+ > **NOTE** The `members` uses `descriptor` as the identifier not Resource ID or others.
314
342
  """
315
343
  return pulumi.get(self, "members")
316
344
 
@@ -321,7 +349,8 @@ class GroupMembership(pulumi.CustomResource):
321
349
  The mode how the resource manages group members.
322
350
  - `mode == add`: the resource will ensure that all specified members will be part of the referenced group
323
351
  - `mode == overwrite`: the resource will replace all existing members with the members specified within the `members` block
324
- > NOTE: To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
352
+
353
+ > **NOTE** To clear all members from a group, specify an empty list of descriptors in the `members` attribute and set the `mode` member to `overwrite`.
325
354
  """
326
355
  return pulumi.get(self, "mode")
327
356
 
@@ -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__ = ['IterativePermissionsArgs', 'IterativePermissions']
@@ -235,16 +240,16 @@ class IterativePermissions(pulumi.CustomResource):
235
240
 
236
241
  ## Example Usage
237
242
 
238
- <!--Start PulumiCodeChooser -->
239
243
  ```python
240
244
  import pulumi
241
245
  import pulumi_azuredevops as azuredevops
242
246
 
243
247
  example = azuredevops.Project("example",
248
+ name="Example Project",
244
249
  work_item_template="Agile",
245
250
  version_control="Git",
246
251
  visibility="private",
247
- description="Managed by Terraform")
252
+ description="Managed by Pulumi")
248
253
  example_readers = azuredevops.get_group_output(project_id=example.id,
249
254
  name="Readers")
250
255
  example_root_permissions = azuredevops.IterativePermissions("example-root-permissions",
@@ -265,7 +270,6 @@ class IterativePermissions(pulumi.CustomResource):
265
270
  "DELETE": "Allow",
266
271
  })
267
272
  ```
268
- <!--End PulumiCodeChooser -->
269
273
 
270
274
  ## Relevant Links
271
275
 
@@ -312,16 +316,16 @@ class IterativePermissions(pulumi.CustomResource):
312
316
 
313
317
  ## Example Usage
314
318
 
315
- <!--Start PulumiCodeChooser -->
316
319
  ```python
317
320
  import pulumi
318
321
  import pulumi_azuredevops as azuredevops
319
322
 
320
323
  example = azuredevops.Project("example",
324
+ name="Example Project",
321
325
  work_item_template="Agile",
322
326
  version_control="Git",
323
327
  visibility="private",
324
- description="Managed by Terraform")
328
+ description="Managed by Pulumi")
325
329
  example_readers = azuredevops.get_group_output(project_id=example.id,
326
330
  name="Readers")
327
331
  example_root_permissions = azuredevops.IterativePermissions("example-root-permissions",
@@ -342,7 +346,6 @@ class IterativePermissions(pulumi.CustomResource):
342
346
  "DELETE": "Allow",
343
347
  })
344
348
  ```
345
- <!--End PulumiCodeChooser -->
346
349
 
347
350
  ## Relevant Links
348
351
 
@@ -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__ = ['LibraryPermissionsArgs', 'LibraryPermissions']
@@ -203,12 +208,12 @@ class LibraryPermissions(pulumi.CustomResource):
203
208
 
204
209
  ## Example Usage
205
210
 
206
- <!--Start PulumiCodeChooser -->
207
211
  ```python
208
212
  import pulumi
209
213
  import pulumi_azuredevops as azuredevops
210
214
 
211
215
  project = azuredevops.Project("project",
216
+ name="Testing",
212
217
  description="Testing-description",
213
218
  visibility="private",
214
219
  version_control="Git",
@@ -224,7 +229,6 @@ class LibraryPermissions(pulumi.CustomResource):
224
229
  "Use": "allow",
225
230
  })
226
231
  ```
227
- <!--End PulumiCodeChooser -->
228
232
 
229
233
  ## Roles
230
234
 
@@ -276,12 +280,12 @@ class LibraryPermissions(pulumi.CustomResource):
276
280
 
277
281
  ## Example Usage
278
282
 
279
- <!--Start PulumiCodeChooser -->
280
283
  ```python
281
284
  import pulumi
282
285
  import pulumi_azuredevops as azuredevops
283
286
 
284
287
  project = azuredevops.Project("project",
288
+ name="Testing",
285
289
  description="Testing-description",
286
290
  visibility="private",
287
291
  version_control="Git",
@@ -297,7 +301,6 @@ class LibraryPermissions(pulumi.CustomResource):
297
301
  "Use": "allow",
298
302
  })
299
303
  ```
300
- <!--End PulumiCodeChooser -->
301
304
 
302
305
  ## Roles
303
306