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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. pulumi_azuredevops/__init__.py +123 -174
  2. pulumi_azuredevops/_inputs.py +1742 -110
  3. pulumi_azuredevops/_utilities.py +41 -5
  4. pulumi_azuredevops/area_permissions.py +9 -6
  5. pulumi_azuredevops/branch_policy_auto_reviewers.py +52 -49
  6. pulumi_azuredevops/branch_policy_build_validation.py +86 -79
  7. pulumi_azuredevops/branch_policy_comment_resolution.py +60 -57
  8. pulumi_azuredevops/branch_policy_merge_types.py +68 -65
  9. pulumi_azuredevops/branch_policy_min_reviewers.py +72 -71
  10. pulumi_azuredevops/branch_policy_status_check.py +66 -61
  11. pulumi_azuredevops/branch_policy_work_item_linking.py +60 -57
  12. pulumi_azuredevops/build_definition.py +380 -200
  13. pulumi_azuredevops/build_definition_permissions.py +186 -165
  14. pulumi_azuredevops/build_folder.py +13 -10
  15. pulumi_azuredevops/build_folder_permissions.py +33 -32
  16. pulumi_azuredevops/check_approval.py +49 -16
  17. pulumi_azuredevops/check_branch_control.py +139 -110
  18. pulumi_azuredevops/check_business_hours.py +137 -108
  19. pulumi_azuredevops/check_exclusive_lock.py +107 -30
  20. pulumi_azuredevops/check_required_template.py +96 -67
  21. pulumi_azuredevops/config/__init__.pyi +87 -0
  22. pulumi_azuredevops/config/vars.py +125 -0
  23. pulumi_azuredevops/elastic_pool.py +78 -26
  24. pulumi_azuredevops/environment.py +17 -10
  25. pulumi_azuredevops/environment_resource_kubernetes.py +534 -0
  26. pulumi_azuredevops/feed.py +372 -0
  27. pulumi_azuredevops/feed_permission.py +415 -0
  28. pulumi_azuredevops/get_agent_queue.py +28 -19
  29. pulumi_azuredevops/get_area.py +28 -15
  30. pulumi_azuredevops/get_build_definition.py +32 -15
  31. pulumi_azuredevops/get_client_config.py +12 -9
  32. pulumi_azuredevops/get_environment.py +72 -5
  33. pulumi_azuredevops/get_feed.py +186 -0
  34. pulumi_azuredevops/get_git_repository.py +39 -10
  35. pulumi_azuredevops/get_group.py +55 -22
  36. pulumi_azuredevops/get_groups.py +18 -9
  37. pulumi_azuredevops/get_identity_group.py +152 -0
  38. pulumi_azuredevops/get_identity_groups.py +140 -0
  39. pulumi_azuredevops/get_identity_users.py +122 -0
  40. pulumi_azuredevops/get_iteration.py +24 -11
  41. pulumi_azuredevops/get_pool.py +16 -9
  42. pulumi_azuredevops/get_pools.py +12 -9
  43. pulumi_azuredevops/get_project.py +22 -10
  44. pulumi_azuredevops/get_projects.py +16 -9
  45. pulumi_azuredevops/get_repositories.py +22 -9
  46. pulumi_azuredevops/get_securityrole_definitions.py +141 -0
  47. pulumi_azuredevops/get_service_endpoint_azure_rm.py +70 -26
  48. pulumi_azuredevops/get_service_endpoint_github.py +19 -13
  49. pulumi_azuredevops/get_serviceendpoint_azurecr.py +31 -11
  50. pulumi_azuredevops/get_serviceendpoint_bitbucket.py +219 -0
  51. pulumi_azuredevops/get_serviceendpoint_npm.py +22 -11
  52. pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +21 -11
  53. pulumi_azuredevops/get_team.py +29 -15
  54. pulumi_azuredevops/get_teams.py +16 -9
  55. pulumi_azuredevops/get_users.py +26 -87
  56. pulumi_azuredevops/get_variable_group.py +27 -17
  57. pulumi_azuredevops/git.py +57 -99
  58. pulumi_azuredevops/git_permissions.py +78 -75
  59. pulumi_azuredevops/git_repository_branch.py +29 -20
  60. pulumi_azuredevops/git_repository_file.py +23 -18
  61. pulumi_azuredevops/group.py +43 -16
  62. pulumi_azuredevops/group_entitlement.py +5 -8
  63. pulumi_azuredevops/group_membership.py +57 -30
  64. pulumi_azuredevops/iterative_permissions.py +9 -6
  65. pulumi_azuredevops/library_permissions.py +451 -0
  66. pulumi_azuredevops/outputs.py +460 -56
  67. pulumi_azuredevops/pipeline_authorization.py +136 -47
  68. pulumi_azuredevops/pool.py +7 -6
  69. pulumi_azuredevops/project.py +19 -18
  70. pulumi_azuredevops/project_features.py +9 -8
  71. pulumi_azuredevops/project_permissions.py +9 -6
  72. pulumi_azuredevops/project_pipeline_settings.py +15 -12
  73. pulumi_azuredevops/provider.py +491 -2
  74. pulumi_azuredevops/pulumi-plugin.json +2 -1
  75. pulumi_azuredevops/queue.py +23 -24
  76. pulumi_azuredevops/repository_policy_author_email_pattern.py +37 -34
  77. pulumi_azuredevops/repository_policy_case_enforcement.py +37 -34
  78. pulumi_azuredevops/repository_policy_check_credentials.py +37 -34
  79. pulumi_azuredevops/repository_policy_file_path_pattern.py +31 -28
  80. pulumi_azuredevops/repository_policy_max_file_size.py +44 -41
  81. pulumi_azuredevops/repository_policy_max_path_length.py +37 -34
  82. pulumi_azuredevops/repository_policy_reserved_names.py +37 -34
  83. pulumi_azuredevops/resource_authorization.py +23 -20
  84. pulumi_azuredevops/securityrole_assignment.py +295 -0
  85. pulumi_azuredevops/service_endpoint_artifactory.py +49 -48
  86. pulumi_azuredevops/service_endpoint_aws.py +99 -51
  87. pulumi_azuredevops/service_endpoint_azure_dev_ops.py +17 -14
  88. pulumi_azuredevops/service_endpoint_azure_ecr.py +275 -33
  89. pulumi_azuredevops/service_endpoint_azure_rm.py +236 -114
  90. pulumi_azuredevops/service_endpoint_bit_bucket.py +19 -18
  91. pulumi_azuredevops/service_endpoint_docker_registry.py +17 -16
  92. pulumi_azuredevops/service_endpoint_generic.py +19 -20
  93. pulumi_azuredevops/service_endpoint_generic_git.py +17 -14
  94. pulumi_azuredevops/service_endpoint_git_hub.py +57 -60
  95. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +26 -23
  96. pulumi_azuredevops/{serviceendpoint/bit_bucket.py → service_endpoint_git_lab.py} +147 -100
  97. pulumi_azuredevops/service_endpoint_kubernetes.py +160 -17
  98. pulumi_azuredevops/service_endpoint_npm.py +17 -14
  99. pulumi_azuredevops/service_endpoint_pipeline.py +28 -25
  100. pulumi_azuredevops/service_endpoint_service_fabric.py +42 -95
  101. pulumi_azuredevops/service_endpoint_sonar_cloud.py +17 -14
  102. pulumi_azuredevops/service_endpoint_sonar_qube.py +17 -14
  103. pulumi_azuredevops/service_endpoint_ssh.py +17 -14
  104. pulumi_azuredevops/serviceendpoint_argocd.py +51 -50
  105. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +429 -0
  106. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +579 -0
  107. pulumi_azuredevops/serviceendpoint_externaltfs.py +10 -5
  108. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +17 -14
  109. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +17 -14
  110. pulumi_azuredevops/serviceendpoint_jenkins.py +15 -12
  111. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +53 -52
  112. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +53 -52
  113. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +53 -52
  114. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +53 -52
  115. pulumi_azuredevops/serviceendpoint_maven.py +49 -48
  116. pulumi_azuredevops/serviceendpoint_nexus.py +15 -12
  117. pulumi_azuredevops/serviceendpoint_nuget.py +17 -14
  118. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +17 -14
  119. pulumi_azuredevops/serviceendpoint_permissions.py +21 -18
  120. pulumi_azuredevops/serviceendpoint_snyk.py +429 -0
  121. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +543 -0
  122. pulumi_azuredevops/servicehook_permissions.py +9 -6
  123. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +55 -48
  124. pulumi_azuredevops/tagging_permissions.py +9 -6
  125. pulumi_azuredevops/team.py +21 -16
  126. pulumi_azuredevops/team_administrators.py +19 -12
  127. pulumi_azuredevops/team_members.py +19 -12
  128. pulumi_azuredevops/user.py +27 -8
  129. pulumi_azuredevops/variable_group.py +91 -88
  130. pulumi_azuredevops/variable_group_permissions.py +517 -0
  131. pulumi_azuredevops/wiki.py +509 -0
  132. pulumi_azuredevops/wiki_page.py +377 -0
  133. pulumi_azuredevops/work_item_query_permissions.py +17 -18
  134. pulumi_azuredevops/workitem.py +25 -24
  135. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/METADATA +9 -8
  136. pulumi_azuredevops-3.6.0a1736832240.dist-info/RECORD +140 -0
  137. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/WHEEL +1 -1
  138. pulumi_azuredevops/agent/__init__.py +0 -12
  139. pulumi_azuredevops/agent/get_pool.py +0 -155
  140. pulumi_azuredevops/agent/get_pools.py +0 -120
  141. pulumi_azuredevops/agent/outputs.py +0 -73
  142. pulumi_azuredevops/agent/pool.py +0 -342
  143. pulumi_azuredevops/agent/queue.py +0 -376
  144. pulumi_azuredevops/build/__init__.py +0 -10
  145. pulumi_azuredevops/build/_inputs.py +0 -1164
  146. pulumi_azuredevops/build/build_definition.py +0 -987
  147. pulumi_azuredevops/build/outputs.py +0 -1170
  148. pulumi_azuredevops/core/__init__.py +0 -13
  149. pulumi_azuredevops/core/get_client_config.py +0 -102
  150. pulumi_azuredevops/core/get_project.py +0 -194
  151. pulumi_azuredevops/core/get_projects.py +0 -166
  152. pulumi_azuredevops/core/outputs.py +0 -70
  153. pulumi_azuredevops/core/project.py +0 -538
  154. pulumi_azuredevops/core/project_features.py +0 -303
  155. pulumi_azuredevops/entitlement/__init__.py +0 -8
  156. pulumi_azuredevops/entitlement/user.py +0 -429
  157. pulumi_azuredevops/identities/__init__.py +0 -13
  158. pulumi_azuredevops/identities/_inputs.py +0 -42
  159. pulumi_azuredevops/identities/get_group.py +0 -185
  160. pulumi_azuredevops/identities/get_users.py +0 -257
  161. pulumi_azuredevops/identities/group.py +0 -632
  162. pulumi_azuredevops/identities/group_membership.py +0 -333
  163. pulumi_azuredevops/identities/outputs.py +0 -124
  164. pulumi_azuredevops/pipeline/__init__.py +0 -10
  165. pulumi_azuredevops/pipeline/_inputs.py +0 -175
  166. pulumi_azuredevops/pipeline/outputs.py +0 -175
  167. pulumi_azuredevops/pipeline/variable_group.py +0 -594
  168. pulumi_azuredevops/policy/__init__.py +0 -11
  169. pulumi_azuredevops/policy/_inputs.py +0 -382
  170. pulumi_azuredevops/policy/branch_policy_build_validation.py +0 -424
  171. pulumi_azuredevops/policy/branch_policy_min_reviewers.py +0 -406
  172. pulumi_azuredevops/policy/outputs.py +0 -397
  173. pulumi_azuredevops/repository/__init__.py +0 -11
  174. pulumi_azuredevops/repository/_inputs.py +0 -85
  175. pulumi_azuredevops/repository/get_repositories.py +0 -177
  176. pulumi_azuredevops/repository/git.py +0 -627
  177. pulumi_azuredevops/repository/outputs.py +0 -199
  178. pulumi_azuredevops/security/__init__.py +0 -8
  179. pulumi_azuredevops/security/resource_authorization.py +0 -404
  180. pulumi_azuredevops/serviceendpoint/__init__.py +0 -14
  181. pulumi_azuredevops/serviceendpoint/_inputs.py +0 -341
  182. pulumi_azuredevops/serviceendpoint/azure_rm.py +0 -1140
  183. pulumi_azuredevops/serviceendpoint/docker_registry.py +0 -595
  184. pulumi_azuredevops/serviceendpoint/git_hub.py +0 -489
  185. pulumi_azuredevops/serviceendpoint/kubernetes.py +0 -523
  186. pulumi_azuredevops/serviceendpoint/outputs.py +0 -370
  187. pulumi_azuredevops-2.16.0a1710156155.dist-info/RECORD +0 -171
  188. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['PipelineAuthorizationArgs', 'PipelineAuthorization']
@@ -17,19 +22,28 @@ class PipelineAuthorizationArgs:
17
22
  project_id: pulumi.Input[str],
18
23
  resource_id: pulumi.Input[str],
19
24
  type: pulumi.Input[str],
20
- pipeline_id: Optional[pulumi.Input[int]] = None):
25
+ pipeline_id: Optional[pulumi.Input[int]] = None,
26
+ pipeline_project_id: Optional[pulumi.Input[str]] = None):
21
27
  """
22
28
  The set of arguments for constructing a PipelineAuthorization resource.
23
29
  :param pulumi.Input[str] project_id: The ID of the project. Changing this forces a new resource to be created
24
30
  :param pulumi.Input[str] resource_id: The ID of the resource to authorize. Changing this forces a new resource to be created
25
31
  :param pulumi.Input[str] type: The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
32
+
33
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
34
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
35
+ Typical process for connecting to GitHub:
36
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
26
37
  :param pulumi.Input[int] pipeline_id: The ID of the pipeline. If not configured, all pipelines will be authorized. Changing this forces a new resource to be created.
38
+ :param pulumi.Input[str] pipeline_project_id: The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
27
39
  """
28
40
  pulumi.set(__self__, "project_id", project_id)
29
41
  pulumi.set(__self__, "resource_id", resource_id)
30
42
  pulumi.set(__self__, "type", type)
31
43
  if pipeline_id is not None:
32
44
  pulumi.set(__self__, "pipeline_id", pipeline_id)
45
+ if pipeline_project_id is not None:
46
+ pulumi.set(__self__, "pipeline_project_id", pipeline_project_id)
33
47
 
34
48
  @property
35
49
  @pulumi.getter(name="projectId")
@@ -60,6 +74,11 @@ class PipelineAuthorizationArgs:
60
74
  def type(self) -> pulumi.Input[str]:
61
75
  """
62
76
  The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
77
+
78
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
79
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
80
+ Typical process for connecting to GitHub:
81
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
63
82
  """
64
83
  return pulumi.get(self, "type")
65
84
 
@@ -79,23 +98,44 @@ class PipelineAuthorizationArgs:
79
98
  def pipeline_id(self, value: Optional[pulumi.Input[int]]):
80
99
  pulumi.set(self, "pipeline_id", value)
81
100
 
101
+ @property
102
+ @pulumi.getter(name="pipelineProjectId")
103
+ def pipeline_project_id(self) -> Optional[pulumi.Input[str]]:
104
+ """
105
+ The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
106
+ """
107
+ return pulumi.get(self, "pipeline_project_id")
108
+
109
+ @pipeline_project_id.setter
110
+ def pipeline_project_id(self, value: Optional[pulumi.Input[str]]):
111
+ pulumi.set(self, "pipeline_project_id", value)
112
+
82
113
 
83
114
  @pulumi.input_type
84
115
  class _PipelineAuthorizationState:
85
116
  def __init__(__self__, *,
86
117
  pipeline_id: Optional[pulumi.Input[int]] = None,
118
+ pipeline_project_id: Optional[pulumi.Input[str]] = None,
87
119
  project_id: Optional[pulumi.Input[str]] = None,
88
120
  resource_id: Optional[pulumi.Input[str]] = None,
89
121
  type: Optional[pulumi.Input[str]] = None):
90
122
  """
91
123
  Input properties used for looking up and filtering PipelineAuthorization resources.
92
124
  :param pulumi.Input[int] pipeline_id: The ID of the pipeline. If not configured, all pipelines will be authorized. Changing this forces a new resource to be created.
125
+ :param pulumi.Input[str] pipeline_project_id: The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
93
126
  :param pulumi.Input[str] project_id: The ID of the project. Changing this forces a new resource to be created
94
127
  :param pulumi.Input[str] resource_id: The ID of the resource to authorize. Changing this forces a new resource to be created
95
128
  :param pulumi.Input[str] type: The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
129
+
130
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
131
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
132
+ Typical process for connecting to GitHub:
133
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
96
134
  """
97
135
  if pipeline_id is not None:
98
136
  pulumi.set(__self__, "pipeline_id", pipeline_id)
137
+ if pipeline_project_id is not None:
138
+ pulumi.set(__self__, "pipeline_project_id", pipeline_project_id)
99
139
  if project_id is not None:
100
140
  pulumi.set(__self__, "project_id", project_id)
101
141
  if resource_id is not None:
@@ -115,6 +155,18 @@ class _PipelineAuthorizationState:
115
155
  def pipeline_id(self, value: Optional[pulumi.Input[int]]):
116
156
  pulumi.set(self, "pipeline_id", value)
117
157
 
158
+ @property
159
+ @pulumi.getter(name="pipelineProjectId")
160
+ def pipeline_project_id(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
163
+ """
164
+ return pulumi.get(self, "pipeline_project_id")
165
+
166
+ @pipeline_project_id.setter
167
+ def pipeline_project_id(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "pipeline_project_id", value)
169
+
118
170
  @property
119
171
  @pulumi.getter(name="projectId")
120
172
  def project_id(self) -> Optional[pulumi.Input[str]]:
@@ -144,6 +196,11 @@ class _PipelineAuthorizationState:
144
196
  def type(self) -> Optional[pulumi.Input[str]]:
145
197
  """
146
198
  The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
199
+
200
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
201
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
202
+ Typical process for connecting to GitHub:
203
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
147
204
  """
148
205
  return pulumi.get(self, "type")
149
206
 
@@ -158,6 +215,7 @@ class PipelineAuthorization(pulumi.CustomResource):
158
215
  resource_name: str,
159
216
  opts: Optional[pulumi.ResourceOptions] = None,
160
217
  pipeline_id: Optional[pulumi.Input[int]] = None,
218
+ pipeline_project_id: Optional[pulumi.Input[str]] = None,
161
219
  project_id: Optional[pulumi.Input[str]] = None,
162
220
  resource_id: Optional[pulumi.Input[str]] = None,
163
221
  type: Optional[pulumi.Input[str]] = None,
@@ -173,63 +231,64 @@ class PipelineAuthorization(pulumi.CustomResource):
173
231
 
174
232
  ### Authorization for all pipelines
175
233
 
176
- <!--Start PulumiCodeChooser -->
177
234
  ```python
178
235
  import pulumi
179
236
  import pulumi_azuredevops as azuredevops
180
237
 
181
- example_project = azuredevops.Project("exampleProject",
238
+ example = azuredevops.Project("example",
239
+ name="Example Project",
182
240
  visibility="private",
183
241
  version_control="Git",
184
242
  work_item_template="Agile",
185
- description="Managed by Terraform")
186
- example_pool = azuredevops.Pool("examplePool",
243
+ description="Managed by Pulumi")
244
+ example_pool = azuredevops.Pool("example",
245
+ name="Example Pool",
187
246
  auto_provision=False,
188
247
  auto_update=False)
189
- example_queue = azuredevops.Queue("exampleQueue",
190
- project_id=example_project.id,
248
+ example_queue = azuredevops.Queue("example",
249
+ project_id=example.id,
191
250
  agent_pool_id=example_pool.id)
192
- example_pipeline_authorization = azuredevops.PipelineAuthorization("examplePipelineAuthorization",
193
- project_id=example_project.id,
251
+ example_pipeline_authorization = azuredevops.PipelineAuthorization("example",
252
+ project_id=example.id,
194
253
  resource_id=example_queue.id,
195
254
  type="queue")
196
255
  ```
197
- <!--End PulumiCodeChooser -->
198
256
 
199
257
  ### Authorization for specific pipeline
200
258
 
201
- <!--Start PulumiCodeChooser -->
202
259
  ```python
203
260
  import pulumi
204
261
  import pulumi_azuredevops as azuredevops
205
262
 
206
- example_project = azuredevops.Project("exampleProject",
263
+ example_project = azuredevops.Project("example",
264
+ name="Example Project",
207
265
  visibility="private",
208
266
  version_control="Git",
209
267
  work_item_template="Agile",
210
- description="Managed by Terraform")
211
- example_pool = azuredevops.Pool("examplePool",
268
+ description="Managed by Pulumi")
269
+ example_pool = azuredevops.Pool("example",
270
+ name="Example Pool",
212
271
  auto_provision=False,
213
272
  auto_update=False)
214
- example_queue = azuredevops.Queue("exampleQueue",
273
+ example_queue = azuredevops.Queue("example",
215
274
  project_id=example_project.id,
216
275
  agent_pool_id=example_pool.id)
217
- example_git_repository = azuredevops.get_git_repository_output(project_id=example_project.id,
276
+ example = azuredevops.get_git_repository_output(project_id=example_project.id,
218
277
  name="Example Project")
219
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
278
+ example_build_definition = azuredevops.BuildDefinition("example",
220
279
  project_id=example_project.id,
221
- repository=azuredevops.BuildDefinitionRepositoryArgs(
222
- repo_type="TfsGit",
223
- repo_id=example_git_repository.id,
224
- yml_path="azure-pipelines.yml",
225
- ))
226
- example_pipeline_authorization = azuredevops.PipelineAuthorization("examplePipelineAuthorization",
280
+ name="Example Pipeline",
281
+ repository={
282
+ "repo_type": "TfsGit",
283
+ "repo_id": example.id,
284
+ "yml_path": "azure-pipelines.yml",
285
+ })
286
+ example_pipeline_authorization = azuredevops.PipelineAuthorization("example",
227
287
  project_id=example_project.id,
228
288
  resource_id=example_queue.id,
229
289
  type="queue",
230
290
  pipeline_id=example_build_definition.id)
231
291
  ```
232
- <!--End PulumiCodeChooser -->
233
292
 
234
293
  ## Relevant Links
235
294
 
@@ -238,9 +297,15 @@ class PipelineAuthorization(pulumi.CustomResource):
238
297
  :param str resource_name: The name of the resource.
239
298
  :param pulumi.ResourceOptions opts: Options for the resource.
240
299
  :param pulumi.Input[int] pipeline_id: The ID of the pipeline. If not configured, all pipelines will be authorized. Changing this forces a new resource to be created.
300
+ :param pulumi.Input[str] pipeline_project_id: The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
241
301
  :param pulumi.Input[str] project_id: The ID of the project. Changing this forces a new resource to be created
242
302
  :param pulumi.Input[str] resource_id: The ID of the resource to authorize. Changing this forces a new resource to be created
243
303
  :param pulumi.Input[str] type: The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
304
+
305
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
306
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
307
+ Typical process for connecting to GitHub:
308
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
244
309
  """
245
310
  ...
246
311
  @overload
@@ -259,63 +324,64 @@ class PipelineAuthorization(pulumi.CustomResource):
259
324
 
260
325
  ### Authorization for all pipelines
261
326
 
262
- <!--Start PulumiCodeChooser -->
263
327
  ```python
264
328
  import pulumi
265
329
  import pulumi_azuredevops as azuredevops
266
330
 
267
- example_project = azuredevops.Project("exampleProject",
331
+ example = azuredevops.Project("example",
332
+ name="Example Project",
268
333
  visibility="private",
269
334
  version_control="Git",
270
335
  work_item_template="Agile",
271
- description="Managed by Terraform")
272
- example_pool = azuredevops.Pool("examplePool",
336
+ description="Managed by Pulumi")
337
+ example_pool = azuredevops.Pool("example",
338
+ name="Example Pool",
273
339
  auto_provision=False,
274
340
  auto_update=False)
275
- example_queue = azuredevops.Queue("exampleQueue",
276
- project_id=example_project.id,
341
+ example_queue = azuredevops.Queue("example",
342
+ project_id=example.id,
277
343
  agent_pool_id=example_pool.id)
278
- example_pipeline_authorization = azuredevops.PipelineAuthorization("examplePipelineAuthorization",
279
- project_id=example_project.id,
344
+ example_pipeline_authorization = azuredevops.PipelineAuthorization("example",
345
+ project_id=example.id,
280
346
  resource_id=example_queue.id,
281
347
  type="queue")
282
348
  ```
283
- <!--End PulumiCodeChooser -->
284
349
 
285
350
  ### Authorization for specific pipeline
286
351
 
287
- <!--Start PulumiCodeChooser -->
288
352
  ```python
289
353
  import pulumi
290
354
  import pulumi_azuredevops as azuredevops
291
355
 
292
- example_project = azuredevops.Project("exampleProject",
356
+ example_project = azuredevops.Project("example",
357
+ name="Example Project",
293
358
  visibility="private",
294
359
  version_control="Git",
295
360
  work_item_template="Agile",
296
- description="Managed by Terraform")
297
- example_pool = azuredevops.Pool("examplePool",
361
+ description="Managed by Pulumi")
362
+ example_pool = azuredevops.Pool("example",
363
+ name="Example Pool",
298
364
  auto_provision=False,
299
365
  auto_update=False)
300
- example_queue = azuredevops.Queue("exampleQueue",
366
+ example_queue = azuredevops.Queue("example",
301
367
  project_id=example_project.id,
302
368
  agent_pool_id=example_pool.id)
303
- example_git_repository = azuredevops.get_git_repository_output(project_id=example_project.id,
369
+ example = azuredevops.get_git_repository_output(project_id=example_project.id,
304
370
  name="Example Project")
305
- example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
371
+ example_build_definition = azuredevops.BuildDefinition("example",
306
372
  project_id=example_project.id,
307
- repository=azuredevops.BuildDefinitionRepositoryArgs(
308
- repo_type="TfsGit",
309
- repo_id=example_git_repository.id,
310
- yml_path="azure-pipelines.yml",
311
- ))
312
- example_pipeline_authorization = azuredevops.PipelineAuthorization("examplePipelineAuthorization",
373
+ name="Example Pipeline",
374
+ repository={
375
+ "repo_type": "TfsGit",
376
+ "repo_id": example.id,
377
+ "yml_path": "azure-pipelines.yml",
378
+ })
379
+ example_pipeline_authorization = azuredevops.PipelineAuthorization("example",
313
380
  project_id=example_project.id,
314
381
  resource_id=example_queue.id,
315
382
  type="queue",
316
383
  pipeline_id=example_build_definition.id)
317
384
  ```
318
- <!--End PulumiCodeChooser -->
319
385
 
320
386
  ## Relevant Links
321
387
 
@@ -337,6 +403,7 @@ class PipelineAuthorization(pulumi.CustomResource):
337
403
  resource_name: str,
338
404
  opts: Optional[pulumi.ResourceOptions] = None,
339
405
  pipeline_id: Optional[pulumi.Input[int]] = None,
406
+ pipeline_project_id: Optional[pulumi.Input[str]] = None,
340
407
  project_id: Optional[pulumi.Input[str]] = None,
341
408
  resource_id: Optional[pulumi.Input[str]] = None,
342
409
  type: Optional[pulumi.Input[str]] = None,
@@ -350,6 +417,7 @@ class PipelineAuthorization(pulumi.CustomResource):
350
417
  __props__ = PipelineAuthorizationArgs.__new__(PipelineAuthorizationArgs)
351
418
 
352
419
  __props__.__dict__["pipeline_id"] = pipeline_id
420
+ __props__.__dict__["pipeline_project_id"] = pipeline_project_id
353
421
  if project_id is None and not opts.urn:
354
422
  raise TypeError("Missing required property 'project_id'")
355
423
  __props__.__dict__["project_id"] = project_id
@@ -370,6 +438,7 @@ class PipelineAuthorization(pulumi.CustomResource):
370
438
  id: pulumi.Input[str],
371
439
  opts: Optional[pulumi.ResourceOptions] = None,
372
440
  pipeline_id: Optional[pulumi.Input[int]] = None,
441
+ pipeline_project_id: Optional[pulumi.Input[str]] = None,
373
442
  project_id: Optional[pulumi.Input[str]] = None,
374
443
  resource_id: Optional[pulumi.Input[str]] = None,
375
444
  type: Optional[pulumi.Input[str]] = None) -> 'PipelineAuthorization':
@@ -381,15 +450,22 @@ class PipelineAuthorization(pulumi.CustomResource):
381
450
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
382
451
  :param pulumi.ResourceOptions opts: Options for the resource.
383
452
  :param pulumi.Input[int] pipeline_id: The ID of the pipeline. If not configured, all pipelines will be authorized. Changing this forces a new resource to be created.
453
+ :param pulumi.Input[str] pipeline_project_id: The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
384
454
  :param pulumi.Input[str] project_id: The ID of the project. Changing this forces a new resource to be created
385
455
  :param pulumi.Input[str] resource_id: The ID of the resource to authorize. Changing this forces a new resource to be created
386
456
  :param pulumi.Input[str] type: The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
457
+
458
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
459
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
460
+ Typical process for connecting to GitHub:
461
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
387
462
  """
388
463
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
389
464
 
390
465
  __props__ = _PipelineAuthorizationState.__new__(_PipelineAuthorizationState)
391
466
 
392
467
  __props__.__dict__["pipeline_id"] = pipeline_id
468
+ __props__.__dict__["pipeline_project_id"] = pipeline_project_id
393
469
  __props__.__dict__["project_id"] = project_id
394
470
  __props__.__dict__["resource_id"] = resource_id
395
471
  __props__.__dict__["type"] = type
@@ -403,6 +479,14 @@ class PipelineAuthorization(pulumi.CustomResource):
403
479
  """
404
480
  return pulumi.get(self, "pipeline_id")
405
481
 
482
+ @property
483
+ @pulumi.getter(name="pipelineProjectId")
484
+ def pipeline_project_id(self) -> pulumi.Output[Optional[str]]:
485
+ """
486
+ The ID of the project where the pipeline exists. Defaults to `project_id` if not specified. Changing this forces a new resource to be created
487
+ """
488
+ return pulumi.get(self, "pipeline_project_id")
489
+
406
490
  @property
407
491
  @pulumi.getter(name="projectId")
408
492
  def project_id(self) -> pulumi.Output[str]:
@@ -424,6 +508,11 @@ class PipelineAuthorization(pulumi.CustomResource):
424
508
  def type(self) -> pulumi.Output[str]:
425
509
  """
426
510
  The type of the resource to authorize. Valid values: `endpoint`, `queue`, `variablegroup`, `environment`, `repository`. Changing this forces a new resource to be created
511
+
512
+ > **Note** `repository` is for AzureDevOps repository. To authorize repository other than
513
+ Azure DevOps like GitHub you need to use service connection(`endpoint`) to connect and authorize.
514
+ Typical process for connecting to GitHub:
515
+ **Pipeline <----> Service Connection(`endpoint`) <----> GitHub Repository**
427
516
  """
428
517
  return pulumi.get(self, "type")
429
518
 
@@ -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__ = ['PoolArgs', 'Pool']
@@ -170,16 +175,15 @@ class Pool(pulumi.CustomResource):
170
175
 
171
176
  ## Example Usage
172
177
 
173
- <!--Start PulumiCodeChooser -->
174
178
  ```python
175
179
  import pulumi
176
180
  import pulumi_azuredevops as azuredevops
177
181
 
178
182
  example = azuredevops.Pool("example",
183
+ name="Example-pool",
179
184
  auto_provision=False,
180
185
  auto_update=False)
181
186
  ```
182
- <!--End PulumiCodeChooser -->
183
187
 
184
188
  ## Relevant Links
185
189
 
@@ -211,16 +215,15 @@ class Pool(pulumi.CustomResource):
211
215
 
212
216
  ## Example Usage
213
217
 
214
- <!--Start PulumiCodeChooser -->
215
218
  ```python
216
219
  import pulumi
217
220
  import pulumi_azuredevops as azuredevops
218
221
 
219
222
  example = azuredevops.Pool("example",
223
+ name="Example-pool",
220
224
  auto_provision=False,
221
225
  auto_update=False)
222
226
  ```
223
- <!--End PulumiCodeChooser -->
224
227
 
225
228
  ## Relevant Links
226
229
 
@@ -266,8 +269,6 @@ class Pool(pulumi.CustomResource):
266
269
  __props__.__dict__["auto_update"] = auto_update
267
270
  __props__.__dict__["name"] = name
268
271
  __props__.__dict__["pool_type"] = pool_type
269
- alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azuredevops:Agent/pool:Pool")])
270
- opts = pulumi.ResourceOptions.merge(opts, alias_opts)
271
272
  super(Pool, __self__).__init__(
272
273
  'azuredevops:index/pool:Pool',
273
274
  resource_name,
@@ -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__ = ['ProjectArgs', 'Project']
@@ -276,22 +281,21 @@ class Project(pulumi.CustomResource):
276
281
 
277
282
  ## Example Usage
278
283
 
279
- <!--Start PulumiCodeChooser -->
280
284
  ```python
281
285
  import pulumi
282
286
  import pulumi_azuredevops as azuredevops
283
287
 
284
288
  example = azuredevops.Project("example",
285
- description="Managed by Terraform",
289
+ name="Example Project",
290
+ visibility="private",
291
+ version_control="Git",
292
+ work_item_template="Agile",
293
+ description="Managed by Pulumi",
286
294
  features={
287
- "artifacts": "disabled",
288
295
  "testplans": "disabled",
289
- },
290
- version_control="Git",
291
- visibility="private",
292
- work_item_template="Agile")
296
+ "artifacts": "disabled",
297
+ })
293
298
  ```
294
- <!--End PulumiCodeChooser -->
295
299
 
296
300
  ## Relevant Links
297
301
 
@@ -341,22 +345,21 @@ class Project(pulumi.CustomResource):
341
345
 
342
346
  ## Example Usage
343
347
 
344
- <!--Start PulumiCodeChooser -->
345
348
  ```python
346
349
  import pulumi
347
350
  import pulumi_azuredevops as azuredevops
348
351
 
349
352
  example = azuredevops.Project("example",
350
- description="Managed by Terraform",
353
+ name="Example Project",
354
+ visibility="private",
355
+ version_control="Git",
356
+ work_item_template="Agile",
357
+ description="Managed by Pulumi",
351
358
  features={
352
- "artifacts": "disabled",
353
359
  "testplans": "disabled",
354
- },
355
- version_control="Git",
356
- visibility="private",
357
- work_item_template="Agile")
360
+ "artifacts": "disabled",
361
+ })
358
362
  ```
359
- <!--End PulumiCodeChooser -->
360
363
 
361
364
  ## Relevant Links
362
365
 
@@ -417,8 +420,6 @@ class Project(pulumi.CustomResource):
417
420
  __props__.__dict__["visibility"] = visibility
418
421
  __props__.__dict__["work_item_template"] = work_item_template
419
422
  __props__.__dict__["process_template_id"] = None
420
- alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azuredevops:Core/project:Project")])
421
- opts = pulumi.ResourceOptions.merge(opts, alias_opts)
422
423
  super(Project, __self__).__init__(
423
424
  'azuredevops:index/project:Project',
424
425
  resource_name,
@@ -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__ = ['ProjectFeaturesArgs', 'ProjectFeatures']
@@ -118,16 +123,16 @@ class ProjectFeatures(pulumi.CustomResource):
118
123
 
119
124
  ## Example Usage
120
125
 
121
- <!--Start PulumiCodeChooser -->
122
126
  ```python
123
127
  import pulumi
124
128
  import pulumi_azuredevops as azuredevops
125
129
 
126
130
  example = azuredevops.Project("example",
131
+ name="Example Project",
127
132
  visibility="private",
128
133
  version_control="Git",
129
134
  work_item_template="Agile",
130
- description="Managed by Terraform")
135
+ description="Managed by Pulumi")
131
136
  example_features = azuredevops.ProjectFeatures("example-features",
132
137
  project_id=example.id,
133
138
  features={
@@ -135,7 +140,6 @@ class ProjectFeatures(pulumi.CustomResource):
135
140
  "artifacts": "enabled",
136
141
  })
137
142
  ```
138
- <!--End PulumiCodeChooser -->
139
143
 
140
144
  ## Relevant Links
141
145
 
@@ -174,16 +178,16 @@ class ProjectFeatures(pulumi.CustomResource):
174
178
 
175
179
  ## Example Usage
176
180
 
177
- <!--Start PulumiCodeChooser -->
178
181
  ```python
179
182
  import pulumi
180
183
  import pulumi_azuredevops as azuredevops
181
184
 
182
185
  example = azuredevops.Project("example",
186
+ name="Example Project",
183
187
  visibility="private",
184
188
  version_control="Git",
185
189
  work_item_template="Agile",
186
- description="Managed by Terraform")
190
+ description="Managed by Pulumi")
187
191
  example_features = azuredevops.ProjectFeatures("example-features",
188
192
  project_id=example.id,
189
193
  features={
@@ -191,7 +195,6 @@ class ProjectFeatures(pulumi.CustomResource):
191
195
  "artifacts": "enabled",
192
196
  })
193
197
  ```
194
- <!--End PulumiCodeChooser -->
195
198
 
196
199
  ## Relevant Links
197
200
 
@@ -241,8 +244,6 @@ class ProjectFeatures(pulumi.CustomResource):
241
244
  if project_id is None and not opts.urn:
242
245
  raise TypeError("Missing required property 'project_id'")
243
246
  __props__.__dict__["project_id"] = project_id
244
- alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azuredevops:Core/projectFeatures:ProjectFeatures")])
245
- opts = pulumi.ResourceOptions.merge(opts, alias_opts)
246
247
  super(ProjectFeatures, __self__).__init__(
247
248
  'azuredevops:index/projectFeatures:ProjectFeatures',
248
249
  resource_name,