pulumi-azuredevops 3.11.0a1755840258__py3-none-any.whl → 3.11.0a1756160177__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.
@@ -14,6 +14,11 @@ else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
16
 
17
+ auxiliaryTenantIds: Optional[str]
18
+ """
19
+ List of auxiliary Tenant IDs required for multi-tenancy and cross-tenant scenarios.
20
+ """
21
+
17
22
  clientCertificate: Optional[str]
18
23
  """
19
24
  Base64 encoded certificate to use to authenticate to the service principal.
@@ -31,12 +36,13 @@ Path to a certificate to use to authenticate to the service principal.
31
36
 
32
37
  clientId: Optional[str]
33
38
  """
34
- The service principal client or managed service principal id which should be used.
39
+ The service principal client id which should be used for AAD auth.
35
40
  """
36
41
 
37
- clientIdApply: Optional[str]
38
-
39
- clientIdPlan: Optional[str]
42
+ clientIdFilePath: Optional[str]
43
+ """
44
+ The path to a file containing the Client ID which should be used.
45
+ """
40
46
 
41
47
  clientSecret: Optional[str]
42
48
  """
@@ -48,9 +54,9 @@ clientSecretPath: Optional[str]
48
54
  Path to a file containing a client secret for authenticating to a service principal.
49
55
  """
50
56
 
51
- oidcAudience: Optional[str]
57
+ oidcAzureServiceConnectionId: Optional[str]
52
58
  """
53
- Set the audience when requesting OIDC tokens.
59
+ The Azure Pipelines Service Connection ID to use for authentication.
54
60
  """
55
61
 
56
62
  oidcRequestToken: Optional[str]
@@ -65,8 +71,6 @@ The URL for the OIDC provider from which to request an ID token. For use when au
65
71
  using OpenID Connect.
66
72
  """
67
73
 
68
- oidcTfcTag: Optional[str]
69
-
70
74
  oidcToken: Optional[str]
71
75
  """
72
76
  OIDC token to authenticate as a service principal.
@@ -89,20 +93,21 @@ The personal access token which should be used.
89
93
 
90
94
  tenantId: Optional[str]
91
95
  """
92
- The service principal tenant id which should be used.
96
+ The service principal tenant id which should be used for AAD auth.
93
97
  """
94
98
 
95
- tenantIdApply: Optional[str]
96
-
97
- tenantIdPlan: Optional[str]
99
+ useCli: Optional[bool]
100
+ """
101
+ Use Azure CLI to authenticate. Defaults to `true`.
102
+ """
98
103
 
99
104
  useMsi: Optional[bool]
100
105
  """
101
- Use an Azure Managed Service Identity.
106
+ Use an Azure Managed Service Identity. Defaults to `false`.
102
107
  """
103
108
 
104
109
  useOidc: Optional[bool]
105
110
  """
106
- Use an OIDC token to authenticate to a service principal.
111
+ Use an OIDC token to authenticate to a service principal. Defaults to `false`.
107
112
  """
108
113
 
@@ -20,6 +20,13 @@ __config__ = pulumi.Config('azuredevops')
20
20
 
21
21
 
22
22
  class _ExportableConfig(types.ModuleType):
23
+ @_builtins.property
24
+ def auxiliary_tenant_ids(self) -> Optional[str]:
25
+ """
26
+ List of auxiliary Tenant IDs required for multi-tenancy and cross-tenant scenarios.
27
+ """
28
+ return __config__.get('auxiliaryTenantIds')
29
+
23
30
  @_builtins.property
24
31
  def client_certificate(self) -> Optional[str]:
25
32
  """
@@ -44,17 +51,16 @@ class _ExportableConfig(types.ModuleType):
44
51
  @_builtins.property
45
52
  def client_id(self) -> Optional[str]:
46
53
  """
47
- The service principal client or managed service principal id which should be used.
54
+ The service principal client id which should be used for AAD auth.
48
55
  """
49
56
  return __config__.get('clientId')
50
57
 
51
58
  @_builtins.property
52
- def client_id_apply(self) -> Optional[str]:
53
- return __config__.get('clientIdApply')
54
-
55
- @_builtins.property
56
- def client_id_plan(self) -> Optional[str]:
57
- return __config__.get('clientIdPlan')
59
+ def client_id_file_path(self) -> Optional[str]:
60
+ """
61
+ The path to a file containing the Client ID which should be used.
62
+ """
63
+ return __config__.get('clientIdFilePath')
58
64
 
59
65
  @_builtins.property
60
66
  def client_secret(self) -> Optional[str]:
@@ -71,11 +77,11 @@ class _ExportableConfig(types.ModuleType):
71
77
  return __config__.get('clientSecretPath')
72
78
 
73
79
  @_builtins.property
74
- def oidc_audience(self) -> Optional[str]:
80
+ def oidc_azure_service_connection_id(self) -> Optional[str]:
75
81
  """
76
- Set the audience when requesting OIDC tokens.
82
+ The Azure Pipelines Service Connection ID to use for authentication.
77
83
  """
78
- return __config__.get('oidcAudience')
84
+ return __config__.get('oidcAzureServiceConnectionId')
79
85
 
80
86
  @_builtins.property
81
87
  def oidc_request_token(self) -> Optional[str]:
@@ -93,10 +99,6 @@ class _ExportableConfig(types.ModuleType):
93
99
  """
94
100
  return __config__.get('oidcRequestUrl')
95
101
 
96
- @_builtins.property
97
- def oidc_tfc_tag(self) -> Optional[str]:
98
- return __config__.get('oidcTfcTag')
99
-
100
102
  @_builtins.property
101
103
  def oidc_token(self) -> Optional[str]:
102
104
  """
@@ -128,29 +130,28 @@ class _ExportableConfig(types.ModuleType):
128
130
  @_builtins.property
129
131
  def tenant_id(self) -> Optional[str]:
130
132
  """
131
- The service principal tenant id which should be used.
133
+ The service principal tenant id which should be used for AAD auth.
132
134
  """
133
135
  return __config__.get('tenantId')
134
136
 
135
137
  @_builtins.property
136
- def tenant_id_apply(self) -> Optional[str]:
137
- return __config__.get('tenantIdApply')
138
-
139
- @_builtins.property
140
- def tenant_id_plan(self) -> Optional[str]:
141
- return __config__.get('tenantIdPlan')
138
+ def use_cli(self) -> Optional[bool]:
139
+ """
140
+ Use Azure CLI to authenticate. Defaults to `true`.
141
+ """
142
+ return __config__.get_bool('useCli')
142
143
 
143
144
  @_builtins.property
144
145
  def use_msi(self) -> Optional[bool]:
145
146
  """
146
- Use an Azure Managed Service Identity.
147
+ Use an Azure Managed Service Identity. Defaults to `false`.
147
148
  """
148
149
  return __config__.get_bool('useMsi')
149
150
 
150
151
  @_builtins.property
151
152
  def use_oidc(self) -> Optional[bool]:
152
153
  """
153
- Use an OIDC token to authenticate to a service principal.
154
+ Use an OIDC token to authenticate to a service principal. Defaults to `false`.
154
155
  """
155
156
  return __config__.get_bool('useOidc')
156
157
 
@@ -149,6 +149,19 @@ def get_user(descriptor: Optional[_builtins.str] = None,
149
149
 
150
150
  ~>**NOTE:** If you only have the Storage Key(UUID) of the user, you can use `get_descriptor` to resolve the Storage Key(UUID) to a `descriptor`.
151
151
 
152
+ ## Example Usage
153
+
154
+ ```python
155
+ import pulumi
156
+ import pulumi_azuredevops as azuredevops
157
+
158
+ example = azuredevops.get_user(descriptor="descriptor")
159
+ ```
160
+
161
+ ## Relevant Links
162
+
163
+ - [Azure DevOps Service REST API 7.1 - Graph Users API](https://learn.microsoft.com/en-us/rest/api/azure/devops/graph/users/get?view=azure-devops-rest-7.1)
164
+
152
165
 
153
166
  :param _builtins.str descriptor: The descriptor of the user.
154
167
  """
@@ -174,6 +187,19 @@ def get_user_output(descriptor: Optional[pulumi.Input[_builtins.str]] = None,
174
187
 
175
188
  ~>**NOTE:** If you only have the Storage Key(UUID) of the user, you can use `get_descriptor` to resolve the Storage Key(UUID) to a `descriptor`.
176
189
 
190
+ ## Example Usage
191
+
192
+ ```python
193
+ import pulumi
194
+ import pulumi_azuredevops as azuredevops
195
+
196
+ example = azuredevops.get_user(descriptor="descriptor")
197
+ ```
198
+
199
+ ## Relevant Links
200
+
201
+ - [Azure DevOps Service REST API 7.1 - Graph Users API](https://learn.microsoft.com/en-us/rest/api/azure/devops/graph/users/get?view=azure-devops-rest-7.1)
202
+
177
203
 
178
204
  :param _builtins.str descriptor: The descriptor of the user.
179
205
  """
@@ -249,6 +249,14 @@ class GitRepositoryBranch(pulumi.CustomResource):
249
249
  ref_commit_id=example_git_repository_branch.last_commit_id)
250
250
  ```
251
251
 
252
+ ## Import
253
+
254
+ Azure DevOps Git Repository Branch can be imported using the `repository ID:branchName`.
255
+
256
+ ```sh
257
+ $ pulumi import azuredevops:index/gitRepositoryBranch:GitRepositoryBranch example "00000000-0000-0000-0000-000000000000:main"
258
+ ```
259
+
252
260
  :param str resource_name: The name of the resource.
253
261
  :param pulumi.ResourceOptions opts: Options for the resource.
254
262
  :param pulumi.Input[_builtins.str] name: The name of the branch in short format not prefixed with `refs/heads/`.
@@ -293,6 +301,14 @@ class GitRepositoryBranch(pulumi.CustomResource):
293
301
  ref_commit_id=example_git_repository_branch.last_commit_id)
294
302
  ```
295
303
 
304
+ ## Import
305
+
306
+ Azure DevOps Git Repository Branch can be imported using the `repository ID:branchName`.
307
+
308
+ ```sh
309
+ $ pulumi import azuredevops:index/gitRepositoryBranch:GitRepositoryBranch example "00000000-0000-0000-0000-000000000000:main"
310
+ ```
311
+
296
312
  :param str resource_name: The name of the resource.
297
313
  :param GitRepositoryBranchArgs args: The arguments to use to populate this resource's properties.
298
314
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -19,36 +19,36 @@ __all__ = ['ProviderArgs', 'Provider']
19
19
  @pulumi.input_type
20
20
  class ProviderArgs:
21
21
  def __init__(__self__, *,
22
+ auxiliary_tenant_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
22
23
  client_certificate: Optional[pulumi.Input[_builtins.str]] = None,
23
24
  client_certificate_password: Optional[pulumi.Input[_builtins.str]] = None,
24
25
  client_certificate_path: Optional[pulumi.Input[_builtins.str]] = None,
25
26
  client_id: Optional[pulumi.Input[_builtins.str]] = None,
26
- client_id_apply: Optional[pulumi.Input[_builtins.str]] = None,
27
- client_id_plan: Optional[pulumi.Input[_builtins.str]] = None,
27
+ client_id_file_path: Optional[pulumi.Input[_builtins.str]] = None,
28
28
  client_secret: Optional[pulumi.Input[_builtins.str]] = None,
29
29
  client_secret_path: Optional[pulumi.Input[_builtins.str]] = None,
30
- oidc_audience: Optional[pulumi.Input[_builtins.str]] = None,
30
+ oidc_azure_service_connection_id: Optional[pulumi.Input[_builtins.str]] = None,
31
31
  oidc_request_token: Optional[pulumi.Input[_builtins.str]] = None,
32
32
  oidc_request_url: Optional[pulumi.Input[_builtins.str]] = None,
33
- oidc_tfc_tag: Optional[pulumi.Input[_builtins.str]] = None,
34
33
  oidc_token: Optional[pulumi.Input[_builtins.str]] = None,
35
34
  oidc_token_file_path: Optional[pulumi.Input[_builtins.str]] = None,
36
35
  org_service_url: Optional[pulumi.Input[_builtins.str]] = None,
37
36
  personal_access_token: Optional[pulumi.Input[_builtins.str]] = None,
38
37
  tenant_id: Optional[pulumi.Input[_builtins.str]] = None,
39
- tenant_id_apply: Optional[pulumi.Input[_builtins.str]] = None,
40
- tenant_id_plan: Optional[pulumi.Input[_builtins.str]] = None,
38
+ use_cli: Optional[pulumi.Input[_builtins.bool]] = None,
41
39
  use_msi: Optional[pulumi.Input[_builtins.bool]] = None,
42
40
  use_oidc: Optional[pulumi.Input[_builtins.bool]] = None):
43
41
  """
44
42
  The set of arguments for constructing a Provider resource.
43
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] auxiliary_tenant_ids: List of auxiliary Tenant IDs required for multi-tenancy and cross-tenant scenarios.
45
44
  :param pulumi.Input[_builtins.str] client_certificate: Base64 encoded certificate to use to authenticate to the service principal.
46
45
  :param pulumi.Input[_builtins.str] client_certificate_password: Password for a client certificate password.
47
46
  :param pulumi.Input[_builtins.str] client_certificate_path: Path to a certificate to use to authenticate to the service principal.
48
- :param pulumi.Input[_builtins.str] client_id: The service principal client or managed service principal id which should be used.
47
+ :param pulumi.Input[_builtins.str] client_id: The service principal client id which should be used for AAD auth.
48
+ :param pulumi.Input[_builtins.str] client_id_file_path: The path to a file containing the Client ID which should be used.
49
49
  :param pulumi.Input[_builtins.str] client_secret: Client secret for authenticating to a service principal.
50
50
  :param pulumi.Input[_builtins.str] client_secret_path: Path to a file containing a client secret for authenticating to a service principal.
51
- :param pulumi.Input[_builtins.str] oidc_audience: Set the audience when requesting OIDC tokens.
51
+ :param pulumi.Input[_builtins.str] oidc_azure_service_connection_id: The Azure Pipelines Service Connection ID to use for authentication.
52
52
  :param pulumi.Input[_builtins.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
53
  Connect.
54
54
  :param pulumi.Input[_builtins.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
@@ -57,10 +57,13 @@ class ProviderArgs:
57
57
  :param pulumi.Input[_builtins.str] oidc_token_file_path: OIDC token from file to authenticate as a service principal.
58
58
  :param pulumi.Input[_builtins.str] org_service_url: The url of the Azure DevOps instance which should be used.
59
59
  :param pulumi.Input[_builtins.str] personal_access_token: The personal access token which should be used.
60
- :param pulumi.Input[_builtins.str] tenant_id: The service principal tenant id which should be used.
61
- :param pulumi.Input[_builtins.bool] use_msi: Use an Azure Managed Service Identity.
62
- :param pulumi.Input[_builtins.bool] use_oidc: Use an OIDC token to authenticate to a service principal.
60
+ :param pulumi.Input[_builtins.str] tenant_id: The service principal tenant id which should be used for AAD auth.
61
+ :param pulumi.Input[_builtins.bool] use_cli: Use Azure CLI to authenticate. Defaults to `true`.
62
+ :param pulumi.Input[_builtins.bool] use_msi: Use an Azure Managed Service Identity. Defaults to `false`.
63
+ :param pulumi.Input[_builtins.bool] use_oidc: Use an OIDC token to authenticate to a service principal. Defaults to `false`.
63
64
  """
65
+ if auxiliary_tenant_ids is not None:
66
+ pulumi.set(__self__, "auxiliary_tenant_ids", auxiliary_tenant_ids)
64
67
  if client_certificate is not None:
65
68
  pulumi.set(__self__, "client_certificate", client_certificate)
66
69
  if client_certificate_password is not None:
@@ -69,22 +72,18 @@ class ProviderArgs:
69
72
  pulumi.set(__self__, "client_certificate_path", client_certificate_path)
70
73
  if client_id is not None:
71
74
  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)
75
+ if client_id_file_path is not None:
76
+ pulumi.set(__self__, "client_id_file_path", client_id_file_path)
76
77
  if client_secret is not None:
77
78
  pulumi.set(__self__, "client_secret", client_secret)
78
79
  if client_secret_path is not None:
79
80
  pulumi.set(__self__, "client_secret_path", client_secret_path)
80
- if oidc_audience is not None:
81
- pulumi.set(__self__, "oidc_audience", oidc_audience)
81
+ if oidc_azure_service_connection_id is not None:
82
+ pulumi.set(__self__, "oidc_azure_service_connection_id", oidc_azure_service_connection_id)
82
83
  if oidc_request_token is not None:
83
84
  pulumi.set(__self__, "oidc_request_token", oidc_request_token)
84
85
  if oidc_request_url is not None:
85
86
  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
87
  if oidc_token is not None:
89
88
  pulumi.set(__self__, "oidc_token", oidc_token)
90
89
  if oidc_token_file_path is not None:
@@ -97,15 +96,25 @@ class ProviderArgs:
97
96
  pulumi.set(__self__, "personal_access_token", personal_access_token)
98
97
  if tenant_id is not None:
99
98
  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)
99
+ if use_cli is not None:
100
+ pulumi.set(__self__, "use_cli", use_cli)
104
101
  if use_msi is not None:
105
102
  pulumi.set(__self__, "use_msi", use_msi)
106
103
  if use_oidc is not None:
107
104
  pulumi.set(__self__, "use_oidc", use_oidc)
108
105
 
106
+ @_builtins.property
107
+ @pulumi.getter(name="auxiliaryTenantIds")
108
+ def auxiliary_tenant_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
109
+ """
110
+ List of auxiliary Tenant IDs required for multi-tenancy and cross-tenant scenarios.
111
+ """
112
+ return pulumi.get(self, "auxiliary_tenant_ids")
113
+
114
+ @auxiliary_tenant_ids.setter
115
+ def auxiliary_tenant_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
116
+ pulumi.set(self, "auxiliary_tenant_ids", value)
117
+
109
118
  @_builtins.property
110
119
  @pulumi.getter(name="clientCertificate")
111
120
  def client_certificate(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -146,7 +155,7 @@ class ProviderArgs:
146
155
  @pulumi.getter(name="clientId")
147
156
  def client_id(self) -> Optional[pulumi.Input[_builtins.str]]:
148
157
  """
149
- The service principal client or managed service principal id which should be used.
158
+ The service principal client id which should be used for AAD auth.
150
159
  """
151
160
  return pulumi.get(self, "client_id")
152
161
 
@@ -155,22 +164,16 @@ class ProviderArgs:
155
164
  pulumi.set(self, "client_id", value)
156
165
 
157
166
  @_builtins.property
158
- @pulumi.getter(name="clientIdApply")
159
- def client_id_apply(self) -> Optional[pulumi.Input[_builtins.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[_builtins.str]]):
164
- pulumi.set(self, "client_id_apply", value)
165
-
166
- @_builtins.property
167
- @pulumi.getter(name="clientIdPlan")
168
- def client_id_plan(self) -> Optional[pulumi.Input[_builtins.str]]:
169
- return pulumi.get(self, "client_id_plan")
167
+ @pulumi.getter(name="clientIdFilePath")
168
+ def client_id_file_path(self) -> Optional[pulumi.Input[_builtins.str]]:
169
+ """
170
+ The path to a file containing the Client ID which should be used.
171
+ """
172
+ return pulumi.get(self, "client_id_file_path")
170
173
 
171
- @client_id_plan.setter
172
- def client_id_plan(self, value: Optional[pulumi.Input[_builtins.str]]):
173
- pulumi.set(self, "client_id_plan", value)
174
+ @client_id_file_path.setter
175
+ def client_id_file_path(self, value: Optional[pulumi.Input[_builtins.str]]):
176
+ pulumi.set(self, "client_id_file_path", value)
174
177
 
175
178
  @_builtins.property
176
179
  @pulumi.getter(name="clientSecret")
@@ -197,16 +200,16 @@ class ProviderArgs:
197
200
  pulumi.set(self, "client_secret_path", value)
198
201
 
199
202
  @_builtins.property
200
- @pulumi.getter(name="oidcAudience")
201
- def oidc_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
203
+ @pulumi.getter(name="oidcAzureServiceConnectionId")
204
+ def oidc_azure_service_connection_id(self) -> Optional[pulumi.Input[_builtins.str]]:
202
205
  """
203
- Set the audience when requesting OIDC tokens.
206
+ The Azure Pipelines Service Connection ID to use for authentication.
204
207
  """
205
- return pulumi.get(self, "oidc_audience")
208
+ return pulumi.get(self, "oidc_azure_service_connection_id")
206
209
 
207
- @oidc_audience.setter
208
- def oidc_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
209
- pulumi.set(self, "oidc_audience", value)
210
+ @oidc_azure_service_connection_id.setter
211
+ def oidc_azure_service_connection_id(self, value: Optional[pulumi.Input[_builtins.str]]):
212
+ pulumi.set(self, "oidc_azure_service_connection_id", value)
210
213
 
211
214
  @_builtins.property
212
215
  @pulumi.getter(name="oidcRequestToken")
@@ -234,15 +237,6 @@ class ProviderArgs:
234
237
  def oidc_request_url(self, value: Optional[pulumi.Input[_builtins.str]]):
235
238
  pulumi.set(self, "oidc_request_url", value)
236
239
 
237
- @_builtins.property
238
- @pulumi.getter(name="oidcTfcTag")
239
- def oidc_tfc_tag(self) -> Optional[pulumi.Input[_builtins.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[_builtins.str]]):
244
- pulumi.set(self, "oidc_tfc_tag", value)
245
-
246
240
  @_builtins.property
247
241
  @pulumi.getter(name="oidcToken")
248
242
  def oidc_token(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -295,7 +289,7 @@ class ProviderArgs:
295
289
  @pulumi.getter(name="tenantId")
296
290
  def tenant_id(self) -> Optional[pulumi.Input[_builtins.str]]:
297
291
  """
298
- The service principal tenant id which should be used.
292
+ The service principal tenant id which should be used for AAD auth.
299
293
  """
300
294
  return pulumi.get(self, "tenant_id")
301
295
 
@@ -304,28 +298,22 @@ class ProviderArgs:
304
298
  pulumi.set(self, "tenant_id", value)
305
299
 
306
300
  @_builtins.property
307
- @pulumi.getter(name="tenantIdApply")
308
- def tenant_id_apply(self) -> Optional[pulumi.Input[_builtins.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[_builtins.str]]):
313
- pulumi.set(self, "tenant_id_apply", value)
314
-
315
- @_builtins.property
316
- @pulumi.getter(name="tenantIdPlan")
317
- def tenant_id_plan(self) -> Optional[pulumi.Input[_builtins.str]]:
318
- return pulumi.get(self, "tenant_id_plan")
301
+ @pulumi.getter(name="useCli")
302
+ def use_cli(self) -> Optional[pulumi.Input[_builtins.bool]]:
303
+ """
304
+ Use Azure CLI to authenticate. Defaults to `true`.
305
+ """
306
+ return pulumi.get(self, "use_cli")
319
307
 
320
- @tenant_id_plan.setter
321
- def tenant_id_plan(self, value: Optional[pulumi.Input[_builtins.str]]):
322
- pulumi.set(self, "tenant_id_plan", value)
308
+ @use_cli.setter
309
+ def use_cli(self, value: Optional[pulumi.Input[_builtins.bool]]):
310
+ pulumi.set(self, "use_cli", value)
323
311
 
324
312
  @_builtins.property
325
313
  @pulumi.getter(name="useMsi")
326
314
  def use_msi(self) -> Optional[pulumi.Input[_builtins.bool]]:
327
315
  """
328
- Use an Azure Managed Service Identity.
316
+ Use an Azure Managed Service Identity. Defaults to `false`.
329
317
  """
330
318
  return pulumi.get(self, "use_msi")
331
319
 
@@ -337,7 +325,7 @@ class ProviderArgs:
337
325
  @pulumi.getter(name="useOidc")
338
326
  def use_oidc(self) -> Optional[pulumi.Input[_builtins.bool]]:
339
327
  """
340
- Use an OIDC token to authenticate to a service principal.
328
+ Use an OIDC token to authenticate to a service principal. Defaults to `false`.
341
329
  """
342
330
  return pulumi.get(self, "use_oidc")
343
331
 
@@ -352,25 +340,23 @@ class Provider(pulumi.ProviderResource):
352
340
  def __init__(__self__,
353
341
  resource_name: str,
354
342
  opts: Optional[pulumi.ResourceOptions] = None,
343
+ auxiliary_tenant_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
355
344
  client_certificate: Optional[pulumi.Input[_builtins.str]] = None,
356
345
  client_certificate_password: Optional[pulumi.Input[_builtins.str]] = None,
357
346
  client_certificate_path: Optional[pulumi.Input[_builtins.str]] = None,
358
347
  client_id: Optional[pulumi.Input[_builtins.str]] = None,
359
- client_id_apply: Optional[pulumi.Input[_builtins.str]] = None,
360
- client_id_plan: Optional[pulumi.Input[_builtins.str]] = None,
348
+ client_id_file_path: Optional[pulumi.Input[_builtins.str]] = None,
361
349
  client_secret: Optional[pulumi.Input[_builtins.str]] = None,
362
350
  client_secret_path: Optional[pulumi.Input[_builtins.str]] = None,
363
- oidc_audience: Optional[pulumi.Input[_builtins.str]] = None,
351
+ oidc_azure_service_connection_id: Optional[pulumi.Input[_builtins.str]] = None,
364
352
  oidc_request_token: Optional[pulumi.Input[_builtins.str]] = None,
365
353
  oidc_request_url: Optional[pulumi.Input[_builtins.str]] = None,
366
- oidc_tfc_tag: Optional[pulumi.Input[_builtins.str]] = None,
367
354
  oidc_token: Optional[pulumi.Input[_builtins.str]] = None,
368
355
  oidc_token_file_path: Optional[pulumi.Input[_builtins.str]] = None,
369
356
  org_service_url: Optional[pulumi.Input[_builtins.str]] = None,
370
357
  personal_access_token: Optional[pulumi.Input[_builtins.str]] = None,
371
358
  tenant_id: Optional[pulumi.Input[_builtins.str]] = None,
372
- tenant_id_apply: Optional[pulumi.Input[_builtins.str]] = None,
373
- tenant_id_plan: Optional[pulumi.Input[_builtins.str]] = None,
359
+ use_cli: Optional[pulumi.Input[_builtins.bool]] = None,
374
360
  use_msi: Optional[pulumi.Input[_builtins.bool]] = None,
375
361
  use_oidc: Optional[pulumi.Input[_builtins.bool]] = None,
376
362
  __props__=None):
@@ -382,13 +368,15 @@ class Provider(pulumi.ProviderResource):
382
368
 
383
369
  :param str resource_name: The name of the resource.
384
370
  :param pulumi.ResourceOptions opts: Options for the resource.
371
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] auxiliary_tenant_ids: List of auxiliary Tenant IDs required for multi-tenancy and cross-tenant scenarios.
385
372
  :param pulumi.Input[_builtins.str] client_certificate: Base64 encoded certificate to use to authenticate to the service principal.
386
373
  :param pulumi.Input[_builtins.str] client_certificate_password: Password for a client certificate password.
387
374
  :param pulumi.Input[_builtins.str] client_certificate_path: Path to a certificate to use to authenticate to the service principal.
388
- :param pulumi.Input[_builtins.str] client_id: The service principal client or managed service principal id which should be used.
375
+ :param pulumi.Input[_builtins.str] client_id: The service principal client id which should be used for AAD auth.
376
+ :param pulumi.Input[_builtins.str] client_id_file_path: The path to a file containing the Client ID which should be used.
389
377
  :param pulumi.Input[_builtins.str] client_secret: Client secret for authenticating to a service principal.
390
378
  :param pulumi.Input[_builtins.str] client_secret_path: Path to a file containing a client secret for authenticating to a service principal.
391
- :param pulumi.Input[_builtins.str] oidc_audience: Set the audience when requesting OIDC tokens.
379
+ :param pulumi.Input[_builtins.str] oidc_azure_service_connection_id: The Azure Pipelines Service Connection ID to use for authentication.
392
380
  :param pulumi.Input[_builtins.str] oidc_request_token: The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
393
381
  Connect.
394
382
  :param pulumi.Input[_builtins.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
@@ -397,9 +385,10 @@ class Provider(pulumi.ProviderResource):
397
385
  :param pulumi.Input[_builtins.str] oidc_token_file_path: OIDC token from file to authenticate as a service principal.
398
386
  :param pulumi.Input[_builtins.str] org_service_url: The url of the Azure DevOps instance which should be used.
399
387
  :param pulumi.Input[_builtins.str] personal_access_token: The personal access token which should be used.
400
- :param pulumi.Input[_builtins.str] tenant_id: The service principal tenant id which should be used.
401
- :param pulumi.Input[_builtins.bool] use_msi: Use an Azure Managed Service Identity.
402
- :param pulumi.Input[_builtins.bool] use_oidc: Use an OIDC token to authenticate to a service principal.
388
+ :param pulumi.Input[_builtins.str] tenant_id: The service principal tenant id which should be used for AAD auth.
389
+ :param pulumi.Input[_builtins.bool] use_cli: Use Azure CLI to authenticate. Defaults to `true`.
390
+ :param pulumi.Input[_builtins.bool] use_msi: Use an Azure Managed Service Identity. Defaults to `false`.
391
+ :param pulumi.Input[_builtins.bool] use_oidc: Use an OIDC token to authenticate to a service principal. Defaults to `false`.
403
392
  """
404
393
  ...
405
394
  @overload
@@ -428,25 +417,23 @@ class Provider(pulumi.ProviderResource):
428
417
  def _internal_init(__self__,
429
418
  resource_name: str,
430
419
  opts: Optional[pulumi.ResourceOptions] = None,
420
+ auxiliary_tenant_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
431
421
  client_certificate: Optional[pulumi.Input[_builtins.str]] = None,
432
422
  client_certificate_password: Optional[pulumi.Input[_builtins.str]] = None,
433
423
  client_certificate_path: Optional[pulumi.Input[_builtins.str]] = None,
434
424
  client_id: Optional[pulumi.Input[_builtins.str]] = None,
435
- client_id_apply: Optional[pulumi.Input[_builtins.str]] = None,
436
- client_id_plan: Optional[pulumi.Input[_builtins.str]] = None,
425
+ client_id_file_path: Optional[pulumi.Input[_builtins.str]] = None,
437
426
  client_secret: Optional[pulumi.Input[_builtins.str]] = None,
438
427
  client_secret_path: Optional[pulumi.Input[_builtins.str]] = None,
439
- oidc_audience: Optional[pulumi.Input[_builtins.str]] = None,
428
+ oidc_azure_service_connection_id: Optional[pulumi.Input[_builtins.str]] = None,
440
429
  oidc_request_token: Optional[pulumi.Input[_builtins.str]] = None,
441
430
  oidc_request_url: Optional[pulumi.Input[_builtins.str]] = None,
442
- oidc_tfc_tag: Optional[pulumi.Input[_builtins.str]] = None,
443
431
  oidc_token: Optional[pulumi.Input[_builtins.str]] = None,
444
432
  oidc_token_file_path: Optional[pulumi.Input[_builtins.str]] = None,
445
433
  org_service_url: Optional[pulumi.Input[_builtins.str]] = None,
446
434
  personal_access_token: Optional[pulumi.Input[_builtins.str]] = None,
447
435
  tenant_id: Optional[pulumi.Input[_builtins.str]] = None,
448
- tenant_id_apply: Optional[pulumi.Input[_builtins.str]] = None,
449
- tenant_id_plan: Optional[pulumi.Input[_builtins.str]] = None,
436
+ use_cli: Optional[pulumi.Input[_builtins.bool]] = None,
450
437
  use_msi: Optional[pulumi.Input[_builtins.bool]] = None,
451
438
  use_oidc: Optional[pulumi.Input[_builtins.bool]] = None,
452
439
  __props__=None):
@@ -458,18 +445,17 @@ class Provider(pulumi.ProviderResource):
458
445
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
459
446
  __props__ = ProviderArgs.__new__(ProviderArgs)
460
447
 
448
+ __props__.__dict__["auxiliary_tenant_ids"] = pulumi.Output.from_input(auxiliary_tenant_ids).apply(pulumi.runtime.to_json) if auxiliary_tenant_ids is not None else None
461
449
  __props__.__dict__["client_certificate"] = None if client_certificate is None else pulumi.Output.secret(client_certificate)
462
450
  __props__.__dict__["client_certificate_password"] = None if client_certificate_password is None else pulumi.Output.secret(client_certificate_password)
463
451
  __props__.__dict__["client_certificate_path"] = client_certificate_path
464
452
  __props__.__dict__["client_id"] = client_id
465
- __props__.__dict__["client_id_apply"] = client_id_apply
466
- __props__.__dict__["client_id_plan"] = client_id_plan
453
+ __props__.__dict__["client_id_file_path"] = client_id_file_path
467
454
  __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret)
468
455
  __props__.__dict__["client_secret_path"] = client_secret_path
469
- __props__.__dict__["oidc_audience"] = oidc_audience
456
+ __props__.__dict__["oidc_azure_service_connection_id"] = oidc_azure_service_connection_id
470
457
  __props__.__dict__["oidc_request_token"] = oidc_request_token
471
458
  __props__.__dict__["oidc_request_url"] = oidc_request_url
472
- __props__.__dict__["oidc_tfc_tag"] = oidc_tfc_tag
473
459
  __props__.__dict__["oidc_token"] = None if oidc_token is None else pulumi.Output.secret(oidc_token)
474
460
  __props__.__dict__["oidc_token_file_path"] = oidc_token_file_path
475
461
  if org_service_url is None:
@@ -477,8 +463,7 @@ class Provider(pulumi.ProviderResource):
477
463
  __props__.__dict__["org_service_url"] = org_service_url
478
464
  __props__.__dict__["personal_access_token"] = None if personal_access_token is None else pulumi.Output.secret(personal_access_token)
479
465
  __props__.__dict__["tenant_id"] = tenant_id
480
- __props__.__dict__["tenant_id_apply"] = tenant_id_apply
481
- __props__.__dict__["tenant_id_plan"] = tenant_id_plan
466
+ __props__.__dict__["use_cli"] = pulumi.Output.from_input(use_cli).apply(pulumi.runtime.to_json) if use_cli is not None else None
482
467
  __props__.__dict__["use_msi"] = pulumi.Output.from_input(use_msi).apply(pulumi.runtime.to_json) if use_msi is not None else None
483
468
  __props__.__dict__["use_oidc"] = pulumi.Output.from_input(use_oidc).apply(pulumi.runtime.to_json) if use_oidc is not None else None
484
469
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientCertificate", "clientCertificatePassword", "clientSecret", "oidcToken", "personalAccessToken"])
@@ -517,19 +502,17 @@ class Provider(pulumi.ProviderResource):
517
502
  @pulumi.getter(name="clientId")
518
503
  def client_id(self) -> pulumi.Output[Optional[_builtins.str]]:
519
504
  """
520
- The service principal client or managed service principal id which should be used.
505
+ The service principal client id which should be used for AAD auth.
521
506
  """
522
507
  return pulumi.get(self, "client_id")
523
508
 
524
509
  @_builtins.property
525
- @pulumi.getter(name="clientIdApply")
526
- def client_id_apply(self) -> pulumi.Output[Optional[_builtins.str]]:
527
- return pulumi.get(self, "client_id_apply")
528
-
529
- @_builtins.property
530
- @pulumi.getter(name="clientIdPlan")
531
- def client_id_plan(self) -> pulumi.Output[Optional[_builtins.str]]:
532
- return pulumi.get(self, "client_id_plan")
510
+ @pulumi.getter(name="clientIdFilePath")
511
+ def client_id_file_path(self) -> pulumi.Output[Optional[_builtins.str]]:
512
+ """
513
+ The path to a file containing the Client ID which should be used.
514
+ """
515
+ return pulumi.get(self, "client_id_file_path")
533
516
 
534
517
  @_builtins.property
535
518
  @pulumi.getter(name="clientSecret")
@@ -548,12 +531,12 @@ class Provider(pulumi.ProviderResource):
548
531
  return pulumi.get(self, "client_secret_path")
549
532
 
550
533
  @_builtins.property
551
- @pulumi.getter(name="oidcAudience")
552
- def oidc_audience(self) -> pulumi.Output[Optional[_builtins.str]]:
534
+ @pulumi.getter(name="oidcAzureServiceConnectionId")
535
+ def oidc_azure_service_connection_id(self) -> pulumi.Output[Optional[_builtins.str]]:
553
536
  """
554
- Set the audience when requesting OIDC tokens.
537
+ The Azure Pipelines Service Connection ID to use for authentication.
555
538
  """
556
- return pulumi.get(self, "oidc_audience")
539
+ return pulumi.get(self, "oidc_azure_service_connection_id")
557
540
 
558
541
  @_builtins.property
559
542
  @pulumi.getter(name="oidcRequestToken")
@@ -573,11 +556,6 @@ class Provider(pulumi.ProviderResource):
573
556
  """
574
557
  return pulumi.get(self, "oidc_request_url")
575
558
 
576
- @_builtins.property
577
- @pulumi.getter(name="oidcTfcTag")
578
- def oidc_tfc_tag(self) -> pulumi.Output[Optional[_builtins.str]]:
579
- return pulumi.get(self, "oidc_tfc_tag")
580
-
581
559
  @_builtins.property
582
560
  @pulumi.getter(name="oidcToken")
583
561
  def oidc_token(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -614,20 +592,10 @@ class Provider(pulumi.ProviderResource):
614
592
  @pulumi.getter(name="tenantId")
615
593
  def tenant_id(self) -> pulumi.Output[Optional[_builtins.str]]:
616
594
  """
617
- The service principal tenant id which should be used.
595
+ The service principal tenant id which should be used for AAD auth.
618
596
  """
619
597
  return pulumi.get(self, "tenant_id")
620
598
 
621
- @_builtins.property
622
- @pulumi.getter(name="tenantIdApply")
623
- def tenant_id_apply(self) -> pulumi.Output[Optional[_builtins.str]]:
624
- return pulumi.get(self, "tenant_id_apply")
625
-
626
- @_builtins.property
627
- @pulumi.getter(name="tenantIdPlan")
628
- def tenant_id_plan(self) -> pulumi.Output[Optional[_builtins.str]]:
629
- return pulumi.get(self, "tenant_id_plan")
630
-
631
599
  @pulumi.output_type
632
600
  class TerraformConfigResult:
633
601
  def __init__(__self__, result=None):
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "azuredevops",
4
- "version": "3.11.0-alpha.1755840258"
4
+ "version": "3.11.0-alpha.1756160177"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_azuredevops
3
- Version: 3.11.0a1755840258
3
+ Version: 3.11.0a1756160177
4
4
  Summary: A Pulumi package for creating and managing Azure DevOps.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -60,12 +60,12 @@ pulumi_azuredevops/get_serviceendpoint_sonarcloud.py,sha256=_JZfUDn3ecPdknO-0w2I
60
60
  pulumi_azuredevops/get_storage_key.py,sha256=ok5EJyUOiTy4cdo0IWkkxeo1kzaq86M1DBaPePXghz8,4870
61
61
  pulumi_azuredevops/get_team.py,sha256=7fMy9qFb9z-fZLCPk-Rt2zd8Zo7Hy4WN5yUdhg1zc-Y,8698
62
62
  pulumi_azuredevops/get_teams.py,sha256=Hk16w3tEk0qDAlKvRKol7lFEUR-juInrRrFtFYY_wDE,6460
63
- pulumi_azuredevops/get_user.py,sha256=uBZYv7z4SowxIiQF6HjyA6tkPkgrV1CH24stBUB9YaQ,7595
63
+ pulumi_azuredevops/get_user.py,sha256=Y8Yxhum5Vcvd6hJsATkvMM9Ha-m4mI_8sLzhFqu1CwI,8301
64
64
  pulumi_azuredevops/get_users.py,sha256=gdn9BJjO0Fimd32N2vXmCTFJ4FAquKljermryTfIxVE,12326
65
65
  pulumi_azuredevops/get_variable_group.py,sha256=S5ki9egOf2rVuLYM9wz7i8zEJ7KqI_22zzC5jA5xLaA,8383
66
66
  pulumi_azuredevops/git.py,sha256=G72nkUAQ7y7C6AWwmF1XqvVWNoR77YrDOrDMBvKc_qg,24425
67
67
  pulumi_azuredevops/git_permissions.py,sha256=1ofvVzg10_DI4LPfqvzr6ebYFR3cRJMa9vFVN5ikr7s,44886
68
- pulumi_azuredevops/git_repository_branch.py,sha256=lrde4Jk30u6lMj7VnihXHbAq6_X18TNfKAGf7BKnIZ0,19746
68
+ pulumi_azuredevops/git_repository_branch.py,sha256=2BDwqV6iFnp2BUEy18K0Vc3OfbmOHbnqYtqVvDKh6tM,20302
69
69
  pulumi_azuredevops/git_repository_file.py,sha256=gYl-isWK2mfyYW7ixutDX1mtCih3f1uA57CO3s2niM0,31329
70
70
  pulumi_azuredevops/group.py,sha256=AHoDuWVmipSyMhLC9jDGqXDaFsDWDxCqpp6xslld3kI,32894
71
71
  pulumi_azuredevops/group_entitlement.py,sha256=GfANBMhTSk0xU_OjoPxQ6B6qkko16OQMXdKqRlu-ZdE,25348
@@ -80,8 +80,8 @@ pulumi_azuredevops/project_features.py,sha256=E_agNojL1R3XW6x5I9UAvyVG23a5bbYYBL
80
80
  pulumi_azuredevops/project_permissions.py,sha256=c_q4Tsitk2VGsSvnPjwOCcLxqIRjGUP15ujXpH9pHH4,33333
81
81
  pulumi_azuredevops/project_pipeline_settings.py,sha256=wuTbsSs3Hog_gjDFWA3kQChxQC5KojsPYItdHil0v5M,27676
82
82
  pulumi_azuredevops/project_tags.py,sha256=n00a9M04nebYwPAzSXtrj6T4HNmFKXh_qY6i1e36Yfo,10554
83
- pulumi_azuredevops/provider.py,sha256=kTcQ9UKSuAbYNdK-GvDWoGEy71DSvdTTBC6leJFmKfc,32466
84
- pulumi_azuredevops/pulumi-plugin.json,sha256=1tPGUF6YJgSBVdjNYT4SvXNKTDhxt-MAC4gPLKZA15k,88
83
+ pulumi_azuredevops/provider.py,sha256=ONT_VVPXqJgbxWMQwfI-N8yvwdlARGfl-ZlGhB1TNsk,32376
84
+ pulumi_azuredevops/pulumi-plugin.json,sha256=cQVhHk1G1QZuLmhtjDptlPWRfLj7eibyH_HpquBbNqE,88
85
85
  pulumi_azuredevops/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  pulumi_azuredevops/queue.py,sha256=Vgpiuj0N7u5R249RDjLs-JFHEhDs_fk8de5tCjcJZes,15753
87
87
  pulumi_azuredevops/repository_policy_author_email_pattern.py,sha256=k7gOssM0fBlpnYvR8TybwF_4-rqNLN65856Ew7khsfg,22825
@@ -150,9 +150,9 @@ pulumi_azuredevops/wiki_page.py,sha256=JIAa_tmOLeBG6cSGxHo7SVIW2V_JsqaJGAm3X09o8
150
150
  pulumi_azuredevops/work_item_query_permissions.py,sha256=EdHO2rxbPvflOdhO2Aw-WOyh1nPsYmm7KKltM40RpbA,26897
151
151
  pulumi_azuredevops/workitem.py,sha256=-N4JwYjfiR7fWCEgWzzzZfVqYYqiYcGsdjNPs3eZo2s,33230
152
152
  pulumi_azuredevops/config/__init__.py,sha256=XWnQfVtc2oPapjSXXCdORFJvMpXt_SMJQASWdTRoPmc,296
153
- pulumi_azuredevops/config/__init__.pyi,sha256=9BxJj6m9aHL5X7Zlxoig03imEqCcz-oElxHmCVkU1VE,2383
154
- pulumi_azuredevops/config/vars.py,sha256=85uwWzCv1cKXJ4Hj3a743s-r3KDSP3-tbEcdNl7IvHU,4830
155
- pulumi_azuredevops-3.11.0a1755840258.dist-info/METADATA,sha256=VXRbHw9gLOQnuArrtLZh4lXCphYNXwBLm4U9fR6pYnU,2935
156
- pulumi_azuredevops-3.11.0a1755840258.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
157
- pulumi_azuredevops-3.11.0a1755840258.dist-info/top_level.txt,sha256=8XRS3pKzB2g--TmH4rHjGWlU-D7835DEQDV88pWf79Y,19
158
- pulumi_azuredevops-3.11.0a1755840258.dist-info/RECORD,,
153
+ pulumi_azuredevops/config/__init__.pyi,sha256=vfVAZsIC09Dxwen_civJWyoxVbKdsBGw-XTUgbDJWRY,2633
154
+ pulumi_azuredevops/config/vars.py,sha256=iRbwsqT4_6Az8RRxTAjMHRuSjXLJag7EjhpJEuNf5oc,5002
155
+ pulumi_azuredevops-3.11.0a1756160177.dist-info/METADATA,sha256=krgPbt7n9UqdAisQx773fNwjRsO4Nny0lYuK73G1VkM,2935
156
+ pulumi_azuredevops-3.11.0a1756160177.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
157
+ pulumi_azuredevops-3.11.0a1756160177.dist-info/top_level.txt,sha256=8XRS3pKzB2g--TmH4rHjGWlU-D7835DEQDV88pWf79Y,19
158
+ pulumi_azuredevops-3.11.0a1756160177.dist-info/RECORD,,