pulumi-azuredevops 3.6.0a1737523387__py3-none-any.whl → 3.6.0a1737710622__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 (119) hide show
  1. pulumi_azuredevops/__init__.py +64 -0
  2. pulumi_azuredevops/_inputs.py +120 -117
  3. pulumi_azuredevops/area_permissions.py +49 -49
  4. pulumi_azuredevops/branch_policy_auto_reviewers.py +7 -7
  5. pulumi_azuredevops/branch_policy_build_validation.py +7 -7
  6. pulumi_azuredevops/branch_policy_comment_resolution.py +7 -7
  7. pulumi_azuredevops/branch_policy_merge_types.py +7 -7
  8. pulumi_azuredevops/branch_policy_status_check.py +7 -7
  9. pulumi_azuredevops/branch_policy_work_item_linking.py +7 -7
  10. pulumi_azuredevops/build_definition.py +7 -7
  11. pulumi_azuredevops/check_branch_control.py +7 -7
  12. pulumi_azuredevops/check_business_hours.py +7 -7
  13. pulumi_azuredevops/check_exclusive_lock.py +7 -7
  14. pulumi_azuredevops/check_rest_api.py +986 -0
  15. pulumi_azuredevops/feed.py +8 -8
  16. pulumi_azuredevops/feed_permission.py +9 -9
  17. pulumi_azuredevops/feed_retention_policy.py +422 -0
  18. pulumi_azuredevops/get_agent_queue.py +2 -2
  19. pulumi_azuredevops/get_area.py +1 -1
  20. pulumi_azuredevops/get_client_config.py +3 -0
  21. pulumi_azuredevops/get_feed.py +4 -4
  22. pulumi_azuredevops/get_git_repository.py +8 -8
  23. pulumi_azuredevops/get_group.py +4 -4
  24. pulumi_azuredevops/get_groups.py +3 -3
  25. pulumi_azuredevops/get_identity_group.py +3 -0
  26. pulumi_azuredevops/get_identity_groups.py +1 -1
  27. pulumi_azuredevops/get_identity_users.py +5 -5
  28. pulumi_azuredevops/get_pool.py +14 -2
  29. pulumi_azuredevops/get_pools.py +3 -3
  30. pulumi_azuredevops/get_project.py +32 -0
  31. pulumi_azuredevops/get_projects.py +4 -4
  32. pulumi_azuredevops/get_repositories.py +7 -3
  33. pulumi_azuredevops/get_securityrole_definitions.py +4 -4
  34. pulumi_azuredevops/get_service_endpoint_azure_rm.py +5 -5
  35. pulumi_azuredevops/get_service_endpoint_github.py +6 -6
  36. pulumi_azuredevops/get_service_principal.py +153 -0
  37. pulumi_azuredevops/get_serviceendpoint_azurecr.py +1 -1
  38. pulumi_azuredevops/get_serviceendpoint_bitbucket.py +6 -6
  39. pulumi_azuredevops/get_serviceendpoint_npm.py +3 -3
  40. pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +2 -2
  41. pulumi_azuredevops/get_team.py +4 -3
  42. pulumi_azuredevops/get_teams.py +2 -3
  43. pulumi_azuredevops/get_users.py +5 -9
  44. pulumi_azuredevops/git.py +7 -7
  45. pulumi_azuredevops/git_permissions.py +14 -21
  46. pulumi_azuredevops/git_repository_file.py +7 -14
  47. pulumi_azuredevops/group.py +21 -7
  48. pulumi_azuredevops/group_entitlement.py +16 -20
  49. pulumi_azuredevops/group_membership.py +35 -50
  50. pulumi_azuredevops/iterative_permissions.py +34 -34
  51. pulumi_azuredevops/library_permissions.py +75 -75
  52. pulumi_azuredevops/outputs.py +129 -102
  53. pulumi_azuredevops/pipeline_authorization.py +7 -7
  54. pulumi_azuredevops/pool.py +4 -4
  55. pulumi_azuredevops/project.py +114 -63
  56. pulumi_azuredevops/project_features.py +87 -45
  57. pulumi_azuredevops/project_permissions.py +7 -7
  58. pulumi_azuredevops/project_pipeline_settings.py +28 -35
  59. pulumi_azuredevops/project_tags.py +263 -0
  60. pulumi_azuredevops/pulumi-plugin.json +1 -1
  61. pulumi_azuredevops/queue.py +7 -14
  62. pulumi_azuredevops/repository_policy_author_email_pattern.py +21 -14
  63. pulumi_azuredevops/repository_policy_max_file_size.py +7 -7
  64. pulumi_azuredevops/resource_authorization.py +35 -35
  65. pulumi_azuredevops/service_endpoint_artifactory.py +24 -18
  66. pulumi_azuredevops/service_endpoint_aws.py +2 -2
  67. pulumi_azuredevops/service_endpoint_azure_ecr.py +13 -15
  68. pulumi_azuredevops/service_endpoint_azure_rm.py +25 -25
  69. pulumi_azuredevops/service_endpoint_bit_bucket.py +2 -2
  70. pulumi_azuredevops/service_endpoint_docker_registry.py +2 -2
  71. pulumi_azuredevops/service_endpoint_generic.py +2 -2
  72. pulumi_azuredevops/service_endpoint_generic_git.py +4 -8
  73. pulumi_azuredevops/service_endpoint_git_hub.py +15 -2
  74. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +15 -2
  75. pulumi_azuredevops/service_endpoint_kubernetes.py +23 -23
  76. pulumi_azuredevops/service_endpoint_npm.py +4 -4
  77. pulumi_azuredevops/service_endpoint_pipeline.py +4 -4
  78. pulumi_azuredevops/service_endpoint_service_fabric.py +48 -9
  79. pulumi_azuredevops/service_endpoint_sonar_cloud.py +11 -11
  80. pulumi_azuredevops/service_endpoint_sonar_qube.py +11 -11
  81. pulumi_azuredevops/service_endpoint_ssh.py +2 -6
  82. pulumi_azuredevops/service_principal_entitlement.py +386 -0
  83. pulumi_azuredevops/serviceendpoint_argocd.py +2 -2
  84. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +2 -2
  85. pulumi_azuredevops/serviceendpoint_checkmarx_one.py +627 -0
  86. pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +575 -0
  87. pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +674 -0
  88. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +2 -2
  89. pulumi_azuredevops/serviceendpoint_externaltfs.py +63 -11
  90. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +2 -2
  91. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +2 -2
  92. pulumi_azuredevops/serviceendpoint_jenkins.py +2 -2
  93. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +18 -18
  94. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +18 -18
  95. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +18 -18
  96. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +18 -18
  97. pulumi_azuredevops/serviceendpoint_maven.py +2 -2
  98. pulumi_azuredevops/serviceendpoint_nexus.py +2 -2
  99. pulumi_azuredevops/serviceendpoint_nuget.py +2 -2
  100. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +2 -2
  101. pulumi_azuredevops/serviceendpoint_permissions.py +40 -40
  102. pulumi_azuredevops/serviceendpoint_snyk.py +2 -2
  103. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +4 -6
  104. pulumi_azuredevops/servicehook_permissions.py +51 -51
  105. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +4 -4
  106. pulumi_azuredevops/tagging_permissions.py +49 -49
  107. pulumi_azuredevops/team.py +76 -56
  108. pulumi_azuredevops/team_administrators.py +83 -56
  109. pulumi_azuredevops/team_members.py +56 -49
  110. pulumi_azuredevops/variable_group.py +4 -2
  111. pulumi_azuredevops/variable_group_permissions.py +75 -75
  112. pulumi_azuredevops/wiki.py +15 -2
  113. pulumi_azuredevops/wiki_page.py +2 -2
  114. pulumi_azuredevops/work_item_query_permissions.py +7 -7
  115. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/METADATA +1 -1
  116. pulumi_azuredevops-3.6.0a1737710622.dist-info/RECORD +148 -0
  117. pulumi_azuredevops-3.6.0a1737523387.dist-info/RECORD +0 -140
  118. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/WHEEL +0 -0
  119. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/top_level.txt +0 -0
@@ -54,7 +54,7 @@ class ProjectPermissionsArgs:
54
54
  | CHANGE_PROCESS | Change process of team project. |
55
55
  | AGILETOOLS_BACKLOG | Agile backlog management. |
56
56
  | AGILETOOLS_PLANS | Agile plans. |
57
- :param pulumi.Input[str] principal: The **group** principal to assign the permissions.
57
+ :param pulumi.Input[str] principal: The `group` principal to assign the permissions.
58
58
  :param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
59
59
  :param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
60
60
  """
@@ -108,7 +108,7 @@ class ProjectPermissionsArgs:
108
108
  @pulumi.getter
109
109
  def principal(self) -> pulumi.Input[str]:
110
110
  """
111
- The **group** principal to assign the permissions.
111
+ The `group` principal to assign the permissions.
112
112
  """
113
113
  return pulumi.get(self, "principal")
114
114
 
@@ -179,7 +179,7 @@ class _ProjectPermissionsState:
179
179
  | CHANGE_PROCESS | Change process of team project. |
180
180
  | AGILETOOLS_BACKLOG | Agile backlog management. |
181
181
  | AGILETOOLS_PLANS | Agile plans. |
182
- :param pulumi.Input[str] principal: The **group** principal to assign the permissions.
182
+ :param pulumi.Input[str] principal: The `group` principal to assign the permissions.
183
183
  :param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
184
184
  :param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
185
185
  """
@@ -236,7 +236,7 @@ class _ProjectPermissionsState:
236
236
  @pulumi.getter
237
237
  def principal(self) -> Optional[pulumi.Input[str]]:
238
238
  """
239
- The **group** principal to assign the permissions.
239
+ The `group` principal to assign the permissions.
240
240
  """
241
241
  return pulumi.get(self, "principal")
242
242
 
@@ -352,7 +352,7 @@ class ProjectPermissions(pulumi.CustomResource):
352
352
  | CHANGE_PROCESS | Change process of team project. |
353
353
  | AGILETOOLS_BACKLOG | Agile backlog management. |
354
354
  | AGILETOOLS_PLANS | Agile plans. |
355
- :param pulumi.Input[str] principal: The **group** principal to assign the permissions.
355
+ :param pulumi.Input[str] principal: The `group` principal to assign the permissions.
356
356
  :param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
357
357
  :param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
358
358
  """
@@ -492,7 +492,7 @@ class ProjectPermissions(pulumi.CustomResource):
492
492
  | CHANGE_PROCESS | Change process of team project. |
493
493
  | AGILETOOLS_BACKLOG | Agile backlog management. |
494
494
  | AGILETOOLS_PLANS | Agile plans. |
495
- :param pulumi.Input[str] principal: The **group** principal to assign the permissions.
495
+ :param pulumi.Input[str] principal: The `group` principal to assign the permissions.
496
496
  :param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
497
497
  :param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
498
498
  """
@@ -546,7 +546,7 @@ class ProjectPermissions(pulumi.CustomResource):
546
546
  @pulumi.getter
547
547
  def principal(self) -> pulumi.Output[str]:
548
548
  """
549
- The **group** principal to assign the permissions.
549
+ The `group` principal to assign the permissions.
550
550
  """
551
551
  return pulumi.get(self, "principal")
552
552
 
@@ -28,14 +28,13 @@ class ProjectPipelineSettingsArgs:
28
28
  status_badges_are_private: Optional[pulumi.Input[bool]] = None):
29
29
  """
30
30
  The set of arguments for constructing a ProjectPipelineSettings resource.
31
- :param pulumi.Input[str] project_id: The `id` of the project for which the project pipeline settings will be managed.
31
+ :param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
32
32
  :param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
33
33
  :param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
34
34
 
35
- > **NOTE:**
36
- > The settings at the organization will override settings specified on the project.
37
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
38
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
35
+ > **NOTE:** The settings at the organization will override settings specified on the project.
36
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
37
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
39
38
  :param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
40
39
  :param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
41
40
  :param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
@@ -59,7 +58,7 @@ class ProjectPipelineSettingsArgs:
59
58
  @pulumi.getter(name="projectId")
60
59
  def project_id(self) -> pulumi.Input[str]:
61
60
  """
62
- The `id` of the project for which the project pipeline settings will be managed.
61
+ The ID of the project for which the project pipeline settings will be managed.
63
62
  """
64
63
  return pulumi.get(self, "project_id")
65
64
 
@@ -85,10 +84,9 @@ class ProjectPipelineSettingsArgs:
85
84
  """
86
85
  Limit job authorization scope to current project for release pipelines.
87
86
 
88
- > **NOTE:**
89
- > The settings at the organization will override settings specified on the project.
90
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
91
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
87
+ > **NOTE:** The settings at the organization will override settings specified on the project.
88
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
89
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
92
90
  """
93
91
  return pulumi.get(self, "enforce_job_scope_for_release")
94
92
 
@@ -160,13 +158,12 @@ class _ProjectPipelineSettingsState:
160
158
  :param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
161
159
  :param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
162
160
 
163
- > **NOTE:**
164
- > The settings at the organization will override settings specified on the project.
165
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
166
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
161
+ > **NOTE:** The settings at the organization will override settings specified on the project.
162
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
163
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
167
164
  :param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
168
165
  :param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
169
- :param pulumi.Input[str] project_id: The `id` of the project for which the project pipeline settings will be managed.
166
+ :param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
170
167
  :param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
171
168
  :param pulumi.Input[bool] status_badges_are_private: Disable anonymous access to badges.
172
169
  """
@@ -203,10 +200,9 @@ class _ProjectPipelineSettingsState:
203
200
  """
204
201
  Limit job authorization scope to current project for release pipelines.
205
202
 
206
- > **NOTE:**
207
- > The settings at the organization will override settings specified on the project.
208
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
209
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
203
+ > **NOTE:** The settings at the organization will override settings specified on the project.
204
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
205
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
210
206
  """
211
207
  return pulumi.get(self, "enforce_job_scope_for_release")
212
208
 
@@ -242,7 +238,7 @@ class _ProjectPipelineSettingsState:
242
238
  @pulumi.getter(name="projectId")
243
239
  def project_id(self) -> Optional[pulumi.Input[str]]:
244
240
  """
245
- The `id` of the project for which the project pipeline settings will be managed.
241
+ The ID of the project for which the project pipeline settings will be managed.
246
242
  """
247
243
  return pulumi.get(self, "project_id")
248
244
 
@@ -333,13 +329,12 @@ class ProjectPipelineSettings(pulumi.CustomResource):
333
329
  :param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
334
330
  :param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
335
331
 
336
- > **NOTE:**
337
- > The settings at the organization will override settings specified on the project.
338
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
339
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
332
+ > **NOTE:** The settings at the organization will override settings specified on the project.
333
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
334
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
340
335
  :param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
341
336
  :param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
342
- :param pulumi.Input[str] project_id: The `id` of the project for which the project pipeline settings will be managed.
337
+ :param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
343
338
  :param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
344
339
  :param pulumi.Input[bool] status_badges_are_private: Disable anonymous access to badges.
345
340
  """
@@ -456,13 +451,12 @@ class ProjectPipelineSettings(pulumi.CustomResource):
456
451
  :param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
457
452
  :param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
458
453
 
459
- > **NOTE:**
460
- > The settings at the organization will override settings specified on the project.
461
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
462
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
454
+ > **NOTE:** The settings at the organization will override settings specified on the project.
455
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
456
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
463
457
  :param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
464
458
  :param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
465
- :param pulumi.Input[str] project_id: The `id` of the project for which the project pipeline settings will be managed.
459
+ :param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
466
460
  :param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
467
461
  :param pulumi.Input[bool] status_badges_are_private: Disable anonymous access to badges.
468
462
  """
@@ -493,10 +487,9 @@ class ProjectPipelineSettings(pulumi.CustomResource):
493
487
  """
494
488
  Limit job authorization scope to current project for release pipelines.
495
489
 
496
- > **NOTE:**
497
- > The settings at the organization will override settings specified on the project.
498
- > For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
499
- > In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
490
+ > **NOTE:** The settings at the organization will override settings specified on the project.
491
+ For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
492
+ In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
500
493
  """
501
494
  return pulumi.get(self, "enforce_job_scope_for_release")
502
495
 
@@ -520,7 +513,7 @@ class ProjectPipelineSettings(pulumi.CustomResource):
520
513
  @pulumi.getter(name="projectId")
521
514
  def project_id(self) -> pulumi.Output[str]:
522
515
  """
523
- The `id` of the project for which the project pipeline settings will be managed.
516
+ The ID of the project for which the project pipeline settings will be managed.
524
517
  """
525
518
  return pulumi.get(self, "project_id")
526
519
 
@@ -0,0 +1,263 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from . import _utilities
16
+
17
+ __all__ = ['ProjectTagsArgs', 'ProjectTags']
18
+
19
+ @pulumi.input_type
20
+ class ProjectTagsArgs:
21
+ def __init__(__self__, *,
22
+ project_id: pulumi.Input[str],
23
+ tags: pulumi.Input[Sequence[pulumi.Input[str]]]):
24
+ """
25
+ The set of arguments for constructing a ProjectTags resource.
26
+ :param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
27
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
28
+ """
29
+ pulumi.set(__self__, "project_id", project_id)
30
+ pulumi.set(__self__, "tags", tags)
31
+
32
+ @property
33
+ @pulumi.getter(name="projectId")
34
+ def project_id(self) -> pulumi.Input[str]:
35
+ """
36
+ The ID of the Project. Changing this forces a new resource to be created.
37
+ """
38
+ return pulumi.get(self, "project_id")
39
+
40
+ @project_id.setter
41
+ def project_id(self, value: pulumi.Input[str]):
42
+ pulumi.set(self, "project_id", value)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def tags(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
47
+ """
48
+ A mapping of tags assigned to the Project.
49
+ """
50
+ return pulumi.get(self, "tags")
51
+
52
+ @tags.setter
53
+ def tags(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
54
+ pulumi.set(self, "tags", value)
55
+
56
+
57
+ @pulumi.input_type
58
+ class _ProjectTagsState:
59
+ def __init__(__self__, *,
60
+ project_id: Optional[pulumi.Input[str]] = None,
61
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
62
+ """
63
+ Input properties used for looking up and filtering ProjectTags resources.
64
+ :param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
65
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
66
+ """
67
+ if project_id is not None:
68
+ pulumi.set(__self__, "project_id", project_id)
69
+ if tags is not None:
70
+ pulumi.set(__self__, "tags", tags)
71
+
72
+ @property
73
+ @pulumi.getter(name="projectId")
74
+ def project_id(self) -> Optional[pulumi.Input[str]]:
75
+ """
76
+ The ID of the Project. Changing this forces a new resource to be created.
77
+ """
78
+ return pulumi.get(self, "project_id")
79
+
80
+ @project_id.setter
81
+ def project_id(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "project_id", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
87
+ """
88
+ A mapping of tags assigned to the Project.
89
+ """
90
+ return pulumi.get(self, "tags")
91
+
92
+ @tags.setter
93
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
94
+ pulumi.set(self, "tags", value)
95
+
96
+
97
+ class ProjectTags(pulumi.CustomResource):
98
+ @overload
99
+ def __init__(__self__,
100
+ resource_name: str,
101
+ opts: Optional[pulumi.ResourceOptions] = None,
102
+ project_id: Optional[pulumi.Input[str]] = None,
103
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
104
+ __props__=None):
105
+ """
106
+ Manages Project Tags within Azure DevOps organization.
107
+
108
+ ## Example Usage
109
+
110
+ ```python
111
+ import pulumi
112
+ import pulumi_azuredevops as azuredevops
113
+
114
+ example = azuredevops.Project("example",
115
+ name="Example Project",
116
+ visibility="private",
117
+ version_control="Git",
118
+ work_item_template="Agile",
119
+ description="Managed by Pulumi")
120
+ example_project_tags = azuredevops.ProjectTags("example",
121
+ project_id=example.id,
122
+ tags=[
123
+ "tag1",
124
+ "tag2",
125
+ ])
126
+ ```
127
+
128
+ ## Relevant Links
129
+
130
+ - [Azure DevOps Service REST API 7.0 - Project Properties](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/projects/get-project-properties?view=azure-devops-rest-7.1&tabs=HTTP)
131
+
132
+ ## Import
133
+
134
+ Azure DevOps Project Tags can be imported using the Project ID e.g.:
135
+
136
+ ```sh
137
+ $ pulumi import azuredevops:index/projectTags:ProjectTags example 00000000-0000-0000-0000-000000000000
138
+ ```
139
+
140
+ :param str resource_name: The name of the resource.
141
+ :param pulumi.ResourceOptions opts: Options for the resource.
142
+ :param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
143
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
144
+ """
145
+ ...
146
+ @overload
147
+ def __init__(__self__,
148
+ resource_name: str,
149
+ args: ProjectTagsArgs,
150
+ opts: Optional[pulumi.ResourceOptions] = None):
151
+ """
152
+ Manages Project Tags within Azure DevOps organization.
153
+
154
+ ## Example Usage
155
+
156
+ ```python
157
+ import pulumi
158
+ import pulumi_azuredevops as azuredevops
159
+
160
+ example = azuredevops.Project("example",
161
+ name="Example Project",
162
+ visibility="private",
163
+ version_control="Git",
164
+ work_item_template="Agile",
165
+ description="Managed by Pulumi")
166
+ example_project_tags = azuredevops.ProjectTags("example",
167
+ project_id=example.id,
168
+ tags=[
169
+ "tag1",
170
+ "tag2",
171
+ ])
172
+ ```
173
+
174
+ ## Relevant Links
175
+
176
+ - [Azure DevOps Service REST API 7.0 - Project Properties](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/projects/get-project-properties?view=azure-devops-rest-7.1&tabs=HTTP)
177
+
178
+ ## Import
179
+
180
+ Azure DevOps Project Tags can be imported using the Project ID e.g.:
181
+
182
+ ```sh
183
+ $ pulumi import azuredevops:index/projectTags:ProjectTags example 00000000-0000-0000-0000-000000000000
184
+ ```
185
+
186
+ :param str resource_name: The name of the resource.
187
+ :param ProjectTagsArgs args: The arguments to use to populate this resource's properties.
188
+ :param pulumi.ResourceOptions opts: Options for the resource.
189
+ """
190
+ ...
191
+ def __init__(__self__, resource_name: str, *args, **kwargs):
192
+ resource_args, opts = _utilities.get_resource_args_opts(ProjectTagsArgs, pulumi.ResourceOptions, *args, **kwargs)
193
+ if resource_args is not None:
194
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
195
+ else:
196
+ __self__._internal_init(resource_name, *args, **kwargs)
197
+
198
+ def _internal_init(__self__,
199
+ resource_name: str,
200
+ opts: Optional[pulumi.ResourceOptions] = None,
201
+ project_id: Optional[pulumi.Input[str]] = None,
202
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
203
+ __props__=None):
204
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
205
+ if not isinstance(opts, pulumi.ResourceOptions):
206
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
207
+ if opts.id is None:
208
+ if __props__ is not None:
209
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
210
+ __props__ = ProjectTagsArgs.__new__(ProjectTagsArgs)
211
+
212
+ if project_id is None and not opts.urn:
213
+ raise TypeError("Missing required property 'project_id'")
214
+ __props__.__dict__["project_id"] = project_id
215
+ if tags is None and not opts.urn:
216
+ raise TypeError("Missing required property 'tags'")
217
+ __props__.__dict__["tags"] = tags
218
+ super(ProjectTags, __self__).__init__(
219
+ 'azuredevops:index/projectTags:ProjectTags',
220
+ resource_name,
221
+ __props__,
222
+ opts)
223
+
224
+ @staticmethod
225
+ def get(resource_name: str,
226
+ id: pulumi.Input[str],
227
+ opts: Optional[pulumi.ResourceOptions] = None,
228
+ project_id: Optional[pulumi.Input[str]] = None,
229
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ProjectTags':
230
+ """
231
+ Get an existing ProjectTags resource's state with the given name, id, and optional extra
232
+ properties used to qualify the lookup.
233
+
234
+ :param str resource_name: The unique name of the resulting resource.
235
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
236
+ :param pulumi.ResourceOptions opts: Options for the resource.
237
+ :param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
238
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
239
+ """
240
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
241
+
242
+ __props__ = _ProjectTagsState.__new__(_ProjectTagsState)
243
+
244
+ __props__.__dict__["project_id"] = project_id
245
+ __props__.__dict__["tags"] = tags
246
+ return ProjectTags(resource_name, opts=opts, __props__=__props__)
247
+
248
+ @property
249
+ @pulumi.getter(name="projectId")
250
+ def project_id(self) -> pulumi.Output[str]:
251
+ """
252
+ The ID of the Project. Changing this forces a new resource to be created.
253
+ """
254
+ return pulumi.get(self, "project_id")
255
+
256
+ @property
257
+ @pulumi.getter
258
+ def tags(self) -> pulumi.Output[Sequence[str]]:
259
+ """
260
+ A mapping of tags assigned to the Project.
261
+ """
262
+ return pulumi.get(self, "tags")
263
+
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "azuredevops",
4
- "version": "3.6.0-alpha.1737523387"
4
+ "version": "3.6.0-alpha.1737710622"
5
5
  }
@@ -27,8 +27,7 @@ class QueueArgs:
27
27
  :param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
28
28
  :param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
29
29
 
30
- > **NOTE:**
31
- One of `name` or `agent_pool_id` must be specified, but not both.
30
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
32
31
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
33
32
  :param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
34
33
  """
@@ -56,8 +55,7 @@ class QueueArgs:
56
55
  """
57
56
  The ID of the organization agent pool. Conflicts with `name`.
58
57
 
59
- > **NOTE:**
60
- One of `name` or `agent_pool_id` must be specified, but not both.
58
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
61
59
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
62
60
  """
63
61
  return pulumi.get(self, "agent_pool_id")
@@ -89,8 +87,7 @@ class _QueueState:
89
87
  Input properties used for looking up and filtering Queue resources.
90
88
  :param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
91
89
 
92
- > **NOTE:**
93
- One of `name` or `agent_pool_id` must be specified, but not both.
90
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
94
91
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
95
92
  :param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
96
93
  :param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
@@ -108,8 +105,7 @@ class _QueueState:
108
105
  """
109
106
  The ID of the organization agent pool. Conflicts with `name`.
110
107
 
111
- > **NOTE:**
112
- One of `name` or `agent_pool_id` must be specified, but not both.
108
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
113
109
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
114
110
  """
115
111
  return pulumi.get(self, "agent_pool_id")
@@ -208,8 +204,7 @@ class Queue(pulumi.CustomResource):
208
204
  :param pulumi.ResourceOptions opts: Options for the resource.
209
205
  :param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
210
206
 
211
- > **NOTE:**
212
- One of `name` or `agent_pool_id` must be specified, but not both.
207
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
213
208
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
214
209
  :param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
215
210
  :param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
@@ -326,8 +321,7 @@ class Queue(pulumi.CustomResource):
326
321
  :param pulumi.ResourceOptions opts: Options for the resource.
327
322
  :param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
328
323
 
329
- > **NOTE:**
330
- One of `name` or `agent_pool_id` must be specified, but not both.
324
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
331
325
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
332
326
  :param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
333
327
  :param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
@@ -347,8 +341,7 @@ class Queue(pulumi.CustomResource):
347
341
  """
348
342
  The ID of the organization agent pool. Conflicts with `name`.
349
343
 
350
- > **NOTE:**
351
- One of `name` or `agent_pool_id` must be specified, but not both.
344
+ > **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
352
345
  When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
353
346
  """
354
347
  return pulumi.get(self, "agent_pool_id")
@@ -26,8 +26,9 @@ class RepositoryPolicyAuthorEmailPatternArgs:
26
26
  repository_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
27
27
  """
28
28
  The set of arguments for constructing a RepositoryPolicyAuthorEmailPattern resource.
29
- :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
30
- Email patterns prefixed with "!" are excluded. Order is important.
29
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
30
+
31
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
31
32
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
32
33
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
33
34
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
@@ -46,8 +47,9 @@ class RepositoryPolicyAuthorEmailPatternArgs:
46
47
  @pulumi.getter(name="authorEmailPatterns")
47
48
  def author_email_patterns(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
48
49
  """
49
- Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
50
- Email patterns prefixed with "!" are excluded. Order is important.
50
+ Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
51
+
52
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
51
53
  """
52
54
  return pulumi.get(self, "author_email_patterns")
53
55
 
@@ -114,8 +116,9 @@ class _RepositoryPolicyAuthorEmailPatternState:
114
116
  repository_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
115
117
  """
116
118
  Input properties used for looking up and filtering RepositoryPolicyAuthorEmailPattern resources.
117
- :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
118
- Email patterns prefixed with "!" are excluded. Order is important.
119
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
120
+
121
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
119
122
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
120
123
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
121
124
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
@@ -136,8 +139,9 @@ class _RepositoryPolicyAuthorEmailPatternState:
136
139
  @pulumi.getter(name="authorEmailPatterns")
137
140
  def author_email_patterns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
138
141
  """
139
- Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
140
- Email patterns prefixed with "!" are excluded. Order is important.
142
+ Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
143
+
144
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
141
145
  """
142
146
  return pulumi.get(self, "author_email_patterns")
143
147
 
@@ -273,8 +277,9 @@ class RepositoryPolicyAuthorEmailPattern(pulumi.CustomResource):
273
277
 
274
278
  :param str resource_name: The name of the resource.
275
279
  :param pulumi.ResourceOptions opts: Options for the resource.
276
- :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
277
- Email patterns prefixed with "!" are excluded. Order is important.
280
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
281
+
282
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
278
283
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
279
284
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
280
285
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
@@ -412,8 +417,9 @@ class RepositoryPolicyAuthorEmailPattern(pulumi.CustomResource):
412
417
  :param str resource_name: The unique name of the resulting resource.
413
418
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
414
419
  :param pulumi.ResourceOptions opts: Options for the resource.
415
- :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
416
- Email patterns prefixed with "!" are excluded. Order is important.
420
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
421
+
422
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
417
423
  :param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
418
424
  :param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
419
425
  :param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
@@ -434,8 +440,9 @@ class RepositoryPolicyAuthorEmailPattern(pulumi.CustomResource):
434
440
  @pulumi.getter(name="authorEmailPatterns")
435
441
  def author_email_patterns(self) -> pulumi.Output[Sequence[str]]:
436
442
  """
437
- Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
438
- Email patterns prefixed with "!" are excluded. Order is important.
443
+ Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
444
+
445
+ ~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
439
446
  """
440
447
  return pulumi.get(self, "author_email_patterns")
441
448