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__ = ['ResourceAuthorizationArgs', 'ResourceAuthorization']
@@ -202,32 +207,31 @@ class ResourceAuthorization(pulumi.CustomResource):
202
207
 
203
208
  ## Example Usage
204
209
 
205
- <!--Start PulumiCodeChooser -->
206
210
  ```python
207
211
  import pulumi
208
212
  import pulumi_azuredevops as azuredevops
209
213
 
210
- example_project = azuredevops.Project("exampleProject",
214
+ example = azuredevops.Project("example",
215
+ name="Example Project",
211
216
  visibility="private",
212
217
  version_control="Git",
213
218
  work_item_template="Agile",
214
- description="Managed by Terraform")
215
- example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("exampleServiceEndpointBitBucket",
216
- project_id=example_project.id,
219
+ description="Managed by Pulumi")
220
+ example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("example",
221
+ project_id=example.id,
217
222
  username="username",
218
223
  password="password",
219
224
  service_endpoint_name="example-bitbucket",
220
- description="Managed by Terraform")
221
- example_resource_authorization = azuredevops.ResourceAuthorization("exampleResourceAuthorization",
222
- project_id=example_project.id,
225
+ description="Managed by Pulumi")
226
+ example_resource_authorization = azuredevops.ResourceAuthorization("example",
227
+ project_id=example.id,
223
228
  resource_id=example_service_endpoint_bit_bucket.id,
224
229
  authorized=True)
225
230
  ```
226
- <!--End PulumiCodeChooser -->
227
231
 
228
232
  ## Relevant Links
229
233
 
230
- - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](<https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%!d(MISSING)efinition%!r(MISSING)esources?view=azure-devops-rest-7.0>)
234
+ - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%20definition%20resources?view=azure-devops-rest-7.0)
231
235
 
232
236
  :param str resource_name: The name of the resource.
233
237
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -250,32 +254,31 @@ class ResourceAuthorization(pulumi.CustomResource):
250
254
 
251
255
  ## Example Usage
252
256
 
253
- <!--Start PulumiCodeChooser -->
254
257
  ```python
255
258
  import pulumi
256
259
  import pulumi_azuredevops as azuredevops
257
260
 
258
- example_project = azuredevops.Project("exampleProject",
261
+ example = azuredevops.Project("example",
262
+ name="Example Project",
259
263
  visibility="private",
260
264
  version_control="Git",
261
265
  work_item_template="Agile",
262
- description="Managed by Terraform")
263
- example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("exampleServiceEndpointBitBucket",
264
- project_id=example_project.id,
266
+ description="Managed by Pulumi")
267
+ example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("example",
268
+ project_id=example.id,
265
269
  username="username",
266
270
  password="password",
267
271
  service_endpoint_name="example-bitbucket",
268
- description="Managed by Terraform")
269
- example_resource_authorization = azuredevops.ResourceAuthorization("exampleResourceAuthorization",
270
- project_id=example_project.id,
272
+ description="Managed by Pulumi")
273
+ example_resource_authorization = azuredevops.ResourceAuthorization("example",
274
+ project_id=example.id,
271
275
  resource_id=example_service_endpoint_bit_bucket.id,
272
276
  authorized=True)
273
277
  ```
274
- <!--End PulumiCodeChooser -->
275
278
 
276
279
  ## Relevant Links
277
280
 
278
- - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](<https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%!d(MISSING)efinition%!r(MISSING)esources?view=azure-devops-rest-7.0>)
281
+ - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%20definition%20resources?view=azure-devops-rest-7.0)
279
282
 
280
283
  :param str resource_name: The name of the resource.
281
284
  :param ResourceAuthorizationArgs args: The arguments to use to populate this resource's properties.
@@ -0,0 +1,295 @@
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__ = ['SecurityroleAssignmentArgs', 'SecurityroleAssignment']
18
+
19
+ @pulumi.input_type
20
+ class SecurityroleAssignmentArgs:
21
+ def __init__(__self__, *,
22
+ identity_id: pulumi.Input[str],
23
+ resource_id: pulumi.Input[str],
24
+ role_name: pulumi.Input[str],
25
+ scope: pulumi.Input[str]):
26
+ """
27
+ The set of arguments for constructing a SecurityroleAssignment resource.
28
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
29
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
30
+ :param pulumi.Input[str] role_name: Name of the role to assign.
31
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
32
+ """
33
+ pulumi.set(__self__, "identity_id", identity_id)
34
+ pulumi.set(__self__, "resource_id", resource_id)
35
+ pulumi.set(__self__, "role_name", role_name)
36
+ pulumi.set(__self__, "scope", scope)
37
+
38
+ @property
39
+ @pulumi.getter(name="identityId")
40
+ def identity_id(self) -> pulumi.Input[str]:
41
+ """
42
+ The ID of the identity to authorize.
43
+ """
44
+ return pulumi.get(self, "identity_id")
45
+
46
+ @identity_id.setter
47
+ def identity_id(self, value: pulumi.Input[str]):
48
+ pulumi.set(self, "identity_id", value)
49
+
50
+ @property
51
+ @pulumi.getter(name="resourceId")
52
+ def resource_id(self) -> pulumi.Input[str]:
53
+ """
54
+ The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
55
+ """
56
+ return pulumi.get(self, "resource_id")
57
+
58
+ @resource_id.setter
59
+ def resource_id(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "resource_id", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="roleName")
64
+ def role_name(self) -> pulumi.Input[str]:
65
+ """
66
+ Name of the role to assign.
67
+ """
68
+ return pulumi.get(self, "role_name")
69
+
70
+ @role_name.setter
71
+ def role_name(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "role_name", value)
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def scope(self) -> pulumi.Input[str]:
77
+ """
78
+ The scope in which this assignment should exist.
79
+ """
80
+ return pulumi.get(self, "scope")
81
+
82
+ @scope.setter
83
+ def scope(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "scope", value)
85
+
86
+
87
+ @pulumi.input_type
88
+ class _SecurityroleAssignmentState:
89
+ def __init__(__self__, *,
90
+ identity_id: Optional[pulumi.Input[str]] = None,
91
+ resource_id: Optional[pulumi.Input[str]] = None,
92
+ role_name: Optional[pulumi.Input[str]] = None,
93
+ scope: Optional[pulumi.Input[str]] = None):
94
+ """
95
+ Input properties used for looking up and filtering SecurityroleAssignment resources.
96
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
97
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
98
+ :param pulumi.Input[str] role_name: Name of the role to assign.
99
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
100
+ """
101
+ if identity_id is not None:
102
+ pulumi.set(__self__, "identity_id", identity_id)
103
+ if resource_id is not None:
104
+ pulumi.set(__self__, "resource_id", resource_id)
105
+ if role_name is not None:
106
+ pulumi.set(__self__, "role_name", role_name)
107
+ if scope is not None:
108
+ pulumi.set(__self__, "scope", scope)
109
+
110
+ @property
111
+ @pulumi.getter(name="identityId")
112
+ def identity_id(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ The ID of the identity to authorize.
115
+ """
116
+ return pulumi.get(self, "identity_id")
117
+
118
+ @identity_id.setter
119
+ def identity_id(self, value: Optional[pulumi.Input[str]]):
120
+ pulumi.set(self, "identity_id", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="resourceId")
124
+ def resource_id(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
127
+ """
128
+ return pulumi.get(self, "resource_id")
129
+
130
+ @resource_id.setter
131
+ def resource_id(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "resource_id", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="roleName")
136
+ def role_name(self) -> Optional[pulumi.Input[str]]:
137
+ """
138
+ Name of the role to assign.
139
+ """
140
+ return pulumi.get(self, "role_name")
141
+
142
+ @role_name.setter
143
+ def role_name(self, value: Optional[pulumi.Input[str]]):
144
+ pulumi.set(self, "role_name", value)
145
+
146
+ @property
147
+ @pulumi.getter
148
+ def scope(self) -> Optional[pulumi.Input[str]]:
149
+ """
150
+ The scope in which this assignment should exist.
151
+ """
152
+ return pulumi.get(self, "scope")
153
+
154
+ @scope.setter
155
+ def scope(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "scope", value)
157
+
158
+
159
+ class SecurityroleAssignment(pulumi.CustomResource):
160
+ @overload
161
+ def __init__(__self__,
162
+ resource_name: str,
163
+ opts: Optional[pulumi.ResourceOptions] = None,
164
+ identity_id: Optional[pulumi.Input[str]] = None,
165
+ resource_id: Optional[pulumi.Input[str]] = None,
166
+ role_name: Optional[pulumi.Input[str]] = None,
167
+ scope: Optional[pulumi.Input[str]] = None,
168
+ __props__=None):
169
+ """
170
+ Manages assignment of security roles to various resources within Azure DevOps organization.
171
+
172
+ :param str resource_name: The name of the resource.
173
+ :param pulumi.ResourceOptions opts: Options for the resource.
174
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
175
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
176
+ :param pulumi.Input[str] role_name: Name of the role to assign.
177
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
178
+ """
179
+ ...
180
+ @overload
181
+ def __init__(__self__,
182
+ resource_name: str,
183
+ args: SecurityroleAssignmentArgs,
184
+ opts: Optional[pulumi.ResourceOptions] = None):
185
+ """
186
+ Manages assignment of security roles to various resources within Azure DevOps organization.
187
+
188
+ :param str resource_name: The name of the resource.
189
+ :param SecurityroleAssignmentArgs args: The arguments to use to populate this resource's properties.
190
+ :param pulumi.ResourceOptions opts: Options for the resource.
191
+ """
192
+ ...
193
+ def __init__(__self__, resource_name: str, *args, **kwargs):
194
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityroleAssignmentArgs, pulumi.ResourceOptions, *args, **kwargs)
195
+ if resource_args is not None:
196
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
197
+ else:
198
+ __self__._internal_init(resource_name, *args, **kwargs)
199
+
200
+ def _internal_init(__self__,
201
+ resource_name: str,
202
+ opts: Optional[pulumi.ResourceOptions] = None,
203
+ identity_id: Optional[pulumi.Input[str]] = None,
204
+ resource_id: Optional[pulumi.Input[str]] = None,
205
+ role_name: Optional[pulumi.Input[str]] = None,
206
+ scope: Optional[pulumi.Input[str]] = None,
207
+ __props__=None):
208
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
209
+ if not isinstance(opts, pulumi.ResourceOptions):
210
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
211
+ if opts.id is None:
212
+ if __props__ is not None:
213
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
214
+ __props__ = SecurityroleAssignmentArgs.__new__(SecurityroleAssignmentArgs)
215
+
216
+ if identity_id is None and not opts.urn:
217
+ raise TypeError("Missing required property 'identity_id'")
218
+ __props__.__dict__["identity_id"] = identity_id
219
+ if resource_id is None and not opts.urn:
220
+ raise TypeError("Missing required property 'resource_id'")
221
+ __props__.__dict__["resource_id"] = resource_id
222
+ if role_name is None and not opts.urn:
223
+ raise TypeError("Missing required property 'role_name'")
224
+ __props__.__dict__["role_name"] = role_name
225
+ if scope is None and not opts.urn:
226
+ raise TypeError("Missing required property 'scope'")
227
+ __props__.__dict__["scope"] = scope
228
+ super(SecurityroleAssignment, __self__).__init__(
229
+ 'azuredevops:index/securityroleAssignment:SecurityroleAssignment',
230
+ resource_name,
231
+ __props__,
232
+ opts)
233
+
234
+ @staticmethod
235
+ def get(resource_name: str,
236
+ id: pulumi.Input[str],
237
+ opts: Optional[pulumi.ResourceOptions] = None,
238
+ identity_id: Optional[pulumi.Input[str]] = None,
239
+ resource_id: Optional[pulumi.Input[str]] = None,
240
+ role_name: Optional[pulumi.Input[str]] = None,
241
+ scope: Optional[pulumi.Input[str]] = None) -> 'SecurityroleAssignment':
242
+ """
243
+ Get an existing SecurityroleAssignment resource's state with the given name, id, and optional extra
244
+ properties used to qualify the lookup.
245
+
246
+ :param str resource_name: The unique name of the resulting resource.
247
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
248
+ :param pulumi.ResourceOptions opts: Options for the resource.
249
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
250
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
251
+ :param pulumi.Input[str] role_name: Name of the role to assign.
252
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
253
+ """
254
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
255
+
256
+ __props__ = _SecurityroleAssignmentState.__new__(_SecurityroleAssignmentState)
257
+
258
+ __props__.__dict__["identity_id"] = identity_id
259
+ __props__.__dict__["resource_id"] = resource_id
260
+ __props__.__dict__["role_name"] = role_name
261
+ __props__.__dict__["scope"] = scope
262
+ return SecurityroleAssignment(resource_name, opts=opts, __props__=__props__)
263
+
264
+ @property
265
+ @pulumi.getter(name="identityId")
266
+ def identity_id(self) -> pulumi.Output[str]:
267
+ """
268
+ The ID of the identity to authorize.
269
+ """
270
+ return pulumi.get(self, "identity_id")
271
+
272
+ @property
273
+ @pulumi.getter(name="resourceId")
274
+ def resource_id(self) -> pulumi.Output[str]:
275
+ """
276
+ The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
277
+ """
278
+ return pulumi.get(self, "resource_id")
279
+
280
+ @property
281
+ @pulumi.getter(name="roleName")
282
+ def role_name(self) -> pulumi.Output[str]:
283
+ """
284
+ Name of the role to assign.
285
+ """
286
+ return pulumi.get(self, "role_name")
287
+
288
+ @property
289
+ @pulumi.getter
290
+ def scope(self) -> pulumi.Output[str]:
291
+ """
292
+ The scope in which this assignment should exist.
293
+ """
294
+ return pulumi.get(self, "scope")
295
+
@@ -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
  from . import outputs
12
17
  from ._inputs import *
@@ -243,8 +248,8 @@ class ServiceEndpointArtifactory(pulumi.CustomResource):
243
248
  def __init__(__self__,
244
249
  resource_name: str,
245
250
  opts: Optional[pulumi.ResourceOptions] = None,
246
- authentication_basic: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointArtifactoryAuthenticationBasicArgs']]] = None,
247
- authentication_token: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointArtifactoryAuthenticationTokenArgs']]] = None,
251
+ authentication_basic: Optional[pulumi.Input[Union['ServiceEndpointArtifactoryAuthenticationBasicArgs', 'ServiceEndpointArtifactoryAuthenticationBasicArgsDict']]] = None,
252
+ authentication_token: Optional[pulumi.Input[Union['ServiceEndpointArtifactoryAuthenticationTokenArgs', 'ServiceEndpointArtifactoryAuthenticationTokenArgsDict']]] = None,
248
253
  authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
249
254
  description: Optional[pulumi.Input[str]] = None,
250
255
  project_id: Optional[pulumi.Input[str]] = None,
@@ -256,49 +261,47 @@ class ServiceEndpointArtifactory(pulumi.CustomResource):
256
261
 
257
262
  ## Example Usage
258
263
 
259
- <!--Start PulumiCodeChooser -->
260
264
  ```python
261
265
  import pulumi
262
266
  import pulumi_azuredevops as azuredevops
263
267
 
264
- example_project = azuredevops.Project("exampleProject",
268
+ example = azuredevops.Project("example",
269
+ name="Example Project",
265
270
  visibility="private",
266
271
  version_control="Git",
267
272
  work_item_template="Agile",
268
- description="Managed by Terraform")
269
- example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("exampleServiceEndpointArtifactory",
270
- project_id=example_project.id,
273
+ description="Managed by Pulumi")
274
+ example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("example",
275
+ project_id=example.id,
271
276
  service_endpoint_name="Example Artifactory",
272
- description="Managed by Terraform",
277
+ description="Managed by Pulumi",
273
278
  url="https://artifactory.my.com",
274
- authentication_token=azuredevops.ServiceEndpointArtifactoryAuthenticationTokenArgs(
275
- token="0000000000000000000000000000000000000000",
276
- ))
279
+ authentication_token={
280
+ "token": "0000000000000000000000000000000000000000",
281
+ })
277
282
  ```
278
- <!--End PulumiCodeChooser -->
279
283
  Alternatively a username and password may be used.
280
284
 
281
- <!--Start PulumiCodeChooser -->
282
285
  ```python
283
286
  import pulumi
284
287
  import pulumi_azuredevops as azuredevops
285
288
 
286
- example_project = azuredevops.Project("exampleProject",
289
+ example = azuredevops.Project("example",
290
+ name="Example Project",
287
291
  visibility="private",
288
292
  version_control="Git",
289
293
  work_item_template="Agile",
290
- description="Managed by Terraform")
291
- example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("exampleServiceEndpointArtifactory",
292
- project_id=example_project.id,
294
+ description="Managed by Pulumi")
295
+ example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("example",
296
+ project_id=example.id,
293
297
  service_endpoint_name="Example Artifactory",
294
- description="Managed by Terraform",
298
+ description="Managed by Pulumi",
295
299
  url="https://artifactory.my.com",
296
- authentication_basic=azuredevops.ServiceEndpointArtifactoryAuthenticationBasicArgs(
297
- username="username",
298
- password="password",
299
- ))
300
+ authentication_basic={
301
+ "username": "username",
302
+ "password": "password",
303
+ })
300
304
  ```
301
- <!--End PulumiCodeChooser -->
302
305
 
303
306
  ## Relevant Links
304
307
 
@@ -334,49 +337,47 @@ class ServiceEndpointArtifactory(pulumi.CustomResource):
334
337
 
335
338
  ## Example Usage
336
339
 
337
- <!--Start PulumiCodeChooser -->
338
340
  ```python
339
341
  import pulumi
340
342
  import pulumi_azuredevops as azuredevops
341
343
 
342
- example_project = azuredevops.Project("exampleProject",
344
+ example = azuredevops.Project("example",
345
+ name="Example Project",
343
346
  visibility="private",
344
347
  version_control="Git",
345
348
  work_item_template="Agile",
346
- description="Managed by Terraform")
347
- example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("exampleServiceEndpointArtifactory",
348
- project_id=example_project.id,
349
+ description="Managed by Pulumi")
350
+ example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("example",
351
+ project_id=example.id,
349
352
  service_endpoint_name="Example Artifactory",
350
- description="Managed by Terraform",
353
+ description="Managed by Pulumi",
351
354
  url="https://artifactory.my.com",
352
- authentication_token=azuredevops.ServiceEndpointArtifactoryAuthenticationTokenArgs(
353
- token="0000000000000000000000000000000000000000",
354
- ))
355
+ authentication_token={
356
+ "token": "0000000000000000000000000000000000000000",
357
+ })
355
358
  ```
356
- <!--End PulumiCodeChooser -->
357
359
  Alternatively a username and password may be used.
358
360
 
359
- <!--Start PulumiCodeChooser -->
360
361
  ```python
361
362
  import pulumi
362
363
  import pulumi_azuredevops as azuredevops
363
364
 
364
- example_project = azuredevops.Project("exampleProject",
365
+ example = azuredevops.Project("example",
366
+ name="Example Project",
365
367
  visibility="private",
366
368
  version_control="Git",
367
369
  work_item_template="Agile",
368
- description="Managed by Terraform")
369
- example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("exampleServiceEndpointArtifactory",
370
- project_id=example_project.id,
370
+ description="Managed by Pulumi")
371
+ example_service_endpoint_artifactory = azuredevops.ServiceEndpointArtifactory("example",
372
+ project_id=example.id,
371
373
  service_endpoint_name="Example Artifactory",
372
- description="Managed by Terraform",
374
+ description="Managed by Pulumi",
373
375
  url="https://artifactory.my.com",
374
- authentication_basic=azuredevops.ServiceEndpointArtifactoryAuthenticationBasicArgs(
375
- username="username",
376
- password="password",
377
- ))
376
+ authentication_basic={
377
+ "username": "username",
378
+ "password": "password",
379
+ })
378
380
  ```
379
- <!--End PulumiCodeChooser -->
380
381
 
381
382
  ## Relevant Links
382
383
 
@@ -406,8 +407,8 @@ class ServiceEndpointArtifactory(pulumi.CustomResource):
406
407
  def _internal_init(__self__,
407
408
  resource_name: str,
408
409
  opts: Optional[pulumi.ResourceOptions] = None,
409
- authentication_basic: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointArtifactoryAuthenticationBasicArgs']]] = None,
410
- authentication_token: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointArtifactoryAuthenticationTokenArgs']]] = None,
410
+ authentication_basic: Optional[pulumi.Input[Union['ServiceEndpointArtifactoryAuthenticationBasicArgs', 'ServiceEndpointArtifactoryAuthenticationBasicArgsDict']]] = None,
411
+ authentication_token: Optional[pulumi.Input[Union['ServiceEndpointArtifactoryAuthenticationTokenArgs', 'ServiceEndpointArtifactoryAuthenticationTokenArgsDict']]] = None,
411
412
  authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
412
413
  description: Optional[pulumi.Input[str]] = None,
413
414
  project_id: Optional[pulumi.Input[str]] = None,
@@ -445,8 +446,8 @@ class ServiceEndpointArtifactory(pulumi.CustomResource):
445
446
  def get(resource_name: str,
446
447
  id: pulumi.Input[str],
447
448
  opts: Optional[pulumi.ResourceOptions] = None,
448
- authentication_basic: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointArtifactoryAuthenticationBasicArgs']]] = None,
449
- authentication_token: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointArtifactoryAuthenticationTokenArgs']]] = None,
449
+ authentication_basic: Optional[pulumi.Input[Union['ServiceEndpointArtifactoryAuthenticationBasicArgs', 'ServiceEndpointArtifactoryAuthenticationBasicArgsDict']]] = None,
450
+ authentication_token: Optional[pulumi.Input[Union['ServiceEndpointArtifactoryAuthenticationTokenArgs', 'ServiceEndpointArtifactoryAuthenticationTokenArgsDict']]] = None,
450
451
  authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
451
452
  description: Optional[pulumi.Input[str]] = None,
452
453
  project_id: Optional[pulumi.Input[str]] = None,