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.
- pulumi_azuredevops/__init__.py +96 -0
- pulumi_azuredevops/_inputs.py +1740 -108
- pulumi_azuredevops/_utilities.py +41 -5
- pulumi_azuredevops/area_permissions.py +9 -6
- pulumi_azuredevops/branch_policy_auto_reviewers.py +52 -49
- pulumi_azuredevops/branch_policy_build_validation.py +86 -79
- pulumi_azuredevops/branch_policy_comment_resolution.py +60 -57
- pulumi_azuredevops/branch_policy_merge_types.py +68 -65
- pulumi_azuredevops/branch_policy_min_reviewers.py +72 -69
- pulumi_azuredevops/branch_policy_status_check.py +66 -61
- pulumi_azuredevops/branch_policy_work_item_linking.py +60 -57
- pulumi_azuredevops/build_definition.py +380 -198
- pulumi_azuredevops/build_definition_permissions.py +186 -165
- pulumi_azuredevops/build_folder.py +13 -10
- pulumi_azuredevops/build_folder_permissions.py +33 -32
- pulumi_azuredevops/check_approval.py +19 -14
- pulumi_azuredevops/check_branch_control.py +109 -108
- pulumi_azuredevops/check_business_hours.py +109 -108
- pulumi_azuredevops/check_exclusive_lock.py +77 -28
- pulumi_azuredevops/check_required_template.py +66 -65
- pulumi_azuredevops/config/__init__.pyi +5 -0
- pulumi_azuredevops/config/vars.py +5 -0
- pulumi_azuredevops/elastic_pool.py +31 -26
- pulumi_azuredevops/environment.py +17 -10
- pulumi_azuredevops/environment_resource_kubernetes.py +198 -2
- pulumi_azuredevops/feed.py +372 -0
- pulumi_azuredevops/feed_permission.py +415 -0
- pulumi_azuredevops/get_agent_queue.py +28 -19
- pulumi_azuredevops/get_area.py +28 -15
- pulumi_azuredevops/get_build_definition.py +32 -15
- pulumi_azuredevops/get_client_config.py +12 -9
- pulumi_azuredevops/get_environment.py +72 -5
- pulumi_azuredevops/get_feed.py +186 -0
- pulumi_azuredevops/get_git_repository.py +39 -10
- pulumi_azuredevops/get_group.py +45 -22
- pulumi_azuredevops/get_groups.py +18 -9
- pulumi_azuredevops/get_identity_group.py +152 -0
- pulumi_azuredevops/get_identity_groups.py +140 -0
- pulumi_azuredevops/get_identity_users.py +122 -0
- pulumi_azuredevops/get_iteration.py +24 -11
- pulumi_azuredevops/get_pool.py +16 -9
- pulumi_azuredevops/get_pools.py +12 -9
- pulumi_azuredevops/get_project.py +22 -10
- pulumi_azuredevops/get_projects.py +16 -9
- pulumi_azuredevops/get_repositories.py +22 -9
- pulumi_azuredevops/get_securityrole_definitions.py +141 -0
- pulumi_azuredevops/get_service_endpoint_azure_rm.py +70 -26
- pulumi_azuredevops/get_service_endpoint_github.py +19 -13
- pulumi_azuredevops/get_serviceendpoint_azurecr.py +31 -11
- pulumi_azuredevops/get_serviceendpoint_bitbucket.py +219 -0
- pulumi_azuredevops/get_serviceendpoint_npm.py +22 -11
- pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +21 -11
- pulumi_azuredevops/get_team.py +29 -15
- pulumi_azuredevops/get_teams.py +16 -9
- pulumi_azuredevops/get_users.py +26 -87
- pulumi_azuredevops/get_variable_group.py +27 -17
- pulumi_azuredevops/git.py +57 -97
- pulumi_azuredevops/git_permissions.py +78 -75
- pulumi_azuredevops/git_repository_branch.py +29 -20
- pulumi_azuredevops/git_repository_file.py +23 -18
- pulumi_azuredevops/group.py +43 -14
- pulumi_azuredevops/group_entitlement.py +5 -8
- pulumi_azuredevops/group_membership.py +57 -28
- pulumi_azuredevops/iterative_permissions.py +9 -6
- pulumi_azuredevops/library_permissions.py +7 -4
- pulumi_azuredevops/outputs.py +447 -54
- pulumi_azuredevops/pipeline_authorization.py +101 -47
- pulumi_azuredevops/pool.py +7 -4
- pulumi_azuredevops/project.py +19 -16
- pulumi_azuredevops/project_features.py +9 -6
- pulumi_azuredevops/project_permissions.py +9 -6
- pulumi_azuredevops/project_pipeline_settings.py +15 -12
- pulumi_azuredevops/provider.py +5 -40
- pulumi_azuredevops/pulumi-plugin.json +2 -1
- pulumi_azuredevops/queue.py +23 -22
- pulumi_azuredevops/repository_policy_author_email_pattern.py +37 -34
- pulumi_azuredevops/repository_policy_case_enforcement.py +37 -34
- pulumi_azuredevops/repository_policy_check_credentials.py +37 -34
- pulumi_azuredevops/repository_policy_file_path_pattern.py +31 -28
- pulumi_azuredevops/repository_policy_max_file_size.py +44 -41
- pulumi_azuredevops/repository_policy_max_path_length.py +37 -34
- pulumi_azuredevops/repository_policy_reserved_names.py +37 -34
- pulumi_azuredevops/resource_authorization.py +23 -20
- pulumi_azuredevops/securityrole_assignment.py +295 -0
- pulumi_azuredevops/service_endpoint_artifactory.py +49 -48
- pulumi_azuredevops/service_endpoint_aws.py +99 -51
- pulumi_azuredevops/service_endpoint_azure_dev_ops.py +17 -14
- pulumi_azuredevops/service_endpoint_azure_ecr.py +275 -33
- pulumi_azuredevops/service_endpoint_azure_rm.py +236 -112
- pulumi_azuredevops/service_endpoint_bit_bucket.py +19 -16
- pulumi_azuredevops/service_endpoint_docker_registry.py +17 -14
- pulumi_azuredevops/service_endpoint_generic.py +19 -20
- pulumi_azuredevops/service_endpoint_generic_git.py +17 -14
- pulumi_azuredevops/service_endpoint_git_hub.py +57 -58
- pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +26 -23
- pulumi_azuredevops/service_endpoint_git_lab.py +479 -0
- pulumi_azuredevops/service_endpoint_kubernetes.py +160 -15
- pulumi_azuredevops/service_endpoint_npm.py +17 -14
- pulumi_azuredevops/service_endpoint_pipeline.py +28 -25
- pulumi_azuredevops/service_endpoint_service_fabric.py +42 -95
- pulumi_azuredevops/service_endpoint_sonar_cloud.py +17 -14
- pulumi_azuredevops/service_endpoint_sonar_qube.py +17 -14
- pulumi_azuredevops/service_endpoint_ssh.py +17 -14
- pulumi_azuredevops/serviceendpoint_argocd.py +51 -50
- pulumi_azuredevops/serviceendpoint_azure_service_bus.py +429 -0
- pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +579 -0
- pulumi_azuredevops/serviceendpoint_externaltfs.py +10 -5
- pulumi_azuredevops/serviceendpoint_gcp_terraform.py +17 -14
- pulumi_azuredevops/serviceendpoint_incomingwebhook.py +17 -14
- pulumi_azuredevops/serviceendpoint_jenkins.py +15 -12
- pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +53 -52
- pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +53 -52
- pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +53 -52
- pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +53 -52
- pulumi_azuredevops/serviceendpoint_maven.py +49 -48
- pulumi_azuredevops/serviceendpoint_nexus.py +15 -12
- pulumi_azuredevops/serviceendpoint_nuget.py +17 -14
- pulumi_azuredevops/serviceendpoint_octopusdeploy.py +17 -14
- pulumi_azuredevops/serviceendpoint_permissions.py +21 -18
- pulumi_azuredevops/serviceendpoint_snyk.py +429 -0
- pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +543 -0
- pulumi_azuredevops/servicehook_permissions.py +9 -6
- pulumi_azuredevops/servicehook_storage_queue_pipelines.py +55 -48
- pulumi_azuredevops/tagging_permissions.py +9 -6
- pulumi_azuredevops/team.py +21 -16
- pulumi_azuredevops/team_administrators.py +19 -12
- pulumi_azuredevops/team_members.py +19 -12
- pulumi_azuredevops/user.py +27 -6
- pulumi_azuredevops/variable_group.py +91 -86
- pulumi_azuredevops/variable_group_permissions.py +17 -12
- pulumi_azuredevops/wiki.py +509 -0
- pulumi_azuredevops/wiki_page.py +377 -0
- pulumi_azuredevops/work_item_query_permissions.py +17 -18
- pulumi_azuredevops/workitem.py +25 -24
- {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736849250.dist-info}/METADATA +7 -6
- pulumi_azuredevops-3.6.0a1736849250.dist-info/RECORD +140 -0
- {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736849250.dist-info}/WHEEL +1 -1
- pulumi_azuredevops-3.1.0a1710568843.dist-info/RECORD +0 -124
- {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736849250.dist-info}/top_level.txt +0 -0
pulumi_azuredevops/group.py
CHANGED
@@ -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
|
-
|
341
|
-
example_readers = azuredevops.get_group_output(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=
|
363
|
+
example_contributors = azuredevops.get_group_output(project_id=example.id,
|
344
364
|
name="Contributors")
|
345
|
-
example_group = azuredevops.Group("
|
346
|
-
scope=
|
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
|
-
|
398
|
-
example_readers = azuredevops.get_group_output(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=
|
418
|
+
example_contributors = azuredevops.get_group_output(project_id=example.id,
|
401
419
|
name="Contributors")
|
402
|
-
example_group = azuredevops.Group("
|
403
|
-
scope=
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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("
|
160
|
-
example_user = azuredevops.User("
|
161
|
-
|
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("
|
164
|
-
group=
|
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
|
-
|
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
|
-
|
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("
|
208
|
-
example_user = azuredevops.User("
|
209
|
-
|
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("
|
212
|
-
group=
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
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
|
|