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__ = ['ProviderArgs', 'Provider']
@@ -14,19 +19,253 @@ __all__ = ['ProviderArgs', 'Provider']
14
19
  @pulumi.input_type
15
20
  class ProviderArgs:
16
21
  def __init__(__self__, *,
22
+ client_certificate: Optional[pulumi.Input[str]] = None,
23
+ client_certificate_password: Optional[pulumi.Input[str]] = None,
24
+ client_certificate_path: Optional[pulumi.Input[str]] = None,
25
+ client_id: Optional[pulumi.Input[str]] = None,
26
+ client_id_apply: Optional[pulumi.Input[str]] = None,
27
+ client_id_plan: Optional[pulumi.Input[str]] = None,
28
+ client_secret: Optional[pulumi.Input[str]] = None,
29
+ client_secret_path: Optional[pulumi.Input[str]] = None,
30
+ oidc_audience: Optional[pulumi.Input[str]] = None,
31
+ oidc_request_token: Optional[pulumi.Input[str]] = None,
32
+ oidc_request_url: Optional[pulumi.Input[str]] = None,
33
+ oidc_tfc_tag: Optional[pulumi.Input[str]] = None,
34
+ oidc_token: Optional[pulumi.Input[str]] = None,
35
+ oidc_token_file_path: Optional[pulumi.Input[str]] = None,
17
36
  org_service_url: Optional[pulumi.Input[str]] = None,
18
- personal_access_token: Optional[pulumi.Input[str]] = None):
37
+ personal_access_token: Optional[pulumi.Input[str]] = None,
38
+ tenant_id: Optional[pulumi.Input[str]] = None,
39
+ tenant_id_apply: Optional[pulumi.Input[str]] = None,
40
+ tenant_id_plan: Optional[pulumi.Input[str]] = None,
41
+ use_msi: Optional[pulumi.Input[bool]] = None,
42
+ use_oidc: Optional[pulumi.Input[bool]] = None):
19
43
  """
20
44
  The set of arguments for constructing a Provider resource.
45
+ :param pulumi.Input[str] client_certificate: Base64 encoded certificate to use to authenticate to the service principal.
46
+ :param pulumi.Input[str] client_certificate_password: Password for a client certificate password.
47
+ :param pulumi.Input[str] client_certificate_path: Path to a certificate to use to authenticate to the service principal.
48
+ :param pulumi.Input[str] client_id: The service principal client or managed service principal id which should be used.
49
+ :param pulumi.Input[str] client_secret: Client secret for authenticating to a service principal.
50
+ :param pulumi.Input[str] client_secret_path: Path to a file containing a client secret for authenticating to a service principal.
51
+ :param pulumi.Input[str] oidc_audience: Set the audience when requesting OIDC tokens.
52
+ :param pulumi.Input[str] oidc_request_token: The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
53
+ Connect.
54
+ :param pulumi.Input[str] oidc_request_url: The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
55
+ using OpenID Connect.
56
+ :param pulumi.Input[str] oidc_token: OIDC token to authenticate as a service principal.
57
+ :param pulumi.Input[str] oidc_token_file_path: OIDC token from file to authenticate as a service principal.
21
58
  :param pulumi.Input[str] org_service_url: The url of the Azure DevOps instance which should be used.
22
59
  :param pulumi.Input[str] personal_access_token: The personal access token which should be used.
60
+ :param pulumi.Input[str] tenant_id: The service principal tenant id which should be used.
61
+ :param pulumi.Input[bool] use_msi: Use an Azure Managed Service Identity.
62
+ :param pulumi.Input[bool] use_oidc: Use an OIDC token to authenticate to a service principal.
23
63
  """
64
+ if client_certificate is not None:
65
+ pulumi.set(__self__, "client_certificate", client_certificate)
66
+ if client_certificate_password is not None:
67
+ pulumi.set(__self__, "client_certificate_password", client_certificate_password)
68
+ if client_certificate_path is not None:
69
+ pulumi.set(__self__, "client_certificate_path", client_certificate_path)
70
+ if client_id is not None:
71
+ pulumi.set(__self__, "client_id", client_id)
72
+ if client_id_apply is not None:
73
+ pulumi.set(__self__, "client_id_apply", client_id_apply)
74
+ if client_id_plan is not None:
75
+ pulumi.set(__self__, "client_id_plan", client_id_plan)
76
+ if client_secret is not None:
77
+ pulumi.set(__self__, "client_secret", client_secret)
78
+ if client_secret_path is not None:
79
+ pulumi.set(__self__, "client_secret_path", client_secret_path)
80
+ if oidc_audience is not None:
81
+ pulumi.set(__self__, "oidc_audience", oidc_audience)
82
+ if oidc_request_token is not None:
83
+ pulumi.set(__self__, "oidc_request_token", oidc_request_token)
84
+ if oidc_request_url is not None:
85
+ pulumi.set(__self__, "oidc_request_url", oidc_request_url)
86
+ if oidc_tfc_tag is not None:
87
+ pulumi.set(__self__, "oidc_tfc_tag", oidc_tfc_tag)
88
+ if oidc_token is not None:
89
+ pulumi.set(__self__, "oidc_token", oidc_token)
90
+ if oidc_token_file_path is not None:
91
+ pulumi.set(__self__, "oidc_token_file_path", oidc_token_file_path)
24
92
  if org_service_url is None:
25
93
  org_service_url = _utilities.get_env('AZDO_ORG_SERVICE_URL')
26
94
  if org_service_url is not None:
27
95
  pulumi.set(__self__, "org_service_url", org_service_url)
28
96
  if personal_access_token is not None:
29
97
  pulumi.set(__self__, "personal_access_token", personal_access_token)
98
+ if tenant_id is not None:
99
+ pulumi.set(__self__, "tenant_id", tenant_id)
100
+ if tenant_id_apply is not None:
101
+ pulumi.set(__self__, "tenant_id_apply", tenant_id_apply)
102
+ if tenant_id_plan is not None:
103
+ pulumi.set(__self__, "tenant_id_plan", tenant_id_plan)
104
+ if use_msi is not None:
105
+ pulumi.set(__self__, "use_msi", use_msi)
106
+ if use_oidc is not None:
107
+ pulumi.set(__self__, "use_oidc", use_oidc)
108
+
109
+ @property
110
+ @pulumi.getter(name="clientCertificate")
111
+ def client_certificate(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ Base64 encoded certificate to use to authenticate to the service principal.
114
+ """
115
+ return pulumi.get(self, "client_certificate")
116
+
117
+ @client_certificate.setter
118
+ def client_certificate(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "client_certificate", value)
120
+
121
+ @property
122
+ @pulumi.getter(name="clientCertificatePassword")
123
+ def client_certificate_password(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ Password for a client certificate password.
126
+ """
127
+ return pulumi.get(self, "client_certificate_password")
128
+
129
+ @client_certificate_password.setter
130
+ def client_certificate_password(self, value: Optional[pulumi.Input[str]]):
131
+ pulumi.set(self, "client_certificate_password", value)
132
+
133
+ @property
134
+ @pulumi.getter(name="clientCertificatePath")
135
+ def client_certificate_path(self) -> Optional[pulumi.Input[str]]:
136
+ """
137
+ Path to a certificate to use to authenticate to the service principal.
138
+ """
139
+ return pulumi.get(self, "client_certificate_path")
140
+
141
+ @client_certificate_path.setter
142
+ def client_certificate_path(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "client_certificate_path", value)
144
+
145
+ @property
146
+ @pulumi.getter(name="clientId")
147
+ def client_id(self) -> Optional[pulumi.Input[str]]:
148
+ """
149
+ The service principal client or managed service principal id which should be used.
150
+ """
151
+ return pulumi.get(self, "client_id")
152
+
153
+ @client_id.setter
154
+ def client_id(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "client_id", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="clientIdApply")
159
+ def client_id_apply(self) -> Optional[pulumi.Input[str]]:
160
+ return pulumi.get(self, "client_id_apply")
161
+
162
+ @client_id_apply.setter
163
+ def client_id_apply(self, value: Optional[pulumi.Input[str]]):
164
+ pulumi.set(self, "client_id_apply", value)
165
+
166
+ @property
167
+ @pulumi.getter(name="clientIdPlan")
168
+ def client_id_plan(self) -> Optional[pulumi.Input[str]]:
169
+ return pulumi.get(self, "client_id_plan")
170
+
171
+ @client_id_plan.setter
172
+ def client_id_plan(self, value: Optional[pulumi.Input[str]]):
173
+ pulumi.set(self, "client_id_plan", value)
174
+
175
+ @property
176
+ @pulumi.getter(name="clientSecret")
177
+ def client_secret(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ Client secret for authenticating to a service principal.
180
+ """
181
+ return pulumi.get(self, "client_secret")
182
+
183
+ @client_secret.setter
184
+ def client_secret(self, value: Optional[pulumi.Input[str]]):
185
+ pulumi.set(self, "client_secret", value)
186
+
187
+ @property
188
+ @pulumi.getter(name="clientSecretPath")
189
+ def client_secret_path(self) -> Optional[pulumi.Input[str]]:
190
+ """
191
+ Path to a file containing a client secret for authenticating to a service principal.
192
+ """
193
+ return pulumi.get(self, "client_secret_path")
194
+
195
+ @client_secret_path.setter
196
+ def client_secret_path(self, value: Optional[pulumi.Input[str]]):
197
+ pulumi.set(self, "client_secret_path", value)
198
+
199
+ @property
200
+ @pulumi.getter(name="oidcAudience")
201
+ def oidc_audience(self) -> Optional[pulumi.Input[str]]:
202
+ """
203
+ Set the audience when requesting OIDC tokens.
204
+ """
205
+ return pulumi.get(self, "oidc_audience")
206
+
207
+ @oidc_audience.setter
208
+ def oidc_audience(self, value: Optional[pulumi.Input[str]]):
209
+ pulumi.set(self, "oidc_audience", value)
210
+
211
+ @property
212
+ @pulumi.getter(name="oidcRequestToken")
213
+ def oidc_request_token(self) -> Optional[pulumi.Input[str]]:
214
+ """
215
+ The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
216
+ Connect.
217
+ """
218
+ return pulumi.get(self, "oidc_request_token")
219
+
220
+ @oidc_request_token.setter
221
+ def oidc_request_token(self, value: Optional[pulumi.Input[str]]):
222
+ pulumi.set(self, "oidc_request_token", value)
223
+
224
+ @property
225
+ @pulumi.getter(name="oidcRequestUrl")
226
+ def oidc_request_url(self) -> Optional[pulumi.Input[str]]:
227
+ """
228
+ The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
229
+ using OpenID Connect.
230
+ """
231
+ return pulumi.get(self, "oidc_request_url")
232
+
233
+ @oidc_request_url.setter
234
+ def oidc_request_url(self, value: Optional[pulumi.Input[str]]):
235
+ pulumi.set(self, "oidc_request_url", value)
236
+
237
+ @property
238
+ @pulumi.getter(name="oidcTfcTag")
239
+ def oidc_tfc_tag(self) -> Optional[pulumi.Input[str]]:
240
+ return pulumi.get(self, "oidc_tfc_tag")
241
+
242
+ @oidc_tfc_tag.setter
243
+ def oidc_tfc_tag(self, value: Optional[pulumi.Input[str]]):
244
+ pulumi.set(self, "oidc_tfc_tag", value)
245
+
246
+ @property
247
+ @pulumi.getter(name="oidcToken")
248
+ def oidc_token(self) -> Optional[pulumi.Input[str]]:
249
+ """
250
+ OIDC token to authenticate as a service principal.
251
+ """
252
+ return pulumi.get(self, "oidc_token")
253
+
254
+ @oidc_token.setter
255
+ def oidc_token(self, value: Optional[pulumi.Input[str]]):
256
+ pulumi.set(self, "oidc_token", value)
257
+
258
+ @property
259
+ @pulumi.getter(name="oidcTokenFilePath")
260
+ def oidc_token_file_path(self) -> Optional[pulumi.Input[str]]:
261
+ """
262
+ OIDC token from file to authenticate as a service principal.
263
+ """
264
+ return pulumi.get(self, "oidc_token_file_path")
265
+
266
+ @oidc_token_file_path.setter
267
+ def oidc_token_file_path(self, value: Optional[pulumi.Input[str]]):
268
+ pulumi.set(self, "oidc_token_file_path", value)
30
269
 
31
270
  @property
32
271
  @pulumi.getter(name="orgServiceUrl")
@@ -52,14 +291,87 @@ class ProviderArgs:
52
291
  def personal_access_token(self, value: Optional[pulumi.Input[str]]):
53
292
  pulumi.set(self, "personal_access_token", value)
54
293
 
294
+ @property
295
+ @pulumi.getter(name="tenantId")
296
+ def tenant_id(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ The service principal tenant id which should be used.
299
+ """
300
+ return pulumi.get(self, "tenant_id")
301
+
302
+ @tenant_id.setter
303
+ def tenant_id(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "tenant_id", value)
305
+
306
+ @property
307
+ @pulumi.getter(name="tenantIdApply")
308
+ def tenant_id_apply(self) -> Optional[pulumi.Input[str]]:
309
+ return pulumi.get(self, "tenant_id_apply")
310
+
311
+ @tenant_id_apply.setter
312
+ def tenant_id_apply(self, value: Optional[pulumi.Input[str]]):
313
+ pulumi.set(self, "tenant_id_apply", value)
314
+
315
+ @property
316
+ @pulumi.getter(name="tenantIdPlan")
317
+ def tenant_id_plan(self) -> Optional[pulumi.Input[str]]:
318
+ return pulumi.get(self, "tenant_id_plan")
319
+
320
+ @tenant_id_plan.setter
321
+ def tenant_id_plan(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "tenant_id_plan", value)
323
+
324
+ @property
325
+ @pulumi.getter(name="useMsi")
326
+ def use_msi(self) -> Optional[pulumi.Input[bool]]:
327
+ """
328
+ Use an Azure Managed Service Identity.
329
+ """
330
+ return pulumi.get(self, "use_msi")
331
+
332
+ @use_msi.setter
333
+ def use_msi(self, value: Optional[pulumi.Input[bool]]):
334
+ pulumi.set(self, "use_msi", value)
335
+
336
+ @property
337
+ @pulumi.getter(name="useOidc")
338
+ def use_oidc(self) -> Optional[pulumi.Input[bool]]:
339
+ """
340
+ Use an OIDC token to authenticate to a service principal.
341
+ """
342
+ return pulumi.get(self, "use_oidc")
343
+
344
+ @use_oidc.setter
345
+ def use_oidc(self, value: Optional[pulumi.Input[bool]]):
346
+ pulumi.set(self, "use_oidc", value)
347
+
55
348
 
56
349
  class Provider(pulumi.ProviderResource):
57
350
  @overload
58
351
  def __init__(__self__,
59
352
  resource_name: str,
60
353
  opts: Optional[pulumi.ResourceOptions] = None,
354
+ client_certificate: Optional[pulumi.Input[str]] = None,
355
+ client_certificate_password: Optional[pulumi.Input[str]] = None,
356
+ client_certificate_path: Optional[pulumi.Input[str]] = None,
357
+ client_id: Optional[pulumi.Input[str]] = None,
358
+ client_id_apply: Optional[pulumi.Input[str]] = None,
359
+ client_id_plan: Optional[pulumi.Input[str]] = None,
360
+ client_secret: Optional[pulumi.Input[str]] = None,
361
+ client_secret_path: Optional[pulumi.Input[str]] = None,
362
+ oidc_audience: Optional[pulumi.Input[str]] = None,
363
+ oidc_request_token: Optional[pulumi.Input[str]] = None,
364
+ oidc_request_url: Optional[pulumi.Input[str]] = None,
365
+ oidc_tfc_tag: Optional[pulumi.Input[str]] = None,
366
+ oidc_token: Optional[pulumi.Input[str]] = None,
367
+ oidc_token_file_path: Optional[pulumi.Input[str]] = None,
61
368
  org_service_url: Optional[pulumi.Input[str]] = None,
62
369
  personal_access_token: Optional[pulumi.Input[str]] = None,
370
+ tenant_id: Optional[pulumi.Input[str]] = None,
371
+ tenant_id_apply: Optional[pulumi.Input[str]] = None,
372
+ tenant_id_plan: Optional[pulumi.Input[str]] = None,
373
+ use_msi: Optional[pulumi.Input[bool]] = None,
374
+ use_oidc: Optional[pulumi.Input[bool]] = None,
63
375
  __props__=None):
64
376
  """
65
377
  The provider type for the azuredevops package. By default, resources use package-wide configuration
@@ -69,8 +381,24 @@ class Provider(pulumi.ProviderResource):
69
381
 
70
382
  :param str resource_name: The name of the resource.
71
383
  :param pulumi.ResourceOptions opts: Options for the resource.
384
+ :param pulumi.Input[str] client_certificate: Base64 encoded certificate to use to authenticate to the service principal.
385
+ :param pulumi.Input[str] client_certificate_password: Password for a client certificate password.
386
+ :param pulumi.Input[str] client_certificate_path: Path to a certificate to use to authenticate to the service principal.
387
+ :param pulumi.Input[str] client_id: The service principal client or managed service principal id which should be used.
388
+ :param pulumi.Input[str] client_secret: Client secret for authenticating to a service principal.
389
+ :param pulumi.Input[str] client_secret_path: Path to a file containing a client secret for authenticating to a service principal.
390
+ :param pulumi.Input[str] oidc_audience: Set the audience when requesting OIDC tokens.
391
+ :param pulumi.Input[str] oidc_request_token: The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
392
+ Connect.
393
+ :param pulumi.Input[str] oidc_request_url: The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
394
+ using OpenID Connect.
395
+ :param pulumi.Input[str] oidc_token: OIDC token to authenticate as a service principal.
396
+ :param pulumi.Input[str] oidc_token_file_path: OIDC token from file to authenticate as a service principal.
72
397
  :param pulumi.Input[str] org_service_url: The url of the Azure DevOps instance which should be used.
73
398
  :param pulumi.Input[str] personal_access_token: The personal access token which should be used.
399
+ :param pulumi.Input[str] tenant_id: The service principal tenant id which should be used.
400
+ :param pulumi.Input[bool] use_msi: Use an Azure Managed Service Identity.
401
+ :param pulumi.Input[bool] use_oidc: Use an OIDC token to authenticate to a service principal.
74
402
  """
75
403
  ...
76
404
  @overload
@@ -99,8 +427,27 @@ class Provider(pulumi.ProviderResource):
99
427
  def _internal_init(__self__,
100
428
  resource_name: str,
101
429
  opts: Optional[pulumi.ResourceOptions] = None,
430
+ client_certificate: Optional[pulumi.Input[str]] = None,
431
+ client_certificate_password: Optional[pulumi.Input[str]] = None,
432
+ client_certificate_path: Optional[pulumi.Input[str]] = None,
433
+ client_id: Optional[pulumi.Input[str]] = None,
434
+ client_id_apply: Optional[pulumi.Input[str]] = None,
435
+ client_id_plan: Optional[pulumi.Input[str]] = None,
436
+ client_secret: Optional[pulumi.Input[str]] = None,
437
+ client_secret_path: Optional[pulumi.Input[str]] = None,
438
+ oidc_audience: Optional[pulumi.Input[str]] = None,
439
+ oidc_request_token: Optional[pulumi.Input[str]] = None,
440
+ oidc_request_url: Optional[pulumi.Input[str]] = None,
441
+ oidc_tfc_tag: Optional[pulumi.Input[str]] = None,
442
+ oidc_token: Optional[pulumi.Input[str]] = None,
443
+ oidc_token_file_path: Optional[pulumi.Input[str]] = None,
102
444
  org_service_url: Optional[pulumi.Input[str]] = None,
103
445
  personal_access_token: Optional[pulumi.Input[str]] = None,
446
+ tenant_id: Optional[pulumi.Input[str]] = None,
447
+ tenant_id_apply: Optional[pulumi.Input[str]] = None,
448
+ tenant_id_plan: Optional[pulumi.Input[str]] = None,
449
+ use_msi: Optional[pulumi.Input[bool]] = None,
450
+ use_oidc: Optional[pulumi.Input[bool]] = None,
104
451
  __props__=None):
105
452
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
106
453
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -110,11 +457,30 @@ class Provider(pulumi.ProviderResource):
110
457
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
111
458
  __props__ = ProviderArgs.__new__(ProviderArgs)
112
459
 
460
+ __props__.__dict__["client_certificate"] = None if client_certificate is None else pulumi.Output.secret(client_certificate)
461
+ __props__.__dict__["client_certificate_password"] = None if client_certificate_password is None else pulumi.Output.secret(client_certificate_password)
462
+ __props__.__dict__["client_certificate_path"] = client_certificate_path
463
+ __props__.__dict__["client_id"] = client_id
464
+ __props__.__dict__["client_id_apply"] = client_id_apply
465
+ __props__.__dict__["client_id_plan"] = client_id_plan
466
+ __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret)
467
+ __props__.__dict__["client_secret_path"] = client_secret_path
468
+ __props__.__dict__["oidc_audience"] = oidc_audience
469
+ __props__.__dict__["oidc_request_token"] = oidc_request_token
470
+ __props__.__dict__["oidc_request_url"] = oidc_request_url
471
+ __props__.__dict__["oidc_tfc_tag"] = oidc_tfc_tag
472
+ __props__.__dict__["oidc_token"] = None if oidc_token is None else pulumi.Output.secret(oidc_token)
473
+ __props__.__dict__["oidc_token_file_path"] = oidc_token_file_path
113
474
  if org_service_url is None:
114
475
  org_service_url = _utilities.get_env('AZDO_ORG_SERVICE_URL')
115
476
  __props__.__dict__["org_service_url"] = org_service_url
116
477
  __props__.__dict__["personal_access_token"] = None if personal_access_token is None else pulumi.Output.secret(personal_access_token)
117
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["personalAccessToken"])
478
+ __props__.__dict__["tenant_id"] = tenant_id
479
+ __props__.__dict__["tenant_id_apply"] = tenant_id_apply
480
+ __props__.__dict__["tenant_id_plan"] = tenant_id_plan
481
+ __props__.__dict__["use_msi"] = pulumi.Output.from_input(use_msi).apply(pulumi.runtime.to_json) if use_msi is not None else None
482
+ __props__.__dict__["use_oidc"] = pulumi.Output.from_input(use_oidc).apply(pulumi.runtime.to_json) if use_oidc is not None else None
483
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientCertificate", "clientCertificatePassword", "clientSecret", "oidcToken", "personalAccessToken"])
118
484
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
119
485
  super(Provider, __self__).__init__(
120
486
  'azuredevops',
@@ -122,6 +488,111 @@ class Provider(pulumi.ProviderResource):
122
488
  __props__,
123
489
  opts)
124
490
 
491
+ @property
492
+ @pulumi.getter(name="clientCertificate")
493
+ def client_certificate(self) -> pulumi.Output[Optional[str]]:
494
+ """
495
+ Base64 encoded certificate to use to authenticate to the service principal.
496
+ """
497
+ return pulumi.get(self, "client_certificate")
498
+
499
+ @property
500
+ @pulumi.getter(name="clientCertificatePassword")
501
+ def client_certificate_password(self) -> pulumi.Output[Optional[str]]:
502
+ """
503
+ Password for a client certificate password.
504
+ """
505
+ return pulumi.get(self, "client_certificate_password")
506
+
507
+ @property
508
+ @pulumi.getter(name="clientCertificatePath")
509
+ def client_certificate_path(self) -> pulumi.Output[Optional[str]]:
510
+ """
511
+ Path to a certificate to use to authenticate to the service principal.
512
+ """
513
+ return pulumi.get(self, "client_certificate_path")
514
+
515
+ @property
516
+ @pulumi.getter(name="clientId")
517
+ def client_id(self) -> pulumi.Output[Optional[str]]:
518
+ """
519
+ The service principal client or managed service principal id which should be used.
520
+ """
521
+ return pulumi.get(self, "client_id")
522
+
523
+ @property
524
+ @pulumi.getter(name="clientIdApply")
525
+ def client_id_apply(self) -> pulumi.Output[Optional[str]]:
526
+ return pulumi.get(self, "client_id_apply")
527
+
528
+ @property
529
+ @pulumi.getter(name="clientIdPlan")
530
+ def client_id_plan(self) -> pulumi.Output[Optional[str]]:
531
+ return pulumi.get(self, "client_id_plan")
532
+
533
+ @property
534
+ @pulumi.getter(name="clientSecret")
535
+ def client_secret(self) -> pulumi.Output[Optional[str]]:
536
+ """
537
+ Client secret for authenticating to a service principal.
538
+ """
539
+ return pulumi.get(self, "client_secret")
540
+
541
+ @property
542
+ @pulumi.getter(name="clientSecretPath")
543
+ def client_secret_path(self) -> pulumi.Output[Optional[str]]:
544
+ """
545
+ Path to a file containing a client secret for authenticating to a service principal.
546
+ """
547
+ return pulumi.get(self, "client_secret_path")
548
+
549
+ @property
550
+ @pulumi.getter(name="oidcAudience")
551
+ def oidc_audience(self) -> pulumi.Output[Optional[str]]:
552
+ """
553
+ Set the audience when requesting OIDC tokens.
554
+ """
555
+ return pulumi.get(self, "oidc_audience")
556
+
557
+ @property
558
+ @pulumi.getter(name="oidcRequestToken")
559
+ def oidc_request_token(self) -> pulumi.Output[Optional[str]]:
560
+ """
561
+ The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
562
+ Connect.
563
+ """
564
+ return pulumi.get(self, "oidc_request_token")
565
+
566
+ @property
567
+ @pulumi.getter(name="oidcRequestUrl")
568
+ def oidc_request_url(self) -> pulumi.Output[Optional[str]]:
569
+ """
570
+ The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
571
+ using OpenID Connect.
572
+ """
573
+ return pulumi.get(self, "oidc_request_url")
574
+
575
+ @property
576
+ @pulumi.getter(name="oidcTfcTag")
577
+ def oidc_tfc_tag(self) -> pulumi.Output[Optional[str]]:
578
+ return pulumi.get(self, "oidc_tfc_tag")
579
+
580
+ @property
581
+ @pulumi.getter(name="oidcToken")
582
+ def oidc_token(self) -> pulumi.Output[Optional[str]]:
583
+ """
584
+ OIDC token to authenticate as a service principal.
585
+ """
586
+ return pulumi.get(self, "oidc_token")
587
+
588
+ @property
589
+ @pulumi.getter(name="oidcTokenFilePath")
590
+ def oidc_token_file_path(self) -> pulumi.Output[Optional[str]]:
591
+ """
592
+ OIDC token from file to authenticate as a service principal.
593
+ """
594
+ return pulumi.get(self, "oidc_token_file_path")
595
+
125
596
  @property
126
597
  @pulumi.getter(name="orgServiceUrl")
127
598
  def org_service_url(self) -> pulumi.Output[Optional[str]]:
@@ -138,3 +609,21 @@ class Provider(pulumi.ProviderResource):
138
609
  """
139
610
  return pulumi.get(self, "personal_access_token")
140
611
 
612
+ @property
613
+ @pulumi.getter(name="tenantId")
614
+ def tenant_id(self) -> pulumi.Output[Optional[str]]:
615
+ """
616
+ The service principal tenant id which should be used.
617
+ """
618
+ return pulumi.get(self, "tenant_id")
619
+
620
+ @property
621
+ @pulumi.getter(name="tenantIdApply")
622
+ def tenant_id_apply(self) -> pulumi.Output[Optional[str]]:
623
+ return pulumi.get(self, "tenant_id_apply")
624
+
625
+ @property
626
+ @pulumi.getter(name="tenantIdPlan")
627
+ def tenant_id_plan(self) -> pulumi.Output[Optional[str]]:
628
+ return pulumi.get(self, "tenant_id_plan")
629
+
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
- "name": "azuredevops"
3
+ "name": "azuredevops",
4
+ "version": "3.6.0-alpha.1736832240"
4
5
  }