pulumi-azuredevops 3.5.0a1735017670__py3-none-any.whl → 3.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. pulumi_azuredevops/__init__.py +109 -0
  2. pulumi_azuredevops/_inputs.py +455 -175
  3. pulumi_azuredevops/area_permissions.py +49 -49
  4. pulumi_azuredevops/branch_policy_auto_reviewers.py +7 -7
  5. pulumi_azuredevops/branch_policy_build_validation.py +7 -7
  6. pulumi_azuredevops/branch_policy_comment_resolution.py +7 -7
  7. pulumi_azuredevops/branch_policy_merge_types.py +7 -7
  8. pulumi_azuredevops/branch_policy_status_check.py +7 -7
  9. pulumi_azuredevops/branch_policy_work_item_linking.py +7 -7
  10. pulumi_azuredevops/build_definition.py +196 -23
  11. pulumi_azuredevops/check_branch_control.py +7 -7
  12. pulumi_azuredevops/check_business_hours.py +7 -7
  13. pulumi_azuredevops/check_exclusive_lock.py +7 -7
  14. pulumi_azuredevops/check_rest_api.py +986 -0
  15. pulumi_azuredevops/feed.py +8 -8
  16. pulumi_azuredevops/feed_permission.py +9 -9
  17. pulumi_azuredevops/feed_retention_policy.py +422 -0
  18. pulumi_azuredevops/get_agent_queue.py +2 -2
  19. pulumi_azuredevops/get_area.py +1 -1
  20. pulumi_azuredevops/get_client_config.py +3 -0
  21. pulumi_azuredevops/get_feed.py +4 -4
  22. pulumi_azuredevops/get_git_repository.py +8 -8
  23. pulumi_azuredevops/get_group.py +4 -4
  24. pulumi_azuredevops/get_groups.py +3 -3
  25. pulumi_azuredevops/get_identity_group.py +3 -0
  26. pulumi_azuredevops/get_identity_groups.py +1 -1
  27. pulumi_azuredevops/get_identity_users.py +5 -5
  28. pulumi_azuredevops/get_pool.py +14 -2
  29. pulumi_azuredevops/get_pools.py +3 -3
  30. pulumi_azuredevops/get_project.py +32 -0
  31. pulumi_azuredevops/get_projects.py +4 -4
  32. pulumi_azuredevops/get_repositories.py +7 -3
  33. pulumi_azuredevops/get_securityrole_definitions.py +4 -4
  34. pulumi_azuredevops/get_service_endpoint_azure_rm.py +31 -17
  35. pulumi_azuredevops/get_service_endpoint_github.py +6 -6
  36. pulumi_azuredevops/get_service_principal.py +153 -0
  37. pulumi_azuredevops/get_serviceendpoint_azurecr.py +1 -1
  38. pulumi_azuredevops/get_serviceendpoint_bitbucket.py +6 -6
  39. pulumi_azuredevops/get_serviceendpoint_npm.py +3 -3
  40. pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +2 -2
  41. pulumi_azuredevops/get_team.py +4 -3
  42. pulumi_azuredevops/get_teams.py +2 -3
  43. pulumi_azuredevops/get_users.py +5 -9
  44. pulumi_azuredevops/git.py +7 -7
  45. pulumi_azuredevops/git_permissions.py +21 -28
  46. pulumi_azuredevops/git_repository_file.py +7 -14
  47. pulumi_azuredevops/group.py +21 -7
  48. pulumi_azuredevops/group_entitlement.py +16 -20
  49. pulumi_azuredevops/group_membership.py +35 -50
  50. pulumi_azuredevops/iterative_permissions.py +34 -34
  51. pulumi_azuredevops/library_permissions.py +75 -75
  52. pulumi_azuredevops/outputs.py +353 -143
  53. pulumi_azuredevops/pipeline_authorization.py +7 -7
  54. pulumi_azuredevops/pool.py +4 -4
  55. pulumi_azuredevops/project.py +114 -63
  56. pulumi_azuredevops/project_features.py +87 -45
  57. pulumi_azuredevops/project_permissions.py +7 -7
  58. pulumi_azuredevops/project_pipeline_settings.py +28 -35
  59. pulumi_azuredevops/project_tags.py +263 -0
  60. pulumi_azuredevops/pulumi-plugin.json +1 -1
  61. pulumi_azuredevops/queue.py +7 -14
  62. pulumi_azuredevops/repository_policy_author_email_pattern.py +21 -14
  63. pulumi_azuredevops/repository_policy_max_file_size.py +7 -7
  64. pulumi_azuredevops/resource_authorization.py +35 -35
  65. pulumi_azuredevops/securityrole_assignment.py +7 -7
  66. pulumi_azuredevops/service_endpoint_artifactory.py +24 -18
  67. pulumi_azuredevops/service_endpoint_aws.py +86 -41
  68. pulumi_azuredevops/service_endpoint_azure_ecr.py +13 -15
  69. pulumi_azuredevops/service_endpoint_azure_rm.py +99 -52
  70. pulumi_azuredevops/service_endpoint_bit_bucket.py +4 -4
  71. pulumi_azuredevops/service_endpoint_docker_registry.py +2 -2
  72. pulumi_azuredevops/service_endpoint_generic.py +2 -6
  73. pulumi_azuredevops/service_endpoint_generic_git.py +4 -8
  74. pulumi_azuredevops/service_endpoint_git_hub.py +15 -2
  75. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +15 -2
  76. pulumi_azuredevops/service_endpoint_git_lab.py +479 -0
  77. pulumi_azuredevops/service_endpoint_kubernetes.py +23 -23
  78. pulumi_azuredevops/service_endpoint_npm.py +4 -4
  79. pulumi_azuredevops/service_endpoint_pipeline.py +4 -4
  80. pulumi_azuredevops/service_endpoint_service_fabric.py +48 -9
  81. pulumi_azuredevops/service_endpoint_sonar_cloud.py +11 -11
  82. pulumi_azuredevops/service_endpoint_sonar_qube.py +11 -11
  83. pulumi_azuredevops/service_endpoint_ssh.py +2 -6
  84. pulumi_azuredevops/service_principal_entitlement.py +386 -0
  85. pulumi_azuredevops/serviceendpoint_argocd.py +2 -2
  86. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +429 -0
  87. pulumi_azuredevops/serviceendpoint_checkmarx_one.py +627 -0
  88. pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +575 -0
  89. pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +674 -0
  90. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +579 -0
  91. pulumi_azuredevops/serviceendpoint_externaltfs.py +63 -11
  92. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +2 -2
  93. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +2 -2
  94. pulumi_azuredevops/serviceendpoint_jenkins.py +2 -2
  95. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +18 -18
  96. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +18 -18
  97. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +18 -18
  98. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +18 -18
  99. pulumi_azuredevops/serviceendpoint_maven.py +2 -2
  100. pulumi_azuredevops/serviceendpoint_nexus.py +2 -2
  101. pulumi_azuredevops/serviceendpoint_nuget.py +2 -2
  102. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +2 -2
  103. pulumi_azuredevops/serviceendpoint_permissions.py +40 -40
  104. pulumi_azuredevops/serviceendpoint_snyk.py +429 -0
  105. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +541 -0
  106. pulumi_azuredevops/servicehook_permissions.py +51 -51
  107. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +4 -4
  108. pulumi_azuredevops/tagging_permissions.py +49 -49
  109. pulumi_azuredevops/team.py +76 -56
  110. pulumi_azuredevops/team_administrators.py +83 -56
  111. pulumi_azuredevops/team_members.py +56 -49
  112. pulumi_azuredevops/user.py +22 -2
  113. pulumi_azuredevops/variable_group.py +4 -2
  114. pulumi_azuredevops/variable_group_permissions.py +75 -75
  115. pulumi_azuredevops/wiki.py +15 -2
  116. pulumi_azuredevops/wiki_page.py +2 -2
  117. pulumi_azuredevops/work_item_query_permissions.py +7 -7
  118. {pulumi_azuredevops-3.5.0a1735017670.dist-info → pulumi_azuredevops-3.6.0.dist-info}/METADATA +2 -2
  119. pulumi_azuredevops-3.6.0.dist-info/RECORD +148 -0
  120. {pulumi_azuredevops-3.5.0a1735017670.dist-info → pulumi_azuredevops-3.6.0.dist-info}/WHEEL +1 -1
  121. pulumi_azuredevops-3.5.0a1735017670.dist-info/RECORD +0 -135
  122. {pulumi_azuredevops-3.5.0a1735017670.dist-info → pulumi_azuredevops-3.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,541 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['ServiceendpointVisualstudiomarketplaceArgs', 'ServiceendpointVisualstudiomarketplace']
20
+
21
+ @pulumi.input_type
22
+ class ServiceendpointVisualstudiomarketplaceArgs:
23
+ def __init__(__self__, *,
24
+ project_id: pulumi.Input[str],
25
+ service_endpoint_name: pulumi.Input[str],
26
+ url: pulumi.Input[str],
27
+ authentication_basic: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs']] = None,
28
+ authentication_token: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs']] = None,
29
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
+ description: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a ServiceendpointVisualstudiomarketplace resource.
33
+ :param pulumi.Input[str] project_id: The ID of the project.
34
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
35
+ :param pulumi.Input[str] url: The server URL for Visual Studio Marketplace.
36
+ :param pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs'] authentication_basic: An `authentication_basic` block as documented below.
37
+
38
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
39
+ :param pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs'] authentication_token: An `authentication_token` block as documented below.
40
+ """
41
+ pulumi.set(__self__, "project_id", project_id)
42
+ pulumi.set(__self__, "service_endpoint_name", service_endpoint_name)
43
+ pulumi.set(__self__, "url", url)
44
+ if authentication_basic is not None:
45
+ pulumi.set(__self__, "authentication_basic", authentication_basic)
46
+ if authentication_token is not None:
47
+ pulumi.set(__self__, "authentication_token", authentication_token)
48
+ if authorization is not None:
49
+ pulumi.set(__self__, "authorization", authorization)
50
+ if description is not None:
51
+ pulumi.set(__self__, "description", description)
52
+
53
+ @property
54
+ @pulumi.getter(name="projectId")
55
+ def project_id(self) -> pulumi.Input[str]:
56
+ """
57
+ The ID of the project.
58
+ """
59
+ return pulumi.get(self, "project_id")
60
+
61
+ @project_id.setter
62
+ def project_id(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "project_id", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="serviceEndpointName")
67
+ def service_endpoint_name(self) -> pulumi.Input[str]:
68
+ """
69
+ The Service Endpoint name.
70
+ """
71
+ return pulumi.get(self, "service_endpoint_name")
72
+
73
+ @service_endpoint_name.setter
74
+ def service_endpoint_name(self, value: pulumi.Input[str]):
75
+ pulumi.set(self, "service_endpoint_name", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def url(self) -> pulumi.Input[str]:
80
+ """
81
+ The server URL for Visual Studio Marketplace.
82
+ """
83
+ return pulumi.get(self, "url")
84
+
85
+ @url.setter
86
+ def url(self, value: pulumi.Input[str]):
87
+ pulumi.set(self, "url", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="authenticationBasic")
91
+ def authentication_basic(self) -> Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs']]:
92
+ """
93
+ An `authentication_basic` block as documented below.
94
+
95
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
96
+ """
97
+ return pulumi.get(self, "authentication_basic")
98
+
99
+ @authentication_basic.setter
100
+ def authentication_basic(self, value: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs']]):
101
+ pulumi.set(self, "authentication_basic", value)
102
+
103
+ @property
104
+ @pulumi.getter(name="authenticationToken")
105
+ def authentication_token(self) -> Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs']]:
106
+ """
107
+ An `authentication_token` block as documented below.
108
+ """
109
+ return pulumi.get(self, "authentication_token")
110
+
111
+ @authentication_token.setter
112
+ def authentication_token(self, value: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs']]):
113
+ pulumi.set(self, "authentication_token", value)
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def authorization(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
118
+ return pulumi.get(self, "authorization")
119
+
120
+ @authorization.setter
121
+ def authorization(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
122
+ pulumi.set(self, "authorization", value)
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def description(self) -> Optional[pulumi.Input[str]]:
127
+ return pulumi.get(self, "description")
128
+
129
+ @description.setter
130
+ def description(self, value: Optional[pulumi.Input[str]]):
131
+ pulumi.set(self, "description", value)
132
+
133
+
134
+ @pulumi.input_type
135
+ class _ServiceendpointVisualstudiomarketplaceState:
136
+ def __init__(__self__, *,
137
+ authentication_basic: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs']] = None,
138
+ authentication_token: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs']] = None,
139
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
140
+ description: Optional[pulumi.Input[str]] = None,
141
+ project_id: Optional[pulumi.Input[str]] = None,
142
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
143
+ url: Optional[pulumi.Input[str]] = None):
144
+ """
145
+ Input properties used for looking up and filtering ServiceendpointVisualstudiomarketplace resources.
146
+ :param pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs'] authentication_basic: An `authentication_basic` block as documented below.
147
+
148
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
149
+ :param pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs'] authentication_token: An `authentication_token` block as documented below.
150
+ :param pulumi.Input[str] project_id: The ID of the project.
151
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
152
+ :param pulumi.Input[str] url: The server URL for Visual Studio Marketplace.
153
+ """
154
+ if authentication_basic is not None:
155
+ pulumi.set(__self__, "authentication_basic", authentication_basic)
156
+ if authentication_token is not None:
157
+ pulumi.set(__self__, "authentication_token", authentication_token)
158
+ if authorization is not None:
159
+ pulumi.set(__self__, "authorization", authorization)
160
+ if description is not None:
161
+ pulumi.set(__self__, "description", description)
162
+ if project_id is not None:
163
+ pulumi.set(__self__, "project_id", project_id)
164
+ if service_endpoint_name is not None:
165
+ pulumi.set(__self__, "service_endpoint_name", service_endpoint_name)
166
+ if url is not None:
167
+ pulumi.set(__self__, "url", url)
168
+
169
+ @property
170
+ @pulumi.getter(name="authenticationBasic")
171
+ def authentication_basic(self) -> Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs']]:
172
+ """
173
+ An `authentication_basic` block as documented below.
174
+
175
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
176
+ """
177
+ return pulumi.get(self, "authentication_basic")
178
+
179
+ @authentication_basic.setter
180
+ def authentication_basic(self, value: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs']]):
181
+ pulumi.set(self, "authentication_basic", value)
182
+
183
+ @property
184
+ @pulumi.getter(name="authenticationToken")
185
+ def authentication_token(self) -> Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs']]:
186
+ """
187
+ An `authentication_token` block as documented below.
188
+ """
189
+ return pulumi.get(self, "authentication_token")
190
+
191
+ @authentication_token.setter
192
+ def authentication_token(self, value: Optional[pulumi.Input['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs']]):
193
+ pulumi.set(self, "authentication_token", value)
194
+
195
+ @property
196
+ @pulumi.getter
197
+ def authorization(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
198
+ return pulumi.get(self, "authorization")
199
+
200
+ @authorization.setter
201
+ def authorization(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
202
+ pulumi.set(self, "authorization", value)
203
+
204
+ @property
205
+ @pulumi.getter
206
+ def description(self) -> Optional[pulumi.Input[str]]:
207
+ return pulumi.get(self, "description")
208
+
209
+ @description.setter
210
+ def description(self, value: Optional[pulumi.Input[str]]):
211
+ pulumi.set(self, "description", value)
212
+
213
+ @property
214
+ @pulumi.getter(name="projectId")
215
+ def project_id(self) -> Optional[pulumi.Input[str]]:
216
+ """
217
+ The ID of the project.
218
+ """
219
+ return pulumi.get(self, "project_id")
220
+
221
+ @project_id.setter
222
+ def project_id(self, value: Optional[pulumi.Input[str]]):
223
+ pulumi.set(self, "project_id", value)
224
+
225
+ @property
226
+ @pulumi.getter(name="serviceEndpointName")
227
+ def service_endpoint_name(self) -> Optional[pulumi.Input[str]]:
228
+ """
229
+ The Service Endpoint name.
230
+ """
231
+ return pulumi.get(self, "service_endpoint_name")
232
+
233
+ @service_endpoint_name.setter
234
+ def service_endpoint_name(self, value: Optional[pulumi.Input[str]]):
235
+ pulumi.set(self, "service_endpoint_name", value)
236
+
237
+ @property
238
+ @pulumi.getter
239
+ def url(self) -> Optional[pulumi.Input[str]]:
240
+ """
241
+ The server URL for Visual Studio Marketplace.
242
+ """
243
+ return pulumi.get(self, "url")
244
+
245
+ @url.setter
246
+ def url(self, value: Optional[pulumi.Input[str]]):
247
+ pulumi.set(self, "url", value)
248
+
249
+
250
+ class ServiceendpointVisualstudiomarketplace(pulumi.CustomResource):
251
+ @overload
252
+ def __init__(__self__,
253
+ resource_name: str,
254
+ opts: Optional[pulumi.ResourceOptions] = None,
255
+ authentication_basic: Optional[pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgsDict']]] = None,
256
+ authentication_token: Optional[pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgsDict']]] = None,
257
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
258
+ description: Optional[pulumi.Input[str]] = None,
259
+ project_id: Optional[pulumi.Input[str]] = None,
260
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
261
+ url: Optional[pulumi.Input[str]] = None,
262
+ __props__=None):
263
+ """
264
+ Manages a Visual Studio Marketplace service endpoint within Azure DevOps. Using this service endpoint requires you to install: [Azure DevOps Extension Tasks](https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-developer-tools-build-tasks)
265
+
266
+ ## Example Usage
267
+
268
+ ### Authorize with token
269
+ ```python
270
+ import pulumi
271
+ import pulumi_azuredevops as azuredevops
272
+
273
+ example = azuredevops.Project("example",
274
+ name="Example Project",
275
+ visibility="private",
276
+ version_control="Git",
277
+ work_item_template="Agile",
278
+ description="Managed by Pulumi")
279
+ example_serviceendpoint_visualstudiomarketplace = azuredevops.ServiceendpointVisualstudiomarketplace("example",
280
+ project_id=example.id,
281
+ service_endpoint_name="Example Marketplace",
282
+ url="https://markpetplace.com",
283
+ authentication_token={
284
+ "token": "token",
285
+ },
286
+ description="Managed by Pulumi")
287
+ ```
288
+
289
+ ### Authorize with username and password
290
+
291
+ ```python
292
+ import pulumi
293
+ import pulumi_azuredevops as azuredevops
294
+
295
+ example = azuredevops.Project("example",
296
+ name="Example Project",
297
+ visibility="private",
298
+ version_control="Git",
299
+ work_item_template="Agile",
300
+ description="Managed by Pulumi")
301
+ example_serviceendpoint_visualstudiomarketplace = azuredevops.ServiceendpointVisualstudiomarketplace("example",
302
+ project_id=example.id,
303
+ service_endpoint_name="Example Marketplace",
304
+ url="https://markpetplace.com",
305
+ authentication_basic={
306
+ "username": "username",
307
+ "password": "password",
308
+ },
309
+ description="Managed by Pulumi")
310
+ ```
311
+
312
+ ## Relevant Links
313
+
314
+ - [Azure DevOps Service REST API 7.0 - Endpoints](https://docs.microsoft.com/en-us/rest/api/azure/devops/serviceendpoint/endpoints?view=azure-devops-rest-7.0)
315
+
316
+ ## Import
317
+
318
+ Azure DevOps Visual Studio Marketplace Service Endpoint can be imported using **projectID/serviceEndpointID** or **projectName/serviceEndpointID**
319
+
320
+ ```sh
321
+ $ pulumi import azuredevops:index/serviceendpointVisualstudiomarketplace:ServiceendpointVisualstudiomarketplace example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
322
+ ```
323
+
324
+ :param str resource_name: The name of the resource.
325
+ :param pulumi.ResourceOptions opts: Options for the resource.
326
+ :param pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgsDict']] authentication_basic: An `authentication_basic` block as documented below.
327
+
328
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
329
+ :param pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgsDict']] authentication_token: An `authentication_token` block as documented below.
330
+ :param pulumi.Input[str] project_id: The ID of the project.
331
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
332
+ :param pulumi.Input[str] url: The server URL for Visual Studio Marketplace.
333
+ """
334
+ ...
335
+ @overload
336
+ def __init__(__self__,
337
+ resource_name: str,
338
+ args: ServiceendpointVisualstudiomarketplaceArgs,
339
+ opts: Optional[pulumi.ResourceOptions] = None):
340
+ """
341
+ Manages a Visual Studio Marketplace service endpoint within Azure DevOps. Using this service endpoint requires you to install: [Azure DevOps Extension Tasks](https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-developer-tools-build-tasks)
342
+
343
+ ## Example Usage
344
+
345
+ ### Authorize with token
346
+ ```python
347
+ import pulumi
348
+ import pulumi_azuredevops as azuredevops
349
+
350
+ example = azuredevops.Project("example",
351
+ name="Example Project",
352
+ visibility="private",
353
+ version_control="Git",
354
+ work_item_template="Agile",
355
+ description="Managed by Pulumi")
356
+ example_serviceendpoint_visualstudiomarketplace = azuredevops.ServiceendpointVisualstudiomarketplace("example",
357
+ project_id=example.id,
358
+ service_endpoint_name="Example Marketplace",
359
+ url="https://markpetplace.com",
360
+ authentication_token={
361
+ "token": "token",
362
+ },
363
+ description="Managed by Pulumi")
364
+ ```
365
+
366
+ ### Authorize with username and password
367
+
368
+ ```python
369
+ import pulumi
370
+ import pulumi_azuredevops as azuredevops
371
+
372
+ example = azuredevops.Project("example",
373
+ name="Example Project",
374
+ visibility="private",
375
+ version_control="Git",
376
+ work_item_template="Agile",
377
+ description="Managed by Pulumi")
378
+ example_serviceendpoint_visualstudiomarketplace = azuredevops.ServiceendpointVisualstudiomarketplace("example",
379
+ project_id=example.id,
380
+ service_endpoint_name="Example Marketplace",
381
+ url="https://markpetplace.com",
382
+ authentication_basic={
383
+ "username": "username",
384
+ "password": "password",
385
+ },
386
+ description="Managed by Pulumi")
387
+ ```
388
+
389
+ ## Relevant Links
390
+
391
+ - [Azure DevOps Service REST API 7.0 - Endpoints](https://docs.microsoft.com/en-us/rest/api/azure/devops/serviceendpoint/endpoints?view=azure-devops-rest-7.0)
392
+
393
+ ## Import
394
+
395
+ Azure DevOps Visual Studio Marketplace Service Endpoint can be imported using **projectID/serviceEndpointID** or **projectName/serviceEndpointID**
396
+
397
+ ```sh
398
+ $ pulumi import azuredevops:index/serviceendpointVisualstudiomarketplace:ServiceendpointVisualstudiomarketplace example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
399
+ ```
400
+
401
+ :param str resource_name: The name of the resource.
402
+ :param ServiceendpointVisualstudiomarketplaceArgs args: The arguments to use to populate this resource's properties.
403
+ :param pulumi.ResourceOptions opts: Options for the resource.
404
+ """
405
+ ...
406
+ def __init__(__self__, resource_name: str, *args, **kwargs):
407
+ resource_args, opts = _utilities.get_resource_args_opts(ServiceendpointVisualstudiomarketplaceArgs, pulumi.ResourceOptions, *args, **kwargs)
408
+ if resource_args is not None:
409
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
410
+ else:
411
+ __self__._internal_init(resource_name, *args, **kwargs)
412
+
413
+ def _internal_init(__self__,
414
+ resource_name: str,
415
+ opts: Optional[pulumi.ResourceOptions] = None,
416
+ authentication_basic: Optional[pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgsDict']]] = None,
417
+ authentication_token: Optional[pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgsDict']]] = None,
418
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
419
+ description: Optional[pulumi.Input[str]] = None,
420
+ project_id: Optional[pulumi.Input[str]] = None,
421
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
422
+ url: Optional[pulumi.Input[str]] = None,
423
+ __props__=None):
424
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
425
+ if not isinstance(opts, pulumi.ResourceOptions):
426
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
427
+ if opts.id is None:
428
+ if __props__ is not None:
429
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
430
+ __props__ = ServiceendpointVisualstudiomarketplaceArgs.__new__(ServiceendpointVisualstudiomarketplaceArgs)
431
+
432
+ __props__.__dict__["authentication_basic"] = authentication_basic
433
+ __props__.__dict__["authentication_token"] = authentication_token
434
+ __props__.__dict__["authorization"] = authorization
435
+ __props__.__dict__["description"] = description
436
+ if project_id is None and not opts.urn:
437
+ raise TypeError("Missing required property 'project_id'")
438
+ __props__.__dict__["project_id"] = project_id
439
+ if service_endpoint_name is None and not opts.urn:
440
+ raise TypeError("Missing required property 'service_endpoint_name'")
441
+ __props__.__dict__["service_endpoint_name"] = service_endpoint_name
442
+ if url is None and not opts.urn:
443
+ raise TypeError("Missing required property 'url'")
444
+ __props__.__dict__["url"] = url
445
+ super(ServiceendpointVisualstudiomarketplace, __self__).__init__(
446
+ 'azuredevops:index/serviceendpointVisualstudiomarketplace:ServiceendpointVisualstudiomarketplace',
447
+ resource_name,
448
+ __props__,
449
+ opts)
450
+
451
+ @staticmethod
452
+ def get(resource_name: str,
453
+ id: pulumi.Input[str],
454
+ opts: Optional[pulumi.ResourceOptions] = None,
455
+ authentication_basic: Optional[pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgsDict']]] = None,
456
+ authentication_token: Optional[pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgsDict']]] = None,
457
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
458
+ description: Optional[pulumi.Input[str]] = None,
459
+ project_id: Optional[pulumi.Input[str]] = None,
460
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
461
+ url: Optional[pulumi.Input[str]] = None) -> 'ServiceendpointVisualstudiomarketplace':
462
+ """
463
+ Get an existing ServiceendpointVisualstudiomarketplace resource's state with the given name, id, and optional extra
464
+ properties used to qualify the lookup.
465
+
466
+ :param str resource_name: The unique name of the resulting resource.
467
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
468
+ :param pulumi.ResourceOptions opts: Options for the resource.
469
+ :param pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationBasicArgsDict']] authentication_basic: An `authentication_basic` block as documented below.
470
+
471
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
472
+ :param pulumi.Input[Union['ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgs', 'ServiceendpointVisualstudiomarketplaceAuthenticationTokenArgsDict']] authentication_token: An `authentication_token` block as documented below.
473
+ :param pulumi.Input[str] project_id: The ID of the project.
474
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
475
+ :param pulumi.Input[str] url: The server URL for Visual Studio Marketplace.
476
+ """
477
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
478
+
479
+ __props__ = _ServiceendpointVisualstudiomarketplaceState.__new__(_ServiceendpointVisualstudiomarketplaceState)
480
+
481
+ __props__.__dict__["authentication_basic"] = authentication_basic
482
+ __props__.__dict__["authentication_token"] = authentication_token
483
+ __props__.__dict__["authorization"] = authorization
484
+ __props__.__dict__["description"] = description
485
+ __props__.__dict__["project_id"] = project_id
486
+ __props__.__dict__["service_endpoint_name"] = service_endpoint_name
487
+ __props__.__dict__["url"] = url
488
+ return ServiceendpointVisualstudiomarketplace(resource_name, opts=opts, __props__=__props__)
489
+
490
+ @property
491
+ @pulumi.getter(name="authenticationBasic")
492
+ def authentication_basic(self) -> pulumi.Output[Optional['outputs.ServiceendpointVisualstudiomarketplaceAuthenticationBasic']]:
493
+ """
494
+ An `authentication_basic` block as documented below.
495
+
496
+ > **NOTE:** `authentication_basic` and `authentication_token` conflict with each other, only one is required.
497
+ """
498
+ return pulumi.get(self, "authentication_basic")
499
+
500
+ @property
501
+ @pulumi.getter(name="authenticationToken")
502
+ def authentication_token(self) -> pulumi.Output[Optional['outputs.ServiceendpointVisualstudiomarketplaceAuthenticationToken']]:
503
+ """
504
+ An `authentication_token` block as documented below.
505
+ """
506
+ return pulumi.get(self, "authentication_token")
507
+
508
+ @property
509
+ @pulumi.getter
510
+ def authorization(self) -> pulumi.Output[Mapping[str, str]]:
511
+ return pulumi.get(self, "authorization")
512
+
513
+ @property
514
+ @pulumi.getter
515
+ def description(self) -> pulumi.Output[Optional[str]]:
516
+ return pulumi.get(self, "description")
517
+
518
+ @property
519
+ @pulumi.getter(name="projectId")
520
+ def project_id(self) -> pulumi.Output[str]:
521
+ """
522
+ The ID of the project.
523
+ """
524
+ return pulumi.get(self, "project_id")
525
+
526
+ @property
527
+ @pulumi.getter(name="serviceEndpointName")
528
+ def service_endpoint_name(self) -> pulumi.Output[str]:
529
+ """
530
+ The Service Endpoint name.
531
+ """
532
+ return pulumi.get(self, "service_endpoint_name")
533
+
534
+ @property
535
+ @pulumi.getter
536
+ def url(self) -> pulumi.Output[str]:
537
+ """
538
+ The server URL for Visual Studio Marketplace.
539
+ """
540
+ return pulumi.get(self, "url")
541
+