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
  from . import outputs
12
17
  from ._inputs import *
@@ -29,10 +34,11 @@ class ServiceEndpointAzureRMArgs:
29
34
  environment: Optional[pulumi.Input[str]] = None,
30
35
  features: Optional[pulumi.Input['ServiceEndpointAzureRMFeaturesArgs']] = None,
31
36
  resource_group: Optional[pulumi.Input[str]] = None,
37
+ server_url: Optional[pulumi.Input[str]] = None,
32
38
  service_endpoint_authentication_scheme: Optional[pulumi.Input[str]] = None):
33
39
  """
34
40
  The set of arguments for constructing a ServiceEndpointAzureRM resource.
35
- :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID if the service principal.
41
+ :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID of the service principal.
36
42
  :param pulumi.Input[str] project_id: The ID of the project.
37
43
  :param pulumi.Input[str] service_endpoint_name: The Service Endpoint Name.
38
44
  :param pulumi.Input[str] azurerm_management_group_id: The Management group ID of the Azure targets.
@@ -41,11 +47,12 @@ class ServiceEndpointAzureRMArgs:
41
47
  :param pulumi.Input[str] azurerm_subscription_name: The Subscription Name of the targets.
42
48
  :param pulumi.Input['ServiceEndpointAzureRMCredentialsArgs'] credentials: A `credentials` block.
43
49
  :param pulumi.Input[str] description: Service connection description.
44
- :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
45
-
46
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
50
+ :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
47
51
  :param pulumi.Input['ServiceEndpointAzureRMFeaturesArgs'] features: A `features` block.
48
52
  :param pulumi.Input[str] resource_group: The resource group used for scope of automatic service endpoint.
53
+ :param pulumi.Input[str] server_url: The server URL of the service endpoint. Changing this forces a new resource to be created.
54
+
55
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
49
56
  :param pulumi.Input[str] service_endpoint_authentication_scheme: Specifies the type of azurerm endpoint, either `WorkloadIdentityFederation`, `ManagedServiceIdentity` or `ServicePrincipal`. Defaults to `ServicePrincipal` for backwards compatibility.
50
57
 
51
58
  > **NOTE:** The `WorkloadIdentityFederation` authentication scheme is currently in private preview. Your organisation must be part of the preview and the feature toggle must be turned on to use it. More details can be found [here](https://aka.ms/azdo-rm-workload-identity).
@@ -73,6 +80,8 @@ class ServiceEndpointAzureRMArgs:
73
80
  pulumi.set(__self__, "features", features)
74
81
  if resource_group is not None:
75
82
  pulumi.set(__self__, "resource_group", resource_group)
83
+ if server_url is not None:
84
+ pulumi.set(__self__, "server_url", server_url)
76
85
  if service_endpoint_authentication_scheme is not None:
77
86
  pulumi.set(__self__, "service_endpoint_authentication_scheme", service_endpoint_authentication_scheme)
78
87
 
@@ -80,7 +89,7 @@ class ServiceEndpointAzureRMArgs:
80
89
  @pulumi.getter(name="azurermSpnTenantid")
81
90
  def azurerm_spn_tenantid(self) -> pulumi.Input[str]:
82
91
  """
83
- The Tenant ID if the service principal.
92
+ The Tenant ID of the service principal.
84
93
  """
85
94
  return pulumi.get(self, "azurerm_spn_tenantid")
86
95
 
@@ -197,9 +206,7 @@ class ServiceEndpointAzureRMArgs:
197
206
  @pulumi.getter
198
207
  def environment(self) -> Optional[pulumi.Input[str]]:
199
208
  """
200
- The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
201
-
202
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
209
+ The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
203
210
  """
204
211
  return pulumi.get(self, "environment")
205
212
 
@@ -231,6 +238,20 @@ class ServiceEndpointAzureRMArgs:
231
238
  def resource_group(self, value: Optional[pulumi.Input[str]]):
232
239
  pulumi.set(self, "resource_group", value)
233
240
 
241
+ @property
242
+ @pulumi.getter(name="serverUrl")
243
+ def server_url(self) -> Optional[pulumi.Input[str]]:
244
+ """
245
+ The server URL of the service endpoint. Changing this forces a new resource to be created.
246
+
247
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
248
+ """
249
+ return pulumi.get(self, "server_url")
250
+
251
+ @server_url.setter
252
+ def server_url(self, value: Optional[pulumi.Input[str]]):
253
+ pulumi.set(self, "server_url", value)
254
+
234
255
  @property
235
256
  @pulumi.getter(name="serviceEndpointAuthenticationScheme")
236
257
  def service_endpoint_authentication_scheme(self) -> Optional[pulumi.Input[str]]:
@@ -261,6 +282,7 @@ class _ServiceEndpointAzureRMState:
261
282
  features: Optional[pulumi.Input['ServiceEndpointAzureRMFeaturesArgs']] = None,
262
283
  project_id: Optional[pulumi.Input[str]] = None,
263
284
  resource_group: Optional[pulumi.Input[str]] = None,
285
+ server_url: Optional[pulumi.Input[str]] = None,
264
286
  service_endpoint_authentication_scheme: Optional[pulumi.Input[str]] = None,
265
287
  service_endpoint_name: Optional[pulumi.Input[str]] = None,
266
288
  service_principal_id: Optional[pulumi.Input[str]] = None,
@@ -270,17 +292,18 @@ class _ServiceEndpointAzureRMState:
270
292
  Input properties used for looking up and filtering ServiceEndpointAzureRM resources.
271
293
  :param pulumi.Input[str] azurerm_management_group_id: The Management group ID of the Azure targets.
272
294
  :param pulumi.Input[str] azurerm_management_group_name: The Management group Name of the targets.
273
- :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID if the service principal.
295
+ :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID of the service principal.
274
296
  :param pulumi.Input[str] azurerm_subscription_id: The Subscription ID of the Azure targets.
275
297
  :param pulumi.Input[str] azurerm_subscription_name: The Subscription Name of the targets.
276
298
  :param pulumi.Input['ServiceEndpointAzureRMCredentialsArgs'] credentials: A `credentials` block.
277
299
  :param pulumi.Input[str] description: Service connection description.
278
- :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
279
-
280
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
300
+ :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
281
301
  :param pulumi.Input['ServiceEndpointAzureRMFeaturesArgs'] features: A `features` block.
282
302
  :param pulumi.Input[str] project_id: The ID of the project.
283
303
  :param pulumi.Input[str] resource_group: The resource group used for scope of automatic service endpoint.
304
+ :param pulumi.Input[str] server_url: The server URL of the service endpoint. Changing this forces a new resource to be created.
305
+
306
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
284
307
  :param pulumi.Input[str] service_endpoint_authentication_scheme: Specifies the type of azurerm endpoint, either `WorkloadIdentityFederation`, `ManagedServiceIdentity` or `ServicePrincipal`. Defaults to `ServicePrincipal` for backwards compatibility.
285
308
 
286
309
  > **NOTE:** The `WorkloadIdentityFederation` authentication scheme is currently in private preview. Your organisation must be part of the preview and the feature toggle must be turned on to use it. More details can be found [here](https://aka.ms/azdo-rm-workload-identity).
@@ -313,6 +336,8 @@ class _ServiceEndpointAzureRMState:
313
336
  pulumi.set(__self__, "project_id", project_id)
314
337
  if resource_group is not None:
315
338
  pulumi.set(__self__, "resource_group", resource_group)
339
+ if server_url is not None:
340
+ pulumi.set(__self__, "server_url", server_url)
316
341
  if service_endpoint_authentication_scheme is not None:
317
342
  pulumi.set(__self__, "service_endpoint_authentication_scheme", service_endpoint_authentication_scheme)
318
343
  if service_endpoint_name is not None:
@@ -361,7 +386,7 @@ class _ServiceEndpointAzureRMState:
361
386
  @pulumi.getter(name="azurermSpnTenantid")
362
387
  def azurerm_spn_tenantid(self) -> Optional[pulumi.Input[str]]:
363
388
  """
364
- The Tenant ID if the service principal.
389
+ The Tenant ID of the service principal.
365
390
  """
366
391
  return pulumi.get(self, "azurerm_spn_tenantid")
367
392
 
@@ -421,9 +446,7 @@ class _ServiceEndpointAzureRMState:
421
446
  @pulumi.getter
422
447
  def environment(self) -> Optional[pulumi.Input[str]]:
423
448
  """
424
- The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
425
-
426
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
449
+ The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
427
450
  """
428
451
  return pulumi.get(self, "environment")
429
452
 
@@ -467,6 +490,20 @@ class _ServiceEndpointAzureRMState:
467
490
  def resource_group(self, value: Optional[pulumi.Input[str]]):
468
491
  pulumi.set(self, "resource_group", value)
469
492
 
493
+ @property
494
+ @pulumi.getter(name="serverUrl")
495
+ def server_url(self) -> Optional[pulumi.Input[str]]:
496
+ """
497
+ The server URL of the service endpoint. Changing this forces a new resource to be created.
498
+
499
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
500
+ """
501
+ return pulumi.get(self, "server_url")
502
+
503
+ @server_url.setter
504
+ def server_url(self, value: Optional[pulumi.Input[str]]):
505
+ pulumi.set(self, "server_url", value)
506
+
470
507
  @property
471
508
  @pulumi.getter(name="serviceEndpointAuthenticationScheme")
472
509
  def service_endpoint_authentication_scheme(self) -> Optional[pulumi.Input[str]]:
@@ -541,12 +578,13 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
541
578
  azurerm_spn_tenantid: Optional[pulumi.Input[str]] = None,
542
579
  azurerm_subscription_id: Optional[pulumi.Input[str]] = None,
543
580
  azurerm_subscription_name: Optional[pulumi.Input[str]] = None,
544
- credentials: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMCredentialsArgs']]] = None,
581
+ credentials: Optional[pulumi.Input[Union['ServiceEndpointAzureRMCredentialsArgs', 'ServiceEndpointAzureRMCredentialsArgsDict']]] = None,
545
582
  description: Optional[pulumi.Input[str]] = None,
546
583
  environment: Optional[pulumi.Input[str]] = None,
547
- features: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMFeaturesArgs']]] = None,
584
+ features: Optional[pulumi.Input[Union['ServiceEndpointAzureRMFeaturesArgs', 'ServiceEndpointAzureRMFeaturesArgsDict']]] = None,
548
585
  project_id: Optional[pulumi.Input[str]] = None,
549
586
  resource_group: Optional[pulumi.Input[str]] = None,
587
+ server_url: Optional[pulumi.Input[str]] = None,
550
588
  service_endpoint_authentication_scheme: Optional[pulumi.Input[str]] = None,
551
589
  service_endpoint_name: Optional[pulumi.Input[str]] = None,
552
590
  __props__=None):
@@ -563,120 +601,156 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
563
601
 
564
602
  ### Service Principal Manual AzureRM Service Endpoint (Subscription Scoped)
565
603
 
566
- <!--Start PulumiCodeChooser -->
567
604
  ```python
568
605
  import pulumi
569
606
  import pulumi_azuredevops as azuredevops
570
607
 
571
- example_project = azuredevops.Project("exampleProject",
608
+ example = azuredevops.Project("example",
609
+ name="Example Project",
572
610
  visibility="private",
573
611
  version_control="Git",
574
612
  work_item_template="Agile",
575
- description="Managed by Terraform")
576
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
577
- project_id=example_project.id,
613
+ description="Managed by Pulumi")
614
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
615
+ project_id=example.id,
578
616
  service_endpoint_name="Example AzureRM",
579
- description="Managed by Terraform",
617
+ description="Managed by Pulumi",
580
618
  service_endpoint_authentication_scheme="ServicePrincipal",
581
- credentials=azuredevops.ServiceEndpointAzureRMCredentialsArgs(
582
- serviceprincipalid="00000000-0000-0000-0000-000000000000",
583
- serviceprincipalkey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
584
- ),
619
+ credentials={
620
+ "serviceprincipalid": "00000000-0000-0000-0000-000000000000",
621
+ "serviceprincipalkey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
622
+ },
585
623
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
586
624
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
587
625
  azurerm_subscription_name="Example Subscription Name")
588
626
  ```
589
- <!--End PulumiCodeChooser -->
590
627
 
591
628
  ### Service Principal Manual AzureRM Service Endpoint (ManagementGroup Scoped)
592
629
 
593
- <!--Start PulumiCodeChooser -->
594
630
  ```python
595
631
  import pulumi
596
632
  import pulumi_azuredevops as azuredevops
597
633
 
598
- example_project = azuredevops.Project("exampleProject",
634
+ example = azuredevops.Project("example",
635
+ name="Example Project",
599
636
  visibility="private",
600
637
  version_control="Git",
601
638
  work_item_template="Agile",
602
- description="Managed by Terraform")
603
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
604
- project_id=example_project.id,
639
+ description="Managed by Pulumi")
640
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
641
+ project_id=example.id,
605
642
  service_endpoint_name="Example AzureRM",
606
- description="Managed by Terraform",
643
+ description="Managed by Pulumi",
607
644
  service_endpoint_authentication_scheme="ServicePrincipal",
608
- credentials=azuredevops.ServiceEndpointAzureRMCredentialsArgs(
609
- serviceprincipalid="00000000-0000-0000-0000-000000000000",
610
- serviceprincipalkey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
611
- ),
645
+ credentials={
646
+ "serviceprincipalid": "00000000-0000-0000-0000-000000000000",
647
+ "serviceprincipalkey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
648
+ },
612
649
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
613
650
  azurerm_management_group_id="managementGroup",
614
651
  azurerm_management_group_name="managementGroup")
615
652
  ```
616
- <!--End PulumiCodeChooser -->
617
653
 
618
654
  ### Service Principal Automatic AzureRM Service Endpoint
619
655
 
620
- <!--Start PulumiCodeChooser -->
621
656
  ```python
622
657
  import pulumi
623
658
  import pulumi_azuredevops as azuredevops
624
659
 
625
- example_project = azuredevops.Project("exampleProject",
660
+ example = azuredevops.Project("example",
661
+ name="Example Project",
626
662
  visibility="private",
627
663
  version_control="Git",
628
664
  work_item_template="Agile")
629
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
630
- project_id=example_project.id,
665
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
666
+ project_id=example.id,
631
667
  service_endpoint_name="Example AzureRM",
632
668
  service_endpoint_authentication_scheme="ServicePrincipal",
633
669
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
634
670
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
635
671
  azurerm_subscription_name="Example Subscription Name")
636
672
  ```
637
- <!--End PulumiCodeChooser -->
673
+
674
+ ### Workload Identity Federation Manual AzureRM Service Endpoint (Subscription Scoped)
675
+
676
+ ```python
677
+ import pulumi
678
+ import pulumi_azure as azure
679
+ import pulumi_azuredevops as azuredevops
680
+
681
+ service_connection_name = "example-federated-sc"
682
+ example = azuredevops.Project("example",
683
+ name="Example Project",
684
+ visibility="private",
685
+ version_control="Git",
686
+ work_item_template="Agile",
687
+ description="Managed by Pulumi")
688
+ identity = azure.core.ResourceGroup("identity",
689
+ name="identity",
690
+ location="UK South")
691
+ example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example",
692
+ location=identity.location,
693
+ name="example-identity",
694
+ resource_group_name="azurerm_resource_group.identity.name")
695
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
696
+ project_id=example.id,
697
+ service_endpoint_name=service_connection_name,
698
+ description="Managed by Pulumi",
699
+ service_endpoint_authentication_scheme="WorkloadIdentityFederation",
700
+ credentials={
701
+ "serviceprincipalid": example_user_assigned_identity.client_id,
702
+ },
703
+ azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
704
+ azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
705
+ azurerm_subscription_name="Example Subscription Name")
706
+ example_federated_identity_credential = azure.armmsi.FederatedIdentityCredential("example",
707
+ name="example-federated-credential",
708
+ resource_group_name=identity.name,
709
+ parent_id=example_user_assigned_identity.id,
710
+ audience="api://AzureADTokenExchange",
711
+ issuer=example_service_endpoint_azure_rm.workload_identity_federation_issuer,
712
+ subject=example_service_endpoint_azure_rm.workload_identity_federation_subject)
713
+ ```
638
714
 
639
715
  ### Workload Identity Federation Automatic AzureRM Service Endpoint
640
716
 
641
- <!--Start PulumiCodeChooser -->
642
717
  ```python
643
718
  import pulumi
644
719
  import pulumi_azuredevops as azuredevops
645
720
 
646
- example_project = azuredevops.Project("exampleProject",
721
+ example = azuredevops.Project("example",
722
+ name="Example Project",
647
723
  visibility="private",
648
724
  version_control="Git",
649
725
  work_item_template="Agile")
650
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
651
- project_id=example_project.id,
726
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
727
+ project_id=example.id,
652
728
  service_endpoint_name="Example AzureRM",
653
729
  service_endpoint_authentication_scheme="WorkloadIdentityFederation",
654
730
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
655
731
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
656
732
  azurerm_subscription_name="Example Subscription Name")
657
733
  ```
658
- <!--End PulumiCodeChooser -->
659
734
 
660
735
  ### Managed Identity AzureRM Service Endpoint
661
736
 
662
- <!--Start PulumiCodeChooser -->
663
737
  ```python
664
738
  import pulumi
665
739
  import pulumi_azuredevops as azuredevops
666
740
 
667
- example_project = azuredevops.Project("exampleProject",
741
+ example = azuredevops.Project("example",
742
+ name="Example Project",
668
743
  visibility="private",
669
744
  version_control="Git",
670
745
  work_item_template="Agile")
671
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
672
- project_id=example_project.id,
746
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
747
+ project_id=example.id,
673
748
  service_endpoint_name="Example AzureRM",
674
749
  service_endpoint_authentication_scheme="ManagedServiceIdentity",
675
750
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
676
751
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
677
752
  azurerm_subscription_name="Example Subscription Name")
678
753
  ```
679
- <!--End PulumiCodeChooser -->
680
754
 
681
755
  ## Relevant Links
682
756
 
@@ -694,17 +768,18 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
694
768
  :param pulumi.ResourceOptions opts: Options for the resource.
695
769
  :param pulumi.Input[str] azurerm_management_group_id: The Management group ID of the Azure targets.
696
770
  :param pulumi.Input[str] azurerm_management_group_name: The Management group Name of the targets.
697
- :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID if the service principal.
771
+ :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID of the service principal.
698
772
  :param pulumi.Input[str] azurerm_subscription_id: The Subscription ID of the Azure targets.
699
773
  :param pulumi.Input[str] azurerm_subscription_name: The Subscription Name of the targets.
700
- :param pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMCredentialsArgs']] credentials: A `credentials` block.
774
+ :param pulumi.Input[Union['ServiceEndpointAzureRMCredentialsArgs', 'ServiceEndpointAzureRMCredentialsArgsDict']] credentials: A `credentials` block.
701
775
  :param pulumi.Input[str] description: Service connection description.
702
- :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
703
-
704
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
705
- :param pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMFeaturesArgs']] features: A `features` block.
776
+ :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
777
+ :param pulumi.Input[Union['ServiceEndpointAzureRMFeaturesArgs', 'ServiceEndpointAzureRMFeaturesArgsDict']] features: A `features` block.
706
778
  :param pulumi.Input[str] project_id: The ID of the project.
707
779
  :param pulumi.Input[str] resource_group: The resource group used for scope of automatic service endpoint.
780
+ :param pulumi.Input[str] server_url: The server URL of the service endpoint. Changing this forces a new resource to be created.
781
+
782
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
708
783
  :param pulumi.Input[str] service_endpoint_authentication_scheme: Specifies the type of azurerm endpoint, either `WorkloadIdentityFederation`, `ManagedServiceIdentity` or `ServicePrincipal`. Defaults to `ServicePrincipal` for backwards compatibility.
709
784
 
710
785
  > **NOTE:** The `WorkloadIdentityFederation` authentication scheme is currently in private preview. Your organisation must be part of the preview and the feature toggle must be turned on to use it. More details can be found [here](https://aka.ms/azdo-rm-workload-identity).
@@ -729,120 +804,156 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
729
804
 
730
805
  ### Service Principal Manual AzureRM Service Endpoint (Subscription Scoped)
731
806
 
732
- <!--Start PulumiCodeChooser -->
733
807
  ```python
734
808
  import pulumi
735
809
  import pulumi_azuredevops as azuredevops
736
810
 
737
- example_project = azuredevops.Project("exampleProject",
811
+ example = azuredevops.Project("example",
812
+ name="Example Project",
738
813
  visibility="private",
739
814
  version_control="Git",
740
815
  work_item_template="Agile",
741
- description="Managed by Terraform")
742
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
743
- project_id=example_project.id,
816
+ description="Managed by Pulumi")
817
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
818
+ project_id=example.id,
744
819
  service_endpoint_name="Example AzureRM",
745
- description="Managed by Terraform",
820
+ description="Managed by Pulumi",
746
821
  service_endpoint_authentication_scheme="ServicePrincipal",
747
- credentials=azuredevops.ServiceEndpointAzureRMCredentialsArgs(
748
- serviceprincipalid="00000000-0000-0000-0000-000000000000",
749
- serviceprincipalkey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
750
- ),
822
+ credentials={
823
+ "serviceprincipalid": "00000000-0000-0000-0000-000000000000",
824
+ "serviceprincipalkey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
825
+ },
751
826
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
752
827
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
753
828
  azurerm_subscription_name="Example Subscription Name")
754
829
  ```
755
- <!--End PulumiCodeChooser -->
756
830
 
757
831
  ### Service Principal Manual AzureRM Service Endpoint (ManagementGroup Scoped)
758
832
 
759
- <!--Start PulumiCodeChooser -->
760
833
  ```python
761
834
  import pulumi
762
835
  import pulumi_azuredevops as azuredevops
763
836
 
764
- example_project = azuredevops.Project("exampleProject",
837
+ example = azuredevops.Project("example",
838
+ name="Example Project",
765
839
  visibility="private",
766
840
  version_control="Git",
767
841
  work_item_template="Agile",
768
- description="Managed by Terraform")
769
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
770
- project_id=example_project.id,
842
+ description="Managed by Pulumi")
843
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
844
+ project_id=example.id,
771
845
  service_endpoint_name="Example AzureRM",
772
- description="Managed by Terraform",
846
+ description="Managed by Pulumi",
773
847
  service_endpoint_authentication_scheme="ServicePrincipal",
774
- credentials=azuredevops.ServiceEndpointAzureRMCredentialsArgs(
775
- serviceprincipalid="00000000-0000-0000-0000-000000000000",
776
- serviceprincipalkey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
777
- ),
848
+ credentials={
849
+ "serviceprincipalid": "00000000-0000-0000-0000-000000000000",
850
+ "serviceprincipalkey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
851
+ },
778
852
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
779
853
  azurerm_management_group_id="managementGroup",
780
854
  azurerm_management_group_name="managementGroup")
781
855
  ```
782
- <!--End PulumiCodeChooser -->
783
856
 
784
857
  ### Service Principal Automatic AzureRM Service Endpoint
785
858
 
786
- <!--Start PulumiCodeChooser -->
787
859
  ```python
788
860
  import pulumi
789
861
  import pulumi_azuredevops as azuredevops
790
862
 
791
- example_project = azuredevops.Project("exampleProject",
863
+ example = azuredevops.Project("example",
864
+ name="Example Project",
792
865
  visibility="private",
793
866
  version_control="Git",
794
867
  work_item_template="Agile")
795
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
796
- project_id=example_project.id,
868
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
869
+ project_id=example.id,
797
870
  service_endpoint_name="Example AzureRM",
798
871
  service_endpoint_authentication_scheme="ServicePrincipal",
799
872
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
800
873
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
801
874
  azurerm_subscription_name="Example Subscription Name")
802
875
  ```
803
- <!--End PulumiCodeChooser -->
876
+
877
+ ### Workload Identity Federation Manual AzureRM Service Endpoint (Subscription Scoped)
878
+
879
+ ```python
880
+ import pulumi
881
+ import pulumi_azure as azure
882
+ import pulumi_azuredevops as azuredevops
883
+
884
+ service_connection_name = "example-federated-sc"
885
+ example = azuredevops.Project("example",
886
+ name="Example Project",
887
+ visibility="private",
888
+ version_control="Git",
889
+ work_item_template="Agile",
890
+ description="Managed by Pulumi")
891
+ identity = azure.core.ResourceGroup("identity",
892
+ name="identity",
893
+ location="UK South")
894
+ example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example",
895
+ location=identity.location,
896
+ name="example-identity",
897
+ resource_group_name="azurerm_resource_group.identity.name")
898
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
899
+ project_id=example.id,
900
+ service_endpoint_name=service_connection_name,
901
+ description="Managed by Pulumi",
902
+ service_endpoint_authentication_scheme="WorkloadIdentityFederation",
903
+ credentials={
904
+ "serviceprincipalid": example_user_assigned_identity.client_id,
905
+ },
906
+ azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
907
+ azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
908
+ azurerm_subscription_name="Example Subscription Name")
909
+ example_federated_identity_credential = azure.armmsi.FederatedIdentityCredential("example",
910
+ name="example-federated-credential",
911
+ resource_group_name=identity.name,
912
+ parent_id=example_user_assigned_identity.id,
913
+ audience="api://AzureADTokenExchange",
914
+ issuer=example_service_endpoint_azure_rm.workload_identity_federation_issuer,
915
+ subject=example_service_endpoint_azure_rm.workload_identity_federation_subject)
916
+ ```
804
917
 
805
918
  ### Workload Identity Federation Automatic AzureRM Service Endpoint
806
919
 
807
- <!--Start PulumiCodeChooser -->
808
920
  ```python
809
921
  import pulumi
810
922
  import pulumi_azuredevops as azuredevops
811
923
 
812
- example_project = azuredevops.Project("exampleProject",
924
+ example = azuredevops.Project("example",
925
+ name="Example Project",
813
926
  visibility="private",
814
927
  version_control="Git",
815
928
  work_item_template="Agile")
816
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
817
- project_id=example_project.id,
929
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
930
+ project_id=example.id,
818
931
  service_endpoint_name="Example AzureRM",
819
932
  service_endpoint_authentication_scheme="WorkloadIdentityFederation",
820
933
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
821
934
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
822
935
  azurerm_subscription_name="Example Subscription Name")
823
936
  ```
824
- <!--End PulumiCodeChooser -->
825
937
 
826
938
  ### Managed Identity AzureRM Service Endpoint
827
939
 
828
- <!--Start PulumiCodeChooser -->
829
940
  ```python
830
941
  import pulumi
831
942
  import pulumi_azuredevops as azuredevops
832
943
 
833
- example_project = azuredevops.Project("exampleProject",
944
+ example = azuredevops.Project("example",
945
+ name="Example Project",
834
946
  visibility="private",
835
947
  version_control="Git",
836
948
  work_item_template="Agile")
837
- example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("exampleServiceEndpointAzureRM",
838
- project_id=example_project.id,
949
+ example_service_endpoint_azure_rm = azuredevops.ServiceEndpointAzureRM("example",
950
+ project_id=example.id,
839
951
  service_endpoint_name="Example AzureRM",
840
952
  service_endpoint_authentication_scheme="ManagedServiceIdentity",
841
953
  azurerm_spn_tenantid="00000000-0000-0000-0000-000000000000",
842
954
  azurerm_subscription_id="00000000-0000-0000-0000-000000000000",
843
955
  azurerm_subscription_name="Example Subscription Name")
844
956
  ```
845
- <!--End PulumiCodeChooser -->
846
957
 
847
958
  ## Relevant Links
848
959
 
@@ -877,12 +988,13 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
877
988
  azurerm_spn_tenantid: Optional[pulumi.Input[str]] = None,
878
989
  azurerm_subscription_id: Optional[pulumi.Input[str]] = None,
879
990
  azurerm_subscription_name: Optional[pulumi.Input[str]] = None,
880
- credentials: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMCredentialsArgs']]] = None,
991
+ credentials: Optional[pulumi.Input[Union['ServiceEndpointAzureRMCredentialsArgs', 'ServiceEndpointAzureRMCredentialsArgsDict']]] = None,
881
992
  description: Optional[pulumi.Input[str]] = None,
882
993
  environment: Optional[pulumi.Input[str]] = None,
883
- features: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMFeaturesArgs']]] = None,
994
+ features: Optional[pulumi.Input[Union['ServiceEndpointAzureRMFeaturesArgs', 'ServiceEndpointAzureRMFeaturesArgsDict']]] = None,
884
995
  project_id: Optional[pulumi.Input[str]] = None,
885
996
  resource_group: Optional[pulumi.Input[str]] = None,
997
+ server_url: Optional[pulumi.Input[str]] = None,
886
998
  service_endpoint_authentication_scheme: Optional[pulumi.Input[str]] = None,
887
999
  service_endpoint_name: Optional[pulumi.Input[str]] = None,
888
1000
  __props__=None):
@@ -910,6 +1022,7 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
910
1022
  raise TypeError("Missing required property 'project_id'")
911
1023
  __props__.__dict__["project_id"] = project_id
912
1024
  __props__.__dict__["resource_group"] = resource_group
1025
+ __props__.__dict__["server_url"] = server_url
913
1026
  __props__.__dict__["service_endpoint_authentication_scheme"] = service_endpoint_authentication_scheme
914
1027
  if service_endpoint_name is None and not opts.urn:
915
1028
  raise TypeError("Missing required property 'service_endpoint_name'")
@@ -917,8 +1030,6 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
917
1030
  __props__.__dict__["service_principal_id"] = None
918
1031
  __props__.__dict__["workload_identity_federation_issuer"] = None
919
1032
  __props__.__dict__["workload_identity_federation_subject"] = None
920
- alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azuredevops:ServiceEndpoint/azureRM:AzureRM")])
921
- opts = pulumi.ResourceOptions.merge(opts, alias_opts)
922
1033
  super(ServiceEndpointAzureRM, __self__).__init__(
923
1034
  'azuredevops:index/serviceEndpointAzureRM:ServiceEndpointAzureRM',
924
1035
  resource_name,
@@ -935,12 +1046,13 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
935
1046
  azurerm_spn_tenantid: Optional[pulumi.Input[str]] = None,
936
1047
  azurerm_subscription_id: Optional[pulumi.Input[str]] = None,
937
1048
  azurerm_subscription_name: Optional[pulumi.Input[str]] = None,
938
- credentials: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMCredentialsArgs']]] = None,
1049
+ credentials: Optional[pulumi.Input[Union['ServiceEndpointAzureRMCredentialsArgs', 'ServiceEndpointAzureRMCredentialsArgsDict']]] = None,
939
1050
  description: Optional[pulumi.Input[str]] = None,
940
1051
  environment: Optional[pulumi.Input[str]] = None,
941
- features: Optional[pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMFeaturesArgs']]] = None,
1052
+ features: Optional[pulumi.Input[Union['ServiceEndpointAzureRMFeaturesArgs', 'ServiceEndpointAzureRMFeaturesArgsDict']]] = None,
942
1053
  project_id: Optional[pulumi.Input[str]] = None,
943
1054
  resource_group: Optional[pulumi.Input[str]] = None,
1055
+ server_url: Optional[pulumi.Input[str]] = None,
944
1056
  service_endpoint_authentication_scheme: Optional[pulumi.Input[str]] = None,
945
1057
  service_endpoint_name: Optional[pulumi.Input[str]] = None,
946
1058
  service_principal_id: Optional[pulumi.Input[str]] = None,
@@ -955,17 +1067,18 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
955
1067
  :param pulumi.ResourceOptions opts: Options for the resource.
956
1068
  :param pulumi.Input[str] azurerm_management_group_id: The Management group ID of the Azure targets.
957
1069
  :param pulumi.Input[str] azurerm_management_group_name: The Management group Name of the targets.
958
- :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID if the service principal.
1070
+ :param pulumi.Input[str] azurerm_spn_tenantid: The Tenant ID of the service principal.
959
1071
  :param pulumi.Input[str] azurerm_subscription_id: The Subscription ID of the Azure targets.
960
1072
  :param pulumi.Input[str] azurerm_subscription_name: The Subscription Name of the targets.
961
- :param pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMCredentialsArgs']] credentials: A `credentials` block.
1073
+ :param pulumi.Input[Union['ServiceEndpointAzureRMCredentialsArgs', 'ServiceEndpointAzureRMCredentialsArgsDict']] credentials: A `credentials` block.
962
1074
  :param pulumi.Input[str] description: Service connection description.
963
- :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
964
-
965
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
966
- :param pulumi.Input[pulumi.InputType['ServiceEndpointAzureRMFeaturesArgs']] features: A `features` block.
1075
+ :param pulumi.Input[str] environment: The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
1076
+ :param pulumi.Input[Union['ServiceEndpointAzureRMFeaturesArgs', 'ServiceEndpointAzureRMFeaturesArgsDict']] features: A `features` block.
967
1077
  :param pulumi.Input[str] project_id: The ID of the project.
968
1078
  :param pulumi.Input[str] resource_group: The resource group used for scope of automatic service endpoint.
1079
+ :param pulumi.Input[str] server_url: The server URL of the service endpoint. Changing this forces a new resource to be created.
1080
+
1081
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
969
1082
  :param pulumi.Input[str] service_endpoint_authentication_scheme: Specifies the type of azurerm endpoint, either `WorkloadIdentityFederation`, `ManagedServiceIdentity` or `ServicePrincipal`. Defaults to `ServicePrincipal` for backwards compatibility.
970
1083
 
971
1084
  > **NOTE:** The `WorkloadIdentityFederation` authentication scheme is currently in private preview. Your organisation must be part of the preview and the feature toggle must be turned on to use it. More details can be found [here](https://aka.ms/azdo-rm-workload-identity).
@@ -990,6 +1103,7 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
990
1103
  __props__.__dict__["features"] = features
991
1104
  __props__.__dict__["project_id"] = project_id
992
1105
  __props__.__dict__["resource_group"] = resource_group
1106
+ __props__.__dict__["server_url"] = server_url
993
1107
  __props__.__dict__["service_endpoint_authentication_scheme"] = service_endpoint_authentication_scheme
994
1108
  __props__.__dict__["service_endpoint_name"] = service_endpoint_name
995
1109
  __props__.__dict__["service_principal_id"] = service_principal_id
@@ -1022,7 +1136,7 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
1022
1136
  @pulumi.getter(name="azurermSpnTenantid")
1023
1137
  def azurerm_spn_tenantid(self) -> pulumi.Output[str]:
1024
1138
  """
1025
- The Tenant ID if the service principal.
1139
+ The Tenant ID of the service principal.
1026
1140
  """
1027
1141
  return pulumi.get(self, "azurerm_spn_tenantid")
1028
1142
 
@@ -1062,9 +1176,7 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
1062
1176
  @pulumi.getter
1063
1177
  def environment(self) -> pulumi.Output[Optional[str]]:
1064
1178
  """
1065
- The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`. Changing this forces a new resource to be created.
1066
-
1067
- > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
1179
+ The Cloud Environment to use. Defaults to `AzureCloud`. Possible values are `AzureCloud`, `AzureChinaCloud`, `AzureUSGovernment`, `AzureGermanCloud` and `AzureStack`. Changing this forces a new resource to be created.
1068
1180
  """
1069
1181
  return pulumi.get(self, "environment")
1070
1182
 
@@ -1092,6 +1204,16 @@ class ServiceEndpointAzureRM(pulumi.CustomResource):
1092
1204
  """
1093
1205
  return pulumi.get(self, "resource_group")
1094
1206
 
1207
+ @property
1208
+ @pulumi.getter(name="serverUrl")
1209
+ def server_url(self) -> pulumi.Output[str]:
1210
+ """
1211
+ The server URL of the service endpoint. Changing this forces a new resource to be created.
1212
+
1213
+ > **NOTE:** One of either `Subscription` scoped i.e. `azurerm_subscription_id`, `azurerm_subscription_name` or `ManagementGroup` scoped i.e. `azurerm_management_group_id`, `azurerm_management_group_name` values must be specified.
1214
+ """
1215
+ return pulumi.get(self, "server_url")
1216
+
1095
1217
  @property
1096
1218
  @pulumi.getter(name="serviceEndpointAuthenticationScheme")
1097
1219
  def service_endpoint_authentication_scheme(self) -> pulumi.Output[Optional[str]]: