pulumi-azuredevops 3.9.0a1745040263__py3-none-any.whl → 3.10.0__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 (121) hide show
  1. pulumi_azuredevops/__init__.py +29 -0
  2. pulumi_azuredevops/_inputs.py +206 -26
  3. pulumi_azuredevops/area_permissions.py +1 -0
  4. pulumi_azuredevops/branch_policy_auto_reviewers.py +1 -0
  5. pulumi_azuredevops/branch_policy_build_validation.py +1 -0
  6. pulumi_azuredevops/branch_policy_comment_resolution.py +1 -0
  7. pulumi_azuredevops/branch_policy_merge_types.py +1 -0
  8. pulumi_azuredevops/branch_policy_min_reviewers.py +1 -0
  9. pulumi_azuredevops/branch_policy_status_check.py +1 -0
  10. pulumi_azuredevops/branch_policy_work_item_linking.py +1 -0
  11. pulumi_azuredevops/build_definition.py +1 -0
  12. pulumi_azuredevops/build_definition_permissions.py +1 -0
  13. pulumi_azuredevops/build_folder.py +1 -0
  14. pulumi_azuredevops/build_folder_permissions.py +8 -0
  15. pulumi_azuredevops/check_approval.py +1 -0
  16. pulumi_azuredevops/check_branch_control.py +1 -0
  17. pulumi_azuredevops/check_business_hours.py +1 -0
  18. pulumi_azuredevops/check_exclusive_lock.py +1 -0
  19. pulumi_azuredevops/check_required_template.py +1 -0
  20. pulumi_azuredevops/check_rest_api.py +1 -0
  21. pulumi_azuredevops/dashboard.py +1 -0
  22. pulumi_azuredevops/elastic_pool.py +1 -0
  23. pulumi_azuredevops/environment.py +1 -0
  24. pulumi_azuredevops/environment_resource_kubernetes.py +1 -0
  25. pulumi_azuredevops/extension.py +427 -0
  26. pulumi_azuredevops/feed.py +1 -0
  27. pulumi_azuredevops/feed_permission.py +29 -0
  28. pulumi_azuredevops/feed_retention_policy.py +1 -0
  29. pulumi_azuredevops/get_git_repository_file.py +201 -0
  30. pulumi_azuredevops/get_group.py +1 -1
  31. pulumi_azuredevops/get_serviceendpoint_dockerregistry.py +282 -0
  32. pulumi_azuredevops/git.py +1 -0
  33. pulumi_azuredevops/git_permissions.py +22 -0
  34. pulumi_azuredevops/git_repository_branch.py +1 -0
  35. pulumi_azuredevops/git_repository_file.py +257 -0
  36. pulumi_azuredevops/group.py +1 -0
  37. pulumi_azuredevops/group_entitlement.py +1 -0
  38. pulumi_azuredevops/group_membership.py +1 -0
  39. pulumi_azuredevops/iterative_permissions.py +1 -0
  40. pulumi_azuredevops/library_permissions.py +1 -0
  41. pulumi_azuredevops/outputs.py +156 -18
  42. pulumi_azuredevops/pipeline_authorization.py +1 -0
  43. pulumi_azuredevops/pool.py +1 -0
  44. pulumi_azuredevops/project.py +1 -0
  45. pulumi_azuredevops/project_features.py +1 -0
  46. pulumi_azuredevops/project_permissions.py +1 -0
  47. pulumi_azuredevops/project_pipeline_settings.py +1 -0
  48. pulumi_azuredevops/project_tags.py +1 -0
  49. pulumi_azuredevops/provider.py +21 -0
  50. pulumi_azuredevops/pulumi-plugin.json +1 -1
  51. pulumi_azuredevops/queue.py +1 -0
  52. pulumi_azuredevops/repository_policy_author_email_pattern.py +1 -0
  53. pulumi_azuredevops/repository_policy_case_enforcement.py +1 -0
  54. pulumi_azuredevops/repository_policy_check_credentials.py +1 -0
  55. pulumi_azuredevops/repository_policy_file_path_pattern.py +1 -0
  56. pulumi_azuredevops/repository_policy_max_file_size.py +1 -0
  57. pulumi_azuredevops/repository_policy_max_path_length.py +1 -0
  58. pulumi_azuredevops/repository_policy_reserved_names.py +1 -0
  59. pulumi_azuredevops/resource_authorization.py +1 -0
  60. pulumi_azuredevops/securityrole_assignment.py +1 -0
  61. pulumi_azuredevops/service_endpoint_artifactory.py +1 -0
  62. pulumi_azuredevops/service_endpoint_aws.py +1 -0
  63. pulumi_azuredevops/service_endpoint_azure_dev_ops.py +1 -0
  64. pulumi_azuredevops/service_endpoint_azure_ecr.py +1 -0
  65. pulumi_azuredevops/service_endpoint_azure_rm.py +1 -0
  66. pulumi_azuredevops/service_endpoint_bit_bucket.py +1 -0
  67. pulumi_azuredevops/service_endpoint_docker_registry.py +1 -0
  68. pulumi_azuredevops/service_endpoint_generic.py +1 -0
  69. pulumi_azuredevops/service_endpoint_generic_git.py +1 -0
  70. pulumi_azuredevops/service_endpoint_git_hub.py +1 -0
  71. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +123 -31
  72. pulumi_azuredevops/service_endpoint_git_lab.py +1 -0
  73. pulumi_azuredevops/service_endpoint_kubernetes.py +1 -0
  74. pulumi_azuredevops/service_endpoint_npm.py +1 -0
  75. pulumi_azuredevops/service_endpoint_pipeline.py +1 -0
  76. pulumi_azuredevops/service_endpoint_service_fabric.py +1 -0
  77. pulumi_azuredevops/service_endpoint_sonar_cloud.py +1 -0
  78. pulumi_azuredevops/service_endpoint_sonar_qube.py +1 -0
  79. pulumi_azuredevops/service_endpoint_ssh.py +1 -0
  80. pulumi_azuredevops/service_principal_entitlement.py +1 -0
  81. pulumi_azuredevops/serviceendpoint_argocd.py +1 -0
  82. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +1 -0
  83. pulumi_azuredevops/serviceendpoint_black_duck.py +417 -0
  84. pulumi_azuredevops/serviceendpoint_checkmarx_one.py +1 -0
  85. pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +1 -0
  86. pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +1 -0
  87. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +1 -0
  88. pulumi_azuredevops/serviceendpoint_externaltfs.py +1 -0
  89. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +8 -7
  90. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +1 -0
  91. pulumi_azuredevops/serviceendpoint_jenkins.py +1 -0
  92. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +1 -0
  93. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +1 -0
  94. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +1 -0
  95. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +1 -0
  96. pulumi_azuredevops/serviceendpoint_maven.py +1 -0
  97. pulumi_azuredevops/serviceendpoint_nexus.py +1 -0
  98. pulumi_azuredevops/serviceendpoint_nuget.py +1 -0
  99. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +1 -0
  100. pulumi_azuredevops/serviceendpoint_openshift.py +689 -0
  101. pulumi_azuredevops/serviceendpoint_permissions.py +1 -0
  102. pulumi_azuredevops/serviceendpoint_snyk.py +1 -0
  103. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +1 -0
  104. pulumi_azuredevops/servicehook_permissions.py +1 -0
  105. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +1 -0
  106. pulumi_azuredevops/tagging_permissions.py +1 -0
  107. pulumi_azuredevops/team.py +1 -0
  108. pulumi_azuredevops/team_administrators.py +1 -0
  109. pulumi_azuredevops/team_members.py +1 -0
  110. pulumi_azuredevops/user.py +1 -0
  111. pulumi_azuredevops/variable_group.py +1 -0
  112. pulumi_azuredevops/variable_group_permissions.py +1 -0
  113. pulumi_azuredevops/wiki.py +1 -0
  114. pulumi_azuredevops/wiki_page.py +1 -0
  115. pulumi_azuredevops/work_item_query_permissions.py +1 -0
  116. pulumi_azuredevops/workitem.py +166 -4
  117. {pulumi_azuredevops-3.9.0a1745040263.dist-info → pulumi_azuredevops-3.10.0.dist-info}/METADATA +3 -3
  118. pulumi_azuredevops-3.10.0.dist-info/RECORD +158 -0
  119. {pulumi_azuredevops-3.9.0a1745040263.dist-info → pulumi_azuredevops-3.10.0.dist-info}/WHEEL +1 -1
  120. pulumi_azuredevops-3.9.0a1745040263.dist-info/RECORD +0 -153
  121. {pulumi_azuredevops-3.9.0a1745040263.dist-info → pulumi_azuredevops-3.10.0.dist-info}/top_level.txt +0 -0
@@ -222,6 +222,7 @@ class _ServiceendpointPermissionsState:
222
222
  pulumi.set(self, "serviceendpoint_id", value)
223
223
 
224
224
 
225
+ @pulumi.type_token("azuredevops:index/serviceendpointPermissions:ServiceendpointPermissions")
225
226
  class ServiceendpointPermissions(pulumi.CustomResource):
226
227
  @overload
227
228
  def __init__(__self__,
@@ -193,6 +193,7 @@ class _ServiceendpointSnykState:
193
193
  pulumi.set(self, "service_endpoint_name", value)
194
194
 
195
195
 
196
+ @pulumi.type_token("azuredevops:index/serviceendpointSnyk:ServiceendpointSnyk")
196
197
  class ServiceendpointSnyk(pulumi.CustomResource):
197
198
  @overload
198
199
  def __init__(__self__,
@@ -236,6 +236,7 @@ class _ServiceendpointVisualstudiomarketplaceState:
236
236
  pulumi.set(self, "url", value)
237
237
 
238
238
 
239
+ @pulumi.type_token("azuredevops:index/serviceendpointVisualstudiomarketplace:ServiceendpointVisualstudiomarketplace")
239
240
  class ServiceendpointVisualstudiomarketplace(pulumi.CustomResource):
240
241
  @overload
241
242
  def __init__(__self__,
@@ -187,6 +187,7 @@ class _ServicehookPermissionsState:
187
187
  pulumi.set(self, "replace", value)
188
188
 
189
189
 
190
+ @pulumi.type_token("azuredevops:index/servicehookPermissions:ServicehookPermissions")
190
191
  class ServicehookPermissions(pulumi.CustomResource):
191
192
  @overload
192
193
  def __init__(__self__,
@@ -295,6 +295,7 @@ class _ServicehookStorageQueuePipelinesState:
295
295
  pulumi.set(self, "visi_timeout", value)
296
296
 
297
297
 
298
+ @pulumi.type_token("azuredevops:index/servicehookStorageQueuePipelines:ServicehookStorageQueuePipelines")
298
299
  class ServicehookStorageQueuePipelines(pulumi.CustomResource):
299
300
  @overload
300
301
  def __init__(__self__,
@@ -187,6 +187,7 @@ class _TaggingPermissionsState:
187
187
  pulumi.set(self, "replace", value)
188
188
 
189
189
 
190
+ @pulumi.type_token("azuredevops:index/taggingPermissions:TaggingPermissions")
190
191
  class TaggingPermissions(pulumi.CustomResource):
191
192
  @overload
192
193
  def __init__(__self__,
@@ -248,6 +248,7 @@ class _TeamState:
248
248
  pulumi.set(self, "project_id", value)
249
249
 
250
250
 
251
+ @pulumi.type_token("azuredevops:index/team:Team")
251
252
  class Team(pulumi.CustomResource):
252
253
  @overload
253
254
  def __init__(__self__,
@@ -190,6 +190,7 @@ class _TeamAdministratorsState:
190
190
  pulumi.set(self, "team_id", value)
191
191
 
192
192
 
193
+ @pulumi.type_token("azuredevops:index/teamAdministrators:TeamAdministrators")
193
194
  class TeamAdministrators(pulumi.CustomResource):
194
195
  @overload
195
196
  def __init__(__self__,
@@ -190,6 +190,7 @@ class _TeamMembersState:
190
190
  pulumi.set(self, "team_id", value)
191
191
 
192
192
 
193
+ @pulumi.type_token("azuredevops:index/teamMembers:TeamMembers")
193
194
  class TeamMembers(pulumi.CustomResource):
194
195
  @overload
195
196
  def __init__(__self__,
@@ -217,6 +217,7 @@ class _UserState:
217
217
  pulumi.set(self, "principal_name", value)
218
218
 
219
219
 
220
+ @pulumi.type_token("azuredevops:index/user:User")
220
221
  class User(pulumi.CustomResource):
221
222
  @overload
222
223
  def __init__(__self__,
@@ -225,6 +225,7 @@ class _VariableGroupState:
225
225
  pulumi.set(self, "variables", value)
226
226
 
227
227
 
228
+ @pulumi.type_token("azuredevops:index/variableGroup:VariableGroup")
228
229
  class VariableGroup(pulumi.CustomResource):
229
230
  @overload
230
231
  def __init__(__self__,
@@ -225,6 +225,7 @@ class _VariableGroupPermissionsState:
225
225
  pulumi.set(self, "variable_group_id", value)
226
226
 
227
227
 
228
+ @pulumi.type_token("azuredevops:index/variableGroupPermissions:VariableGroupPermissions")
228
229
  class VariableGroupPermissions(pulumi.CustomResource):
229
230
  @overload
230
231
  def __init__(__self__,
@@ -256,6 +256,7 @@ class _WikiState:
256
256
  pulumi.set(self, "version", value)
257
257
 
258
258
 
259
+ @pulumi.type_token("azuredevops:index/wiki:Wiki")
259
260
  class Wiki(pulumi.CustomResource):
260
261
  @overload
261
262
  def __init__(__self__,
@@ -181,6 +181,7 @@ class _WikiPageState:
181
181
  pulumi.set(self, "wiki_id", value)
182
182
 
183
183
 
184
+ @pulumi.type_token("azuredevops:index/wikiPage:WikiPage")
184
185
  class WikiPage(pulumi.CustomResource):
185
186
  @overload
186
187
  def __init__(__self__,
@@ -218,6 +218,7 @@ class _WorkItemQueryPermissionsState:
218
218
  pulumi.set(self, "replace", value)
219
219
 
220
220
 
221
+ @pulumi.type_token("azuredevops:index/workItemQueryPermissions:WorkItemQueryPermissions")
221
222
  class WorkItemQueryPermissions(pulumi.CustomResource):
222
223
  @overload
223
224
  def __init__(__self__,
@@ -14,6 +14,8 @@ if sys.version_info >= (3, 11):
14
14
  else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from . import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
17
19
 
18
20
  __all__ = ['WorkitemArgs', 'Workitem']
19
21
 
@@ -26,6 +28,7 @@ class WorkitemArgs:
26
28
  area_path: Optional[pulumi.Input[builtins.str]] = None,
27
29
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
28
30
  iteration_path: Optional[pulumi.Input[builtins.str]] = None,
31
+ parent_id: Optional[pulumi.Input[builtins.int]] = None,
29
32
  state: Optional[pulumi.Input[builtins.str]] = None,
30
33
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
31
34
  """
@@ -36,6 +39,7 @@ class WorkitemArgs:
36
39
  :param pulumi.Input[builtins.str] area_path: Specifies the area where the Work Item is used.
37
40
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] custom_fields: Specifies a list with Custom Fields for the Work Item.
38
41
  :param pulumi.Input[builtins.str] iteration_path: Specifies the iteration in which the Work Item is used.
42
+ :param pulumi.Input[builtins.int] parent_id: The parent work item.
39
43
  :param pulumi.Input[builtins.str] state: The state of the Work Item. The four main states that are defined for the User Story (`Agile`) are `New`, `Active`, `Resolved`, and `Closed`. See [Workflow states](https://learn.microsoft.com/en-us/azure/devops/boards/work-items/workflow-and-state-categories?view=azure-devops&tabs=agile-process#workflow-states) for more details.
40
44
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Specifies a list of Tags.
41
45
  """
@@ -48,6 +52,8 @@ class WorkitemArgs:
48
52
  pulumi.set(__self__, "custom_fields", custom_fields)
49
53
  if iteration_path is not None:
50
54
  pulumi.set(__self__, "iteration_path", iteration_path)
55
+ if parent_id is not None:
56
+ pulumi.set(__self__, "parent_id", parent_id)
51
57
  if state is not None:
52
58
  pulumi.set(__self__, "state", state)
53
59
  if tags is not None:
@@ -125,6 +131,18 @@ class WorkitemArgs:
125
131
  def iteration_path(self, value: Optional[pulumi.Input[builtins.str]]):
126
132
  pulumi.set(self, "iteration_path", value)
127
133
 
134
+ @property
135
+ @pulumi.getter(name="parentId")
136
+ def parent_id(self) -> Optional[pulumi.Input[builtins.int]]:
137
+ """
138
+ The parent work item.
139
+ """
140
+ return pulumi.get(self, "parent_id")
141
+
142
+ @parent_id.setter
143
+ def parent_id(self, value: Optional[pulumi.Input[builtins.int]]):
144
+ pulumi.set(self, "parent_id", value)
145
+
128
146
  @property
129
147
  @pulumi.getter
130
148
  def state(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -156,21 +174,27 @@ class _WorkitemState:
156
174
  area_path: Optional[pulumi.Input[builtins.str]] = None,
157
175
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
158
176
  iteration_path: Optional[pulumi.Input[builtins.str]] = None,
177
+ parent_id: Optional[pulumi.Input[builtins.int]] = None,
159
178
  project_id: Optional[pulumi.Input[builtins.str]] = None,
179
+ relations: Optional[pulumi.Input[Sequence[pulumi.Input['WorkitemRelationArgs']]]] = None,
160
180
  state: Optional[pulumi.Input[builtins.str]] = None,
161
181
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
162
182
  title: Optional[pulumi.Input[builtins.str]] = None,
163
- type: Optional[pulumi.Input[builtins.str]] = None):
183
+ type: Optional[pulumi.Input[builtins.str]] = None,
184
+ url: Optional[pulumi.Input[builtins.str]] = None):
164
185
  """
165
186
  Input properties used for looking up and filtering Workitem resources.
166
187
  :param pulumi.Input[builtins.str] area_path: Specifies the area where the Work Item is used.
167
188
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] custom_fields: Specifies a list with Custom Fields for the Work Item.
168
189
  :param pulumi.Input[builtins.str] iteration_path: Specifies the iteration in which the Work Item is used.
190
+ :param pulumi.Input[builtins.int] parent_id: The parent work item.
169
191
  :param pulumi.Input[builtins.str] project_id: The ID of the Project.
192
+ :param pulumi.Input[Sequence[pulumi.Input['WorkitemRelationArgs']]] relations: A `relations` blocks as documented below.
170
193
  :param pulumi.Input[builtins.str] state: The state of the Work Item. The four main states that are defined for the User Story (`Agile`) are `New`, `Active`, `Resolved`, and `Closed`. See [Workflow states](https://learn.microsoft.com/en-us/azure/devops/boards/work-items/workflow-and-state-categories?view=azure-devops&tabs=agile-process#workflow-states) for more details.
171
194
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Specifies a list of Tags.
172
195
  :param pulumi.Input[builtins.str] title: The Title of the Work Item.
173
196
  :param pulumi.Input[builtins.str] type: The Type of the Work Item. The work item type varies depending on the process used when creating the project(`Agile`, `Basic`, `Scrum`, `Scrum`). See [Work Item Types](https://learn.microsoft.com/en-us/azure/devops/boards/work-items/about-work-items?view=azure-devops) for more details.
197
+ :param pulumi.Input[builtins.str] url: The URL of the Work Item.
174
198
  """
175
199
  if area_path is not None:
176
200
  pulumi.set(__self__, "area_path", area_path)
@@ -178,8 +202,12 @@ class _WorkitemState:
178
202
  pulumi.set(__self__, "custom_fields", custom_fields)
179
203
  if iteration_path is not None:
180
204
  pulumi.set(__self__, "iteration_path", iteration_path)
205
+ if parent_id is not None:
206
+ pulumi.set(__self__, "parent_id", parent_id)
181
207
  if project_id is not None:
182
208
  pulumi.set(__self__, "project_id", project_id)
209
+ if relations is not None:
210
+ pulumi.set(__self__, "relations", relations)
183
211
  if state is not None:
184
212
  pulumi.set(__self__, "state", state)
185
213
  if tags is not None:
@@ -188,6 +216,8 @@ class _WorkitemState:
188
216
  pulumi.set(__self__, "title", title)
189
217
  if type is not None:
190
218
  pulumi.set(__self__, "type", type)
219
+ if url is not None:
220
+ pulumi.set(__self__, "url", url)
191
221
 
192
222
  @property
193
223
  @pulumi.getter(name="areaPath")
@@ -225,6 +255,18 @@ class _WorkitemState:
225
255
  def iteration_path(self, value: Optional[pulumi.Input[builtins.str]]):
226
256
  pulumi.set(self, "iteration_path", value)
227
257
 
258
+ @property
259
+ @pulumi.getter(name="parentId")
260
+ def parent_id(self) -> Optional[pulumi.Input[builtins.int]]:
261
+ """
262
+ The parent work item.
263
+ """
264
+ return pulumi.get(self, "parent_id")
265
+
266
+ @parent_id.setter
267
+ def parent_id(self, value: Optional[pulumi.Input[builtins.int]]):
268
+ pulumi.set(self, "parent_id", value)
269
+
228
270
  @property
229
271
  @pulumi.getter(name="projectId")
230
272
  def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -237,6 +279,18 @@ class _WorkitemState:
237
279
  def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
238
280
  pulumi.set(self, "project_id", value)
239
281
 
282
+ @property
283
+ @pulumi.getter
284
+ def relations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkitemRelationArgs']]]]:
285
+ """
286
+ A `relations` blocks as documented below.
287
+ """
288
+ return pulumi.get(self, "relations")
289
+
290
+ @relations.setter
291
+ def relations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkitemRelationArgs']]]]):
292
+ pulumi.set(self, "relations", value)
293
+
240
294
  @property
241
295
  @pulumi.getter
242
296
  def state(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -285,7 +339,20 @@ class _WorkitemState:
285
339
  def type(self, value: Optional[pulumi.Input[builtins.str]]):
286
340
  pulumi.set(self, "type", value)
287
341
 
342
+ @property
343
+ @pulumi.getter
344
+ def url(self) -> Optional[pulumi.Input[builtins.str]]:
345
+ """
346
+ The URL of the Work Item.
347
+ """
348
+ return pulumi.get(self, "url")
349
+
350
+ @url.setter
351
+ def url(self, value: Optional[pulumi.Input[builtins.str]]):
352
+ pulumi.set(self, "url", value)
353
+
288
354
 
355
+ @pulumi.type_token("azuredevops:index/workitem:Workitem")
289
356
  class Workitem(pulumi.CustomResource):
290
357
  @overload
291
358
  def __init__(__self__,
@@ -294,6 +361,7 @@ class Workitem(pulumi.CustomResource):
294
361
  area_path: Optional[pulumi.Input[builtins.str]] = None,
295
362
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
296
363
  iteration_path: Optional[pulumi.Input[builtins.str]] = None,
364
+ parent_id: Optional[pulumi.Input[builtins.int]] = None,
297
365
  project_id: Optional[pulumi.Input[builtins.str]] = None,
298
366
  state: Optional[pulumi.Input[builtins.str]] = None,
299
367
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
@@ -347,16 +415,45 @@ class Workitem(pulumi.CustomResource):
347
415
  "example": "example",
348
416
  })
349
417
  ```
418
+ ### With Parent Work Item
419
+
420
+ ```python
421
+ import pulumi
422
+ import pulumi_azuredevops as azuredevops
423
+
424
+ example = azuredevops.Project("example",
425
+ name="Example Project",
426
+ work_item_template="Agile",
427
+ version_control="Git",
428
+ visibility="private")
429
+ epic = azuredevops.Workitem("epic",
430
+ project_id=example.id,
431
+ title="Example EPIC Title",
432
+ type="Epic",
433
+ state="New")
434
+ example_workitem = azuredevops.Workitem("example",
435
+ project_id=example.id,
436
+ title="Example Work Item",
437
+ type="Issue",
438
+ state="Active",
439
+ tags=["Tag"],
440
+ parent_id=epic.id)
441
+ ```
350
442
 
351
443
  ## Import
352
444
 
353
- Work Item resource does not support import.
445
+ Azure DevOps Work Item can be imported using the Project ID and Work Item ID, e.g.
446
+
447
+ ```sh
448
+ $ pulumi import azuredevops:index/workitem:Workitem example 00000000-0000-0000-0000-000000000000/0
449
+ ```
354
450
 
355
451
  :param str resource_name: The name of the resource.
356
452
  :param pulumi.ResourceOptions opts: Options for the resource.
357
453
  :param pulumi.Input[builtins.str] area_path: Specifies the area where the Work Item is used.
358
454
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] custom_fields: Specifies a list with Custom Fields for the Work Item.
359
455
  :param pulumi.Input[builtins.str] iteration_path: Specifies the iteration in which the Work Item is used.
456
+ :param pulumi.Input[builtins.int] parent_id: The parent work item.
360
457
  :param pulumi.Input[builtins.str] project_id: The ID of the Project.
361
458
  :param pulumi.Input[builtins.str] state: The state of the Work Item. The four main states that are defined for the User Story (`Agile`) are `New`, `Active`, `Resolved`, and `Closed`. See [Workflow states](https://learn.microsoft.com/en-us/azure/devops/boards/work-items/workflow-and-state-categories?view=azure-devops&tabs=agile-process#workflow-states) for more details.
362
459
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Specifies a list of Tags.
@@ -416,10 +513,38 @@ class Workitem(pulumi.CustomResource):
416
513
  "example": "example",
417
514
  })
418
515
  ```
516
+ ### With Parent Work Item
517
+
518
+ ```python
519
+ import pulumi
520
+ import pulumi_azuredevops as azuredevops
521
+
522
+ example = azuredevops.Project("example",
523
+ name="Example Project",
524
+ work_item_template="Agile",
525
+ version_control="Git",
526
+ visibility="private")
527
+ epic = azuredevops.Workitem("epic",
528
+ project_id=example.id,
529
+ title="Example EPIC Title",
530
+ type="Epic",
531
+ state="New")
532
+ example_workitem = azuredevops.Workitem("example",
533
+ project_id=example.id,
534
+ title="Example Work Item",
535
+ type="Issue",
536
+ state="Active",
537
+ tags=["Tag"],
538
+ parent_id=epic.id)
539
+ ```
419
540
 
420
541
  ## Import
421
542
 
422
- Work Item resource does not support import.
543
+ Azure DevOps Work Item can be imported using the Project ID and Work Item ID, e.g.
544
+
545
+ ```sh
546
+ $ pulumi import azuredevops:index/workitem:Workitem example 00000000-0000-0000-0000-000000000000/0
547
+ ```
423
548
 
424
549
  :param str resource_name: The name of the resource.
425
550
  :param WorkitemArgs args: The arguments to use to populate this resource's properties.
@@ -439,6 +564,7 @@ class Workitem(pulumi.CustomResource):
439
564
  area_path: Optional[pulumi.Input[builtins.str]] = None,
440
565
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
441
566
  iteration_path: Optional[pulumi.Input[builtins.str]] = None,
567
+ parent_id: Optional[pulumi.Input[builtins.int]] = None,
442
568
  project_id: Optional[pulumi.Input[builtins.str]] = None,
443
569
  state: Optional[pulumi.Input[builtins.str]] = None,
444
570
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
@@ -456,6 +582,7 @@ class Workitem(pulumi.CustomResource):
456
582
  __props__.__dict__["area_path"] = area_path
457
583
  __props__.__dict__["custom_fields"] = custom_fields
458
584
  __props__.__dict__["iteration_path"] = iteration_path
585
+ __props__.__dict__["parent_id"] = parent_id
459
586
  if project_id is None and not opts.urn:
460
587
  raise TypeError("Missing required property 'project_id'")
461
588
  __props__.__dict__["project_id"] = project_id
@@ -467,6 +594,8 @@ class Workitem(pulumi.CustomResource):
467
594
  if type is None and not opts.urn:
468
595
  raise TypeError("Missing required property 'type'")
469
596
  __props__.__dict__["type"] = type
597
+ __props__.__dict__["relations"] = None
598
+ __props__.__dict__["url"] = None
470
599
  super(Workitem, __self__).__init__(
471
600
  'azuredevops:index/workitem:Workitem',
472
601
  resource_name,
@@ -480,11 +609,14 @@ class Workitem(pulumi.CustomResource):
480
609
  area_path: Optional[pulumi.Input[builtins.str]] = None,
481
610
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
482
611
  iteration_path: Optional[pulumi.Input[builtins.str]] = None,
612
+ parent_id: Optional[pulumi.Input[builtins.int]] = None,
483
613
  project_id: Optional[pulumi.Input[builtins.str]] = None,
614
+ relations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkitemRelationArgs', 'WorkitemRelationArgsDict']]]]] = None,
484
615
  state: Optional[pulumi.Input[builtins.str]] = None,
485
616
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
486
617
  title: Optional[pulumi.Input[builtins.str]] = None,
487
- type: Optional[pulumi.Input[builtins.str]] = None) -> 'Workitem':
618
+ type: Optional[pulumi.Input[builtins.str]] = None,
619
+ url: Optional[pulumi.Input[builtins.str]] = None) -> 'Workitem':
488
620
  """
489
621
  Get an existing Workitem resource's state with the given name, id, and optional extra
490
622
  properties used to qualify the lookup.
@@ -495,11 +627,14 @@ class Workitem(pulumi.CustomResource):
495
627
  :param pulumi.Input[builtins.str] area_path: Specifies the area where the Work Item is used.
496
628
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] custom_fields: Specifies a list with Custom Fields for the Work Item.
497
629
  :param pulumi.Input[builtins.str] iteration_path: Specifies the iteration in which the Work Item is used.
630
+ :param pulumi.Input[builtins.int] parent_id: The parent work item.
498
631
  :param pulumi.Input[builtins.str] project_id: The ID of the Project.
632
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkitemRelationArgs', 'WorkitemRelationArgsDict']]]] relations: A `relations` blocks as documented below.
499
633
  :param pulumi.Input[builtins.str] state: The state of the Work Item. The four main states that are defined for the User Story (`Agile`) are `New`, `Active`, `Resolved`, and `Closed`. See [Workflow states](https://learn.microsoft.com/en-us/azure/devops/boards/work-items/workflow-and-state-categories?view=azure-devops&tabs=agile-process#workflow-states) for more details.
500
634
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Specifies a list of Tags.
501
635
  :param pulumi.Input[builtins.str] title: The Title of the Work Item.
502
636
  :param pulumi.Input[builtins.str] type: The Type of the Work Item. The work item type varies depending on the process used when creating the project(`Agile`, `Basic`, `Scrum`, `Scrum`). See [Work Item Types](https://learn.microsoft.com/en-us/azure/devops/boards/work-items/about-work-items?view=azure-devops) for more details.
637
+ :param pulumi.Input[builtins.str] url: The URL of the Work Item.
503
638
  """
504
639
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
505
640
 
@@ -508,11 +643,14 @@ class Workitem(pulumi.CustomResource):
508
643
  __props__.__dict__["area_path"] = area_path
509
644
  __props__.__dict__["custom_fields"] = custom_fields
510
645
  __props__.__dict__["iteration_path"] = iteration_path
646
+ __props__.__dict__["parent_id"] = parent_id
511
647
  __props__.__dict__["project_id"] = project_id
648
+ __props__.__dict__["relations"] = relations
512
649
  __props__.__dict__["state"] = state
513
650
  __props__.__dict__["tags"] = tags
514
651
  __props__.__dict__["title"] = title
515
652
  __props__.__dict__["type"] = type
653
+ __props__.__dict__["url"] = url
516
654
  return Workitem(resource_name, opts=opts, __props__=__props__)
517
655
 
518
656
  @property
@@ -539,6 +677,14 @@ class Workitem(pulumi.CustomResource):
539
677
  """
540
678
  return pulumi.get(self, "iteration_path")
541
679
 
680
+ @property
681
+ @pulumi.getter(name="parentId")
682
+ def parent_id(self) -> pulumi.Output[Optional[builtins.int]]:
683
+ """
684
+ The parent work item.
685
+ """
686
+ return pulumi.get(self, "parent_id")
687
+
542
688
  @property
543
689
  @pulumi.getter(name="projectId")
544
690
  def project_id(self) -> pulumi.Output[builtins.str]:
@@ -547,6 +693,14 @@ class Workitem(pulumi.CustomResource):
547
693
  """
548
694
  return pulumi.get(self, "project_id")
549
695
 
696
+ @property
697
+ @pulumi.getter
698
+ def relations(self) -> pulumi.Output[Sequence['outputs.WorkitemRelation']]:
699
+ """
700
+ A `relations` blocks as documented below.
701
+ """
702
+ return pulumi.get(self, "relations")
703
+
550
704
  @property
551
705
  @pulumi.getter
552
706
  def state(self) -> pulumi.Output[builtins.str]:
@@ -579,3 +733,11 @@ class Workitem(pulumi.CustomResource):
579
733
  """
580
734
  return pulumi.get(self, "type")
581
735
 
736
+ @property
737
+ @pulumi.getter
738
+ def url(self) -> pulumi.Output[builtins.str]:
739
+ """
740
+ The URL of the Work Item.
741
+ """
742
+ return pulumi.get(self, "url")
743
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_azuredevops
3
- Version: 3.9.0a1745040263
3
+ Version: 3.10.0
4
4
  Summary: A Pulumi package for creating and managing Azure DevOps.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -9,9 +9,9 @@ Keywords: pulumi,azuredevops
9
9
  Requires-Python: >=3.9
10
10
  Description-Content-Type: text/markdown
11
11
  Requires-Dist: parver>=0.2.1
12
- Requires-Dist: pulumi<4.0.0,>=3.142.0
12
+ Requires-Dist: pulumi<4.0.0,>=3.165.0
13
13
  Requires-Dist: semver>=2.8.1
14
- Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
14
+ Requires-Dist: typing-extensions<5,>=4.11; python_version < "3.11"
15
15
 
16
16
  [![Actions Status](https://github.com/pulumi/pulumi-azuredevops/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-azuredevops/actions)
17
17
  [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com)