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
@@ -0,0 +1,429 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['ServiceendpointSnykArgs', 'ServiceendpointSnyk']
18
+
19
+ @pulumi.input_type
20
+ class ServiceendpointSnykArgs:
21
+ def __init__(__self__, *,
22
+ api_token: pulumi.Input[str],
23
+ project_id: pulumi.Input[str],
24
+ server_url: pulumi.Input[str],
25
+ service_endpoint_name: pulumi.Input[str],
26
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
+ description: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a ServiceendpointSnyk resource.
30
+ :param pulumi.Input[str] api_token: The API token of the Snyk Security Scan.
31
+ :param pulumi.Input[str] project_id: The ID of the project.
32
+ :param pulumi.Input[str] server_url: The server URL of the Snyk Security Scan.
33
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
34
+ """
35
+ pulumi.set(__self__, "api_token", api_token)
36
+ pulumi.set(__self__, "project_id", project_id)
37
+ pulumi.set(__self__, "server_url", server_url)
38
+ pulumi.set(__self__, "service_endpoint_name", service_endpoint_name)
39
+ if authorization is not None:
40
+ pulumi.set(__self__, "authorization", authorization)
41
+ if description is not None:
42
+ pulumi.set(__self__, "description", description)
43
+
44
+ @property
45
+ @pulumi.getter(name="apiToken")
46
+ def api_token(self) -> pulumi.Input[str]:
47
+ """
48
+ The API token of the Snyk Security Scan.
49
+ """
50
+ return pulumi.get(self, "api_token")
51
+
52
+ @api_token.setter
53
+ def api_token(self, value: pulumi.Input[str]):
54
+ pulumi.set(self, "api_token", value)
55
+
56
+ @property
57
+ @pulumi.getter(name="projectId")
58
+ def project_id(self) -> pulumi.Input[str]:
59
+ """
60
+ The ID of the project.
61
+ """
62
+ return pulumi.get(self, "project_id")
63
+
64
+ @project_id.setter
65
+ def project_id(self, value: pulumi.Input[str]):
66
+ pulumi.set(self, "project_id", value)
67
+
68
+ @property
69
+ @pulumi.getter(name="serverUrl")
70
+ def server_url(self) -> pulumi.Input[str]:
71
+ """
72
+ The server URL of the Snyk Security Scan.
73
+ """
74
+ return pulumi.get(self, "server_url")
75
+
76
+ @server_url.setter
77
+ def server_url(self, value: pulumi.Input[str]):
78
+ pulumi.set(self, "server_url", value)
79
+
80
+ @property
81
+ @pulumi.getter(name="serviceEndpointName")
82
+ def service_endpoint_name(self) -> pulumi.Input[str]:
83
+ """
84
+ The Service Endpoint name.
85
+ """
86
+ return pulumi.get(self, "service_endpoint_name")
87
+
88
+ @service_endpoint_name.setter
89
+ def service_endpoint_name(self, value: pulumi.Input[str]):
90
+ pulumi.set(self, "service_endpoint_name", value)
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def authorization(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
95
+ return pulumi.get(self, "authorization")
96
+
97
+ @authorization.setter
98
+ def authorization(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
99
+ pulumi.set(self, "authorization", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def description(self) -> Optional[pulumi.Input[str]]:
104
+ return pulumi.get(self, "description")
105
+
106
+ @description.setter
107
+ def description(self, value: Optional[pulumi.Input[str]]):
108
+ pulumi.set(self, "description", value)
109
+
110
+
111
+ @pulumi.input_type
112
+ class _ServiceendpointSnykState:
113
+ def __init__(__self__, *,
114
+ api_token: Optional[pulumi.Input[str]] = None,
115
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
116
+ description: Optional[pulumi.Input[str]] = None,
117
+ project_id: Optional[pulumi.Input[str]] = None,
118
+ server_url: Optional[pulumi.Input[str]] = None,
119
+ service_endpoint_name: Optional[pulumi.Input[str]] = None):
120
+ """
121
+ Input properties used for looking up and filtering ServiceendpointSnyk resources.
122
+ :param pulumi.Input[str] api_token: The API token of the Snyk Security Scan.
123
+ :param pulumi.Input[str] project_id: The ID of the project.
124
+ :param pulumi.Input[str] server_url: The server URL of the Snyk Security Scan.
125
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
126
+ """
127
+ if api_token is not None:
128
+ pulumi.set(__self__, "api_token", api_token)
129
+ if authorization is not None:
130
+ pulumi.set(__self__, "authorization", authorization)
131
+ if description is not None:
132
+ pulumi.set(__self__, "description", description)
133
+ if project_id is not None:
134
+ pulumi.set(__self__, "project_id", project_id)
135
+ if server_url is not None:
136
+ pulumi.set(__self__, "server_url", server_url)
137
+ if service_endpoint_name is not None:
138
+ pulumi.set(__self__, "service_endpoint_name", service_endpoint_name)
139
+
140
+ @property
141
+ @pulumi.getter(name="apiToken")
142
+ def api_token(self) -> Optional[pulumi.Input[str]]:
143
+ """
144
+ The API token of the Snyk Security Scan.
145
+ """
146
+ return pulumi.get(self, "api_token")
147
+
148
+ @api_token.setter
149
+ def api_token(self, value: Optional[pulumi.Input[str]]):
150
+ pulumi.set(self, "api_token", value)
151
+
152
+ @property
153
+ @pulumi.getter
154
+ def authorization(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
155
+ return pulumi.get(self, "authorization")
156
+
157
+ @authorization.setter
158
+ def authorization(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
159
+ pulumi.set(self, "authorization", value)
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def description(self) -> Optional[pulumi.Input[str]]:
164
+ return pulumi.get(self, "description")
165
+
166
+ @description.setter
167
+ def description(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "description", value)
169
+
170
+ @property
171
+ @pulumi.getter(name="projectId")
172
+ def project_id(self) -> Optional[pulumi.Input[str]]:
173
+ """
174
+ The ID of the project.
175
+ """
176
+ return pulumi.get(self, "project_id")
177
+
178
+ @project_id.setter
179
+ def project_id(self, value: Optional[pulumi.Input[str]]):
180
+ pulumi.set(self, "project_id", value)
181
+
182
+ @property
183
+ @pulumi.getter(name="serverUrl")
184
+ def server_url(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ The server URL of the Snyk Security Scan.
187
+ """
188
+ return pulumi.get(self, "server_url")
189
+
190
+ @server_url.setter
191
+ def server_url(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "server_url", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="serviceEndpointName")
196
+ def service_endpoint_name(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The Service Endpoint name.
199
+ """
200
+ return pulumi.get(self, "service_endpoint_name")
201
+
202
+ @service_endpoint_name.setter
203
+ def service_endpoint_name(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "service_endpoint_name", value)
205
+
206
+
207
+ class ServiceendpointSnyk(pulumi.CustomResource):
208
+ @overload
209
+ def __init__(__self__,
210
+ resource_name: str,
211
+ opts: Optional[pulumi.ResourceOptions] = None,
212
+ api_token: Optional[pulumi.Input[str]] = None,
213
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
214
+ description: Optional[pulumi.Input[str]] = None,
215
+ project_id: Optional[pulumi.Input[str]] = None,
216
+ server_url: Optional[pulumi.Input[str]] = None,
217
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
218
+ __props__=None):
219
+ """
220
+ Manages a Snyk Security Scan service endpoint within Azure DevOps. Using this service endpoint requires you to install: [Snyk Security Scan](https://marketplace.visualstudio.com/items?itemName=Snyk.snyk-security-scan)
221
+
222
+ ## Example Usage
223
+
224
+ ```python
225
+ import pulumi
226
+ import pulumi_azuredevops as azuredevops
227
+
228
+ example = azuredevops.Project("example",
229
+ name="Example Project",
230
+ visibility="private",
231
+ version_control="Git",
232
+ work_item_template="Agile",
233
+ description="Managed by Pulumi")
234
+ example_serviceendpoint_snyk = azuredevops.ServiceendpointSnyk("example",
235
+ project_id=example.id,
236
+ server_url="https://snyk.io/",
237
+ api_token="00000000-0000-0000-0000-000000000000",
238
+ service_endpoint_name="Example Snyk",
239
+ description="Managed by Pulumi")
240
+ ```
241
+
242
+ ## Relevant Links
243
+
244
+ - [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)
245
+
246
+ ## Import
247
+
248
+ Azure DevOps Service Endpoint Snyk can be imported using **projectID/serviceEndpointID** or **projectName/serviceEndpointID**
249
+
250
+ ```sh
251
+ $ pulumi import azuredevops:index/serviceendpointSnyk:ServiceendpointSnyk example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
252
+ ```
253
+
254
+ :param str resource_name: The name of the resource.
255
+ :param pulumi.ResourceOptions opts: Options for the resource.
256
+ :param pulumi.Input[str] api_token: The API token of the Snyk Security Scan.
257
+ :param pulumi.Input[str] project_id: The ID of the project.
258
+ :param pulumi.Input[str] server_url: The server URL of the Snyk Security Scan.
259
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
260
+ """
261
+ ...
262
+ @overload
263
+ def __init__(__self__,
264
+ resource_name: str,
265
+ args: ServiceendpointSnykArgs,
266
+ opts: Optional[pulumi.ResourceOptions] = None):
267
+ """
268
+ Manages a Snyk Security Scan service endpoint within Azure DevOps. Using this service endpoint requires you to install: [Snyk Security Scan](https://marketplace.visualstudio.com/items?itemName=Snyk.snyk-security-scan)
269
+
270
+ ## Example Usage
271
+
272
+ ```python
273
+ import pulumi
274
+ import pulumi_azuredevops as azuredevops
275
+
276
+ example = azuredevops.Project("example",
277
+ name="Example Project",
278
+ visibility="private",
279
+ version_control="Git",
280
+ work_item_template="Agile",
281
+ description="Managed by Pulumi")
282
+ example_serviceendpoint_snyk = azuredevops.ServiceendpointSnyk("example",
283
+ project_id=example.id,
284
+ server_url="https://snyk.io/",
285
+ api_token="00000000-0000-0000-0000-000000000000",
286
+ service_endpoint_name="Example Snyk",
287
+ description="Managed by Pulumi")
288
+ ```
289
+
290
+ ## Relevant Links
291
+
292
+ - [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)
293
+
294
+ ## Import
295
+
296
+ Azure DevOps Service Endpoint Snyk can be imported using **projectID/serviceEndpointID** or **projectName/serviceEndpointID**
297
+
298
+ ```sh
299
+ $ pulumi import azuredevops:index/serviceendpointSnyk:ServiceendpointSnyk example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
300
+ ```
301
+
302
+ :param str resource_name: The name of the resource.
303
+ :param ServiceendpointSnykArgs args: The arguments to use to populate this resource's properties.
304
+ :param pulumi.ResourceOptions opts: Options for the resource.
305
+ """
306
+ ...
307
+ def __init__(__self__, resource_name: str, *args, **kwargs):
308
+ resource_args, opts = _utilities.get_resource_args_opts(ServiceendpointSnykArgs, pulumi.ResourceOptions, *args, **kwargs)
309
+ if resource_args is not None:
310
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
311
+ else:
312
+ __self__._internal_init(resource_name, *args, **kwargs)
313
+
314
+ def _internal_init(__self__,
315
+ resource_name: str,
316
+ opts: Optional[pulumi.ResourceOptions] = None,
317
+ api_token: Optional[pulumi.Input[str]] = None,
318
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
319
+ description: Optional[pulumi.Input[str]] = None,
320
+ project_id: Optional[pulumi.Input[str]] = None,
321
+ server_url: Optional[pulumi.Input[str]] = None,
322
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
323
+ __props__=None):
324
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
325
+ if not isinstance(opts, pulumi.ResourceOptions):
326
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
327
+ if opts.id is None:
328
+ if __props__ is not None:
329
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
330
+ __props__ = ServiceendpointSnykArgs.__new__(ServiceendpointSnykArgs)
331
+
332
+ if api_token is None and not opts.urn:
333
+ raise TypeError("Missing required property 'api_token'")
334
+ __props__.__dict__["api_token"] = None if api_token is None else pulumi.Output.secret(api_token)
335
+ __props__.__dict__["authorization"] = authorization
336
+ __props__.__dict__["description"] = description
337
+ if project_id is None and not opts.urn:
338
+ raise TypeError("Missing required property 'project_id'")
339
+ __props__.__dict__["project_id"] = project_id
340
+ if server_url is None and not opts.urn:
341
+ raise TypeError("Missing required property 'server_url'")
342
+ __props__.__dict__["server_url"] = server_url
343
+ if service_endpoint_name is None and not opts.urn:
344
+ raise TypeError("Missing required property 'service_endpoint_name'")
345
+ __props__.__dict__["service_endpoint_name"] = service_endpoint_name
346
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apiToken"])
347
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
348
+ super(ServiceendpointSnyk, __self__).__init__(
349
+ 'azuredevops:index/serviceendpointSnyk:ServiceendpointSnyk',
350
+ resource_name,
351
+ __props__,
352
+ opts)
353
+
354
+ @staticmethod
355
+ def get(resource_name: str,
356
+ id: pulumi.Input[str],
357
+ opts: Optional[pulumi.ResourceOptions] = None,
358
+ api_token: Optional[pulumi.Input[str]] = None,
359
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
360
+ description: Optional[pulumi.Input[str]] = None,
361
+ project_id: Optional[pulumi.Input[str]] = None,
362
+ server_url: Optional[pulumi.Input[str]] = None,
363
+ service_endpoint_name: Optional[pulumi.Input[str]] = None) -> 'ServiceendpointSnyk':
364
+ """
365
+ Get an existing ServiceendpointSnyk resource's state with the given name, id, and optional extra
366
+ properties used to qualify the lookup.
367
+
368
+ :param str resource_name: The unique name of the resulting resource.
369
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
370
+ :param pulumi.ResourceOptions opts: Options for the resource.
371
+ :param pulumi.Input[str] api_token: The API token of the Snyk Security Scan.
372
+ :param pulumi.Input[str] project_id: The ID of the project.
373
+ :param pulumi.Input[str] server_url: The server URL of the Snyk Security Scan.
374
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
375
+ """
376
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
377
+
378
+ __props__ = _ServiceendpointSnykState.__new__(_ServiceendpointSnykState)
379
+
380
+ __props__.__dict__["api_token"] = api_token
381
+ __props__.__dict__["authorization"] = authorization
382
+ __props__.__dict__["description"] = description
383
+ __props__.__dict__["project_id"] = project_id
384
+ __props__.__dict__["server_url"] = server_url
385
+ __props__.__dict__["service_endpoint_name"] = service_endpoint_name
386
+ return ServiceendpointSnyk(resource_name, opts=opts, __props__=__props__)
387
+
388
+ @property
389
+ @pulumi.getter(name="apiToken")
390
+ def api_token(self) -> pulumi.Output[str]:
391
+ """
392
+ The API token of the Snyk Security Scan.
393
+ """
394
+ return pulumi.get(self, "api_token")
395
+
396
+ @property
397
+ @pulumi.getter
398
+ def authorization(self) -> pulumi.Output[Mapping[str, str]]:
399
+ return pulumi.get(self, "authorization")
400
+
401
+ @property
402
+ @pulumi.getter
403
+ def description(self) -> pulumi.Output[Optional[str]]:
404
+ return pulumi.get(self, "description")
405
+
406
+ @property
407
+ @pulumi.getter(name="projectId")
408
+ def project_id(self) -> pulumi.Output[str]:
409
+ """
410
+ The ID of the project.
411
+ """
412
+ return pulumi.get(self, "project_id")
413
+
414
+ @property
415
+ @pulumi.getter(name="serverUrl")
416
+ def server_url(self) -> pulumi.Output[str]:
417
+ """
418
+ The server URL of the Snyk Security Scan.
419
+ """
420
+ return pulumi.get(self, "server_url")
421
+
422
+ @property
423
+ @pulumi.getter(name="serviceEndpointName")
424
+ def service_endpoint_name(self) -> pulumi.Output[str]:
425
+ """
426
+ The Service Endpoint name.
427
+ """
428
+ return pulumi.get(self, "service_endpoint_name")
429
+