pulumi-azuredevops 3.6.0a1737523387__py3-none-any.whl → 3.6.0a1737710622__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 (119) hide show
  1. pulumi_azuredevops/__init__.py +64 -0
  2. pulumi_azuredevops/_inputs.py +120 -117
  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 +7 -7
  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 +5 -5
  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 +14 -21
  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 +129 -102
  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/service_endpoint_artifactory.py +24 -18
  66. pulumi_azuredevops/service_endpoint_aws.py +2 -2
  67. pulumi_azuredevops/service_endpoint_azure_ecr.py +13 -15
  68. pulumi_azuredevops/service_endpoint_azure_rm.py +25 -25
  69. pulumi_azuredevops/service_endpoint_bit_bucket.py +2 -2
  70. pulumi_azuredevops/service_endpoint_docker_registry.py +2 -2
  71. pulumi_azuredevops/service_endpoint_generic.py +2 -2
  72. pulumi_azuredevops/service_endpoint_generic_git.py +4 -8
  73. pulumi_azuredevops/service_endpoint_git_hub.py +15 -2
  74. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +15 -2
  75. pulumi_azuredevops/service_endpoint_kubernetes.py +23 -23
  76. pulumi_azuredevops/service_endpoint_npm.py +4 -4
  77. pulumi_azuredevops/service_endpoint_pipeline.py +4 -4
  78. pulumi_azuredevops/service_endpoint_service_fabric.py +48 -9
  79. pulumi_azuredevops/service_endpoint_sonar_cloud.py +11 -11
  80. pulumi_azuredevops/service_endpoint_sonar_qube.py +11 -11
  81. pulumi_azuredevops/service_endpoint_ssh.py +2 -6
  82. pulumi_azuredevops/service_principal_entitlement.py +386 -0
  83. pulumi_azuredevops/serviceendpoint_argocd.py +2 -2
  84. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +2 -2
  85. pulumi_azuredevops/serviceendpoint_checkmarx_one.py +627 -0
  86. pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +575 -0
  87. pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +674 -0
  88. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +2 -2
  89. pulumi_azuredevops/serviceendpoint_externaltfs.py +63 -11
  90. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +2 -2
  91. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +2 -2
  92. pulumi_azuredevops/serviceendpoint_jenkins.py +2 -2
  93. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +18 -18
  94. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +18 -18
  95. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +18 -18
  96. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +18 -18
  97. pulumi_azuredevops/serviceendpoint_maven.py +2 -2
  98. pulumi_azuredevops/serviceendpoint_nexus.py +2 -2
  99. pulumi_azuredevops/serviceendpoint_nuget.py +2 -2
  100. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +2 -2
  101. pulumi_azuredevops/serviceendpoint_permissions.py +40 -40
  102. pulumi_azuredevops/serviceendpoint_snyk.py +2 -2
  103. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +4 -6
  104. pulumi_azuredevops/servicehook_permissions.py +51 -51
  105. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +4 -4
  106. pulumi_azuredevops/tagging_permissions.py +49 -49
  107. pulumi_azuredevops/team.py +76 -56
  108. pulumi_azuredevops/team_administrators.py +83 -56
  109. pulumi_azuredevops/team_members.py +56 -49
  110. pulumi_azuredevops/variable_group.py +4 -2
  111. pulumi_azuredevops/variable_group_permissions.py +75 -75
  112. pulumi_azuredevops/wiki.py +15 -2
  113. pulumi_azuredevops/wiki_page.py +2 -2
  114. pulumi_azuredevops/work_item_query_permissions.py +7 -7
  115. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/METADATA +1 -1
  116. pulumi_azuredevops-3.6.0a1737710622.dist-info/RECORD +148 -0
  117. pulumi_azuredevops-3.6.0a1737523387.dist-info/RECORD +0 -140
  118. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/WHEEL +0 -0
  119. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,627 @@
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__ = ['ServiceendpointCheckmarxOneArgs', 'ServiceendpointCheckmarxOne']
18
+
19
+ @pulumi.input_type
20
+ class ServiceendpointCheckmarxOneArgs:
21
+ def __init__(__self__, *,
22
+ project_id: pulumi.Input[str],
23
+ server_url: pulumi.Input[str],
24
+ service_endpoint_name: pulumi.Input[str],
25
+ api_key: Optional[pulumi.Input[str]] = None,
26
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
+ authorization_url: Optional[pulumi.Input[str]] = None,
28
+ client_id: Optional[pulumi.Input[str]] = None,
29
+ client_secret: Optional[pulumi.Input[str]] = None,
30
+ description: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a ServiceendpointCheckmarxOne resource.
33
+ :param pulumi.Input[str] project_id: The ID of the project.
34
+ :param pulumi.Input[str] server_url: The Server URL of the Checkmarx One Service.
35
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
36
+ :param pulumi.Input[str] api_key: The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
37
+ :param pulumi.Input[str] authorization_url: The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
38
+ :param pulumi.Input[str] client_id: The Client ID of the Checkmarx One. Conflict with `api_key`
39
+ :param pulumi.Input[str] client_secret: The Client Secret of the Checkmarx One. Conflict with `api_key`
40
+
41
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
42
+ """
43
+ pulumi.set(__self__, "project_id", project_id)
44
+ pulumi.set(__self__, "server_url", server_url)
45
+ pulumi.set(__self__, "service_endpoint_name", service_endpoint_name)
46
+ if api_key is not None:
47
+ pulumi.set(__self__, "api_key", api_key)
48
+ if authorization is not None:
49
+ pulumi.set(__self__, "authorization", authorization)
50
+ if authorization_url is not None:
51
+ pulumi.set(__self__, "authorization_url", authorization_url)
52
+ if client_id is not None:
53
+ pulumi.set(__self__, "client_id", client_id)
54
+ if client_secret is not None:
55
+ pulumi.set(__self__, "client_secret", client_secret)
56
+ if description is not None:
57
+ pulumi.set(__self__, "description", description)
58
+
59
+ @property
60
+ @pulumi.getter(name="projectId")
61
+ def project_id(self) -> pulumi.Input[str]:
62
+ """
63
+ The ID of the project.
64
+ """
65
+ return pulumi.get(self, "project_id")
66
+
67
+ @project_id.setter
68
+ def project_id(self, value: pulumi.Input[str]):
69
+ pulumi.set(self, "project_id", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="serverUrl")
73
+ def server_url(self) -> pulumi.Input[str]:
74
+ """
75
+ The Server URL of the Checkmarx One Service.
76
+ """
77
+ return pulumi.get(self, "server_url")
78
+
79
+ @server_url.setter
80
+ def server_url(self, value: pulumi.Input[str]):
81
+ pulumi.set(self, "server_url", value)
82
+
83
+ @property
84
+ @pulumi.getter(name="serviceEndpointName")
85
+ def service_endpoint_name(self) -> pulumi.Input[str]:
86
+ """
87
+ The Service Endpoint name.
88
+ """
89
+ return pulumi.get(self, "service_endpoint_name")
90
+
91
+ @service_endpoint_name.setter
92
+ def service_endpoint_name(self, value: pulumi.Input[str]):
93
+ pulumi.set(self, "service_endpoint_name", value)
94
+
95
+ @property
96
+ @pulumi.getter(name="apiKey")
97
+ def api_key(self) -> Optional[pulumi.Input[str]]:
98
+ """
99
+ The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
100
+ """
101
+ return pulumi.get(self, "api_key")
102
+
103
+ @api_key.setter
104
+ def api_key(self, value: Optional[pulumi.Input[str]]):
105
+ pulumi.set(self, "api_key", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def authorization(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
110
+ return pulumi.get(self, "authorization")
111
+
112
+ @authorization.setter
113
+ def authorization(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
114
+ pulumi.set(self, "authorization", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="authorizationUrl")
118
+ def authorization_url(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
121
+ """
122
+ return pulumi.get(self, "authorization_url")
123
+
124
+ @authorization_url.setter
125
+ def authorization_url(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "authorization_url", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="clientId")
130
+ def client_id(self) -> Optional[pulumi.Input[str]]:
131
+ """
132
+ The Client ID of the Checkmarx One. Conflict with `api_key`
133
+ """
134
+ return pulumi.get(self, "client_id")
135
+
136
+ @client_id.setter
137
+ def client_id(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "client_id", value)
139
+
140
+ @property
141
+ @pulumi.getter(name="clientSecret")
142
+ def client_secret(self) -> Optional[pulumi.Input[str]]:
143
+ """
144
+ The Client Secret of the Checkmarx One. Conflict with `api_key`
145
+
146
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
147
+ """
148
+ return pulumi.get(self, "client_secret")
149
+
150
+ @client_secret.setter
151
+ def client_secret(self, value: Optional[pulumi.Input[str]]):
152
+ pulumi.set(self, "client_secret", value)
153
+
154
+ @property
155
+ @pulumi.getter
156
+ def description(self) -> Optional[pulumi.Input[str]]:
157
+ return pulumi.get(self, "description")
158
+
159
+ @description.setter
160
+ def description(self, value: Optional[pulumi.Input[str]]):
161
+ pulumi.set(self, "description", value)
162
+
163
+
164
+ @pulumi.input_type
165
+ class _ServiceendpointCheckmarxOneState:
166
+ def __init__(__self__, *,
167
+ api_key: Optional[pulumi.Input[str]] = None,
168
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
169
+ authorization_url: Optional[pulumi.Input[str]] = None,
170
+ client_id: Optional[pulumi.Input[str]] = None,
171
+ client_secret: Optional[pulumi.Input[str]] = None,
172
+ description: Optional[pulumi.Input[str]] = None,
173
+ project_id: Optional[pulumi.Input[str]] = None,
174
+ server_url: Optional[pulumi.Input[str]] = None,
175
+ service_endpoint_name: Optional[pulumi.Input[str]] = None):
176
+ """
177
+ Input properties used for looking up and filtering ServiceendpointCheckmarxOne resources.
178
+ :param pulumi.Input[str] api_key: The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
179
+ :param pulumi.Input[str] authorization_url: The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
180
+ :param pulumi.Input[str] client_id: The Client ID of the Checkmarx One. Conflict with `api_key`
181
+ :param pulumi.Input[str] client_secret: The Client Secret of the Checkmarx One. Conflict with `api_key`
182
+
183
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
184
+ :param pulumi.Input[str] project_id: The ID of the project.
185
+ :param pulumi.Input[str] server_url: The Server URL of the Checkmarx One Service.
186
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
187
+ """
188
+ if api_key is not None:
189
+ pulumi.set(__self__, "api_key", api_key)
190
+ if authorization is not None:
191
+ pulumi.set(__self__, "authorization", authorization)
192
+ if authorization_url is not None:
193
+ pulumi.set(__self__, "authorization_url", authorization_url)
194
+ if client_id is not None:
195
+ pulumi.set(__self__, "client_id", client_id)
196
+ if client_secret is not None:
197
+ pulumi.set(__self__, "client_secret", client_secret)
198
+ if description is not None:
199
+ pulumi.set(__self__, "description", description)
200
+ if project_id is not None:
201
+ pulumi.set(__self__, "project_id", project_id)
202
+ if server_url is not None:
203
+ pulumi.set(__self__, "server_url", server_url)
204
+ if service_endpoint_name is not None:
205
+ pulumi.set(__self__, "service_endpoint_name", service_endpoint_name)
206
+
207
+ @property
208
+ @pulumi.getter(name="apiKey")
209
+ def api_key(self) -> Optional[pulumi.Input[str]]:
210
+ """
211
+ The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
212
+ """
213
+ return pulumi.get(self, "api_key")
214
+
215
+ @api_key.setter
216
+ def api_key(self, value: Optional[pulumi.Input[str]]):
217
+ pulumi.set(self, "api_key", value)
218
+
219
+ @property
220
+ @pulumi.getter
221
+ def authorization(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
222
+ return pulumi.get(self, "authorization")
223
+
224
+ @authorization.setter
225
+ def authorization(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
226
+ pulumi.set(self, "authorization", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="authorizationUrl")
230
+ def authorization_url(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
233
+ """
234
+ return pulumi.get(self, "authorization_url")
235
+
236
+ @authorization_url.setter
237
+ def authorization_url(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "authorization_url", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="clientId")
242
+ def client_id(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ The Client ID of the Checkmarx One. Conflict with `api_key`
245
+ """
246
+ return pulumi.get(self, "client_id")
247
+
248
+ @client_id.setter
249
+ def client_id(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "client_id", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="clientSecret")
254
+ def client_secret(self) -> Optional[pulumi.Input[str]]:
255
+ """
256
+ The Client Secret of the Checkmarx One. Conflict with `api_key`
257
+
258
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
259
+ """
260
+ return pulumi.get(self, "client_secret")
261
+
262
+ @client_secret.setter
263
+ def client_secret(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "client_secret", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def description(self) -> Optional[pulumi.Input[str]]:
269
+ return pulumi.get(self, "description")
270
+
271
+ @description.setter
272
+ def description(self, value: Optional[pulumi.Input[str]]):
273
+ pulumi.set(self, "description", value)
274
+
275
+ @property
276
+ @pulumi.getter(name="projectId")
277
+ def project_id(self) -> Optional[pulumi.Input[str]]:
278
+ """
279
+ The ID of the project.
280
+ """
281
+ return pulumi.get(self, "project_id")
282
+
283
+ @project_id.setter
284
+ def project_id(self, value: Optional[pulumi.Input[str]]):
285
+ pulumi.set(self, "project_id", value)
286
+
287
+ @property
288
+ @pulumi.getter(name="serverUrl")
289
+ def server_url(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The Server URL of the Checkmarx One Service.
292
+ """
293
+ return pulumi.get(self, "server_url")
294
+
295
+ @server_url.setter
296
+ def server_url(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "server_url", value)
298
+
299
+ @property
300
+ @pulumi.getter(name="serviceEndpointName")
301
+ def service_endpoint_name(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ The Service Endpoint name.
304
+ """
305
+ return pulumi.get(self, "service_endpoint_name")
306
+
307
+ @service_endpoint_name.setter
308
+ def service_endpoint_name(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "service_endpoint_name", value)
310
+
311
+
312
+ class ServiceendpointCheckmarxOne(pulumi.CustomResource):
313
+ @overload
314
+ def __init__(__self__,
315
+ resource_name: str,
316
+ opts: Optional[pulumi.ResourceOptions] = None,
317
+ api_key: Optional[pulumi.Input[str]] = None,
318
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
319
+ authorization_url: Optional[pulumi.Input[str]] = None,
320
+ client_id: Optional[pulumi.Input[str]] = None,
321
+ client_secret: Optional[pulumi.Input[str]] = None,
322
+ description: Optional[pulumi.Input[str]] = None,
323
+ project_id: Optional[pulumi.Input[str]] = None,
324
+ server_url: Optional[pulumi.Input[str]] = None,
325
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
326
+ __props__=None):
327
+ """
328
+ Manages a Checkmarx One service endpoint within Azure DevOps. Using this service endpoint requires you to install: [Checkmarx AST](https://marketplace.visualstudio.com/items?itemName=checkmarx.checkmarx-ast-azure-plugin)
329
+
330
+ ## Example Usage
331
+
332
+ ### Authorize with API Key
333
+
334
+ ```python
335
+ import pulumi
336
+ import pulumi_azuredevops as azuredevops
337
+
338
+ example = azuredevops.Project("example",
339
+ name="Example Project",
340
+ visibility="private",
341
+ version_control="Git",
342
+ work_item_template="Agile",
343
+ description="Managed by Pulumi")
344
+ example_serviceendpoint_checkmarx_one = azuredevops.ServiceendpointCheckmarxOne("example",
345
+ project_id=example.id,
346
+ service_endpoint_name="Example Checkmarx One",
347
+ server_url="https://server.com",
348
+ api_key="apikey")
349
+ ```
350
+
351
+ ### Authorize with Client ID and Secret
352
+
353
+ ```python
354
+ import pulumi
355
+ import pulumi_azuredevops as azuredevops
356
+
357
+ example = azuredevops.Project("example",
358
+ name="Example Project",
359
+ visibility="private",
360
+ version_control="Git",
361
+ work_item_template="Agile",
362
+ description="Managed by Pulumi")
363
+ example_serviceendpoint_checkmarx_one = azuredevops.ServiceendpointCheckmarxOne("example",
364
+ project_id=example.id,
365
+ service_endpoint_name="Example Checkmarx One",
366
+ server_url="https://server.com",
367
+ client_id="clientid",
368
+ client_secret="secret",
369
+ authorization_url="https://authurl.com")
370
+ ```
371
+
372
+ ## Relevant Links
373
+
374
+ - [Azure DevOps Service REST API 7.0 - Service Endpoints](https://docs.microsoft.com/en-us/rest/api/azure/devops/serviceendpoint/endpoints?view=azure-devops-rest-7.0)
375
+
376
+ ## Import
377
+
378
+ Azure DevOps Service Endpoint Check Marx One can be imported using **projectID/serviceEndpointID** or **projectName/serviceEndpointID**
379
+
380
+ ```sh
381
+ $ pulumi import azuredevops:index/serviceendpointCheckmarxOne:ServiceendpointCheckmarxOne example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
382
+ ```
383
+
384
+ :param str resource_name: The name of the resource.
385
+ :param pulumi.ResourceOptions opts: Options for the resource.
386
+ :param pulumi.Input[str] api_key: The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
387
+ :param pulumi.Input[str] authorization_url: The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
388
+ :param pulumi.Input[str] client_id: The Client ID of the Checkmarx One. Conflict with `api_key`
389
+ :param pulumi.Input[str] client_secret: The Client Secret of the Checkmarx One. Conflict with `api_key`
390
+
391
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
392
+ :param pulumi.Input[str] project_id: The ID of the project.
393
+ :param pulumi.Input[str] server_url: The Server URL of the Checkmarx One Service.
394
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
395
+ """
396
+ ...
397
+ @overload
398
+ def __init__(__self__,
399
+ resource_name: str,
400
+ args: ServiceendpointCheckmarxOneArgs,
401
+ opts: Optional[pulumi.ResourceOptions] = None):
402
+ """
403
+ Manages a Checkmarx One service endpoint within Azure DevOps. Using this service endpoint requires you to install: [Checkmarx AST](https://marketplace.visualstudio.com/items?itemName=checkmarx.checkmarx-ast-azure-plugin)
404
+
405
+ ## Example Usage
406
+
407
+ ### Authorize with API Key
408
+
409
+ ```python
410
+ import pulumi
411
+ import pulumi_azuredevops as azuredevops
412
+
413
+ example = azuredevops.Project("example",
414
+ name="Example Project",
415
+ visibility="private",
416
+ version_control="Git",
417
+ work_item_template="Agile",
418
+ description="Managed by Pulumi")
419
+ example_serviceendpoint_checkmarx_one = azuredevops.ServiceendpointCheckmarxOne("example",
420
+ project_id=example.id,
421
+ service_endpoint_name="Example Checkmarx One",
422
+ server_url="https://server.com",
423
+ api_key="apikey")
424
+ ```
425
+
426
+ ### Authorize with Client ID and Secret
427
+
428
+ ```python
429
+ import pulumi
430
+ import pulumi_azuredevops as azuredevops
431
+
432
+ example = azuredevops.Project("example",
433
+ name="Example Project",
434
+ visibility="private",
435
+ version_control="Git",
436
+ work_item_template="Agile",
437
+ description="Managed by Pulumi")
438
+ example_serviceendpoint_checkmarx_one = azuredevops.ServiceendpointCheckmarxOne("example",
439
+ project_id=example.id,
440
+ service_endpoint_name="Example Checkmarx One",
441
+ server_url="https://server.com",
442
+ client_id="clientid",
443
+ client_secret="secret",
444
+ authorization_url="https://authurl.com")
445
+ ```
446
+
447
+ ## Relevant Links
448
+
449
+ - [Azure DevOps Service REST API 7.0 - Service Endpoints](https://docs.microsoft.com/en-us/rest/api/azure/devops/serviceendpoint/endpoints?view=azure-devops-rest-7.0)
450
+
451
+ ## Import
452
+
453
+ Azure DevOps Service Endpoint Check Marx One can be imported using **projectID/serviceEndpointID** or **projectName/serviceEndpointID**
454
+
455
+ ```sh
456
+ $ pulumi import azuredevops:index/serviceendpointCheckmarxOne:ServiceendpointCheckmarxOne example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
457
+ ```
458
+
459
+ :param str resource_name: The name of the resource.
460
+ :param ServiceendpointCheckmarxOneArgs args: The arguments to use to populate this resource's properties.
461
+ :param pulumi.ResourceOptions opts: Options for the resource.
462
+ """
463
+ ...
464
+ def __init__(__self__, resource_name: str, *args, **kwargs):
465
+ resource_args, opts = _utilities.get_resource_args_opts(ServiceendpointCheckmarxOneArgs, pulumi.ResourceOptions, *args, **kwargs)
466
+ if resource_args is not None:
467
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
468
+ else:
469
+ __self__._internal_init(resource_name, *args, **kwargs)
470
+
471
+ def _internal_init(__self__,
472
+ resource_name: str,
473
+ opts: Optional[pulumi.ResourceOptions] = None,
474
+ api_key: Optional[pulumi.Input[str]] = None,
475
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
476
+ authorization_url: Optional[pulumi.Input[str]] = None,
477
+ client_id: Optional[pulumi.Input[str]] = None,
478
+ client_secret: Optional[pulumi.Input[str]] = None,
479
+ description: Optional[pulumi.Input[str]] = None,
480
+ project_id: Optional[pulumi.Input[str]] = None,
481
+ server_url: Optional[pulumi.Input[str]] = None,
482
+ service_endpoint_name: Optional[pulumi.Input[str]] = None,
483
+ __props__=None):
484
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
485
+ if not isinstance(opts, pulumi.ResourceOptions):
486
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
487
+ if opts.id is None:
488
+ if __props__ is not None:
489
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
490
+ __props__ = ServiceendpointCheckmarxOneArgs.__new__(ServiceendpointCheckmarxOneArgs)
491
+
492
+ __props__.__dict__["api_key"] = None if api_key is None else pulumi.Output.secret(api_key)
493
+ __props__.__dict__["authorization"] = authorization
494
+ __props__.__dict__["authorization_url"] = authorization_url
495
+ __props__.__dict__["client_id"] = client_id
496
+ __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret)
497
+ __props__.__dict__["description"] = description
498
+ if project_id is None and not opts.urn:
499
+ raise TypeError("Missing required property 'project_id'")
500
+ __props__.__dict__["project_id"] = project_id
501
+ if server_url is None and not opts.urn:
502
+ raise TypeError("Missing required property 'server_url'")
503
+ __props__.__dict__["server_url"] = server_url
504
+ if service_endpoint_name is None and not opts.urn:
505
+ raise TypeError("Missing required property 'service_endpoint_name'")
506
+ __props__.__dict__["service_endpoint_name"] = service_endpoint_name
507
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apiKey", "clientSecret"])
508
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
509
+ super(ServiceendpointCheckmarxOne, __self__).__init__(
510
+ 'azuredevops:index/serviceendpointCheckmarxOne:ServiceendpointCheckmarxOne',
511
+ resource_name,
512
+ __props__,
513
+ opts)
514
+
515
+ @staticmethod
516
+ def get(resource_name: str,
517
+ id: pulumi.Input[str],
518
+ opts: Optional[pulumi.ResourceOptions] = None,
519
+ api_key: Optional[pulumi.Input[str]] = None,
520
+ authorization: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
521
+ authorization_url: Optional[pulumi.Input[str]] = None,
522
+ client_id: Optional[pulumi.Input[str]] = None,
523
+ client_secret: Optional[pulumi.Input[str]] = None,
524
+ description: Optional[pulumi.Input[str]] = None,
525
+ project_id: Optional[pulumi.Input[str]] = None,
526
+ server_url: Optional[pulumi.Input[str]] = None,
527
+ service_endpoint_name: Optional[pulumi.Input[str]] = None) -> 'ServiceendpointCheckmarxOne':
528
+ """
529
+ Get an existing ServiceendpointCheckmarxOne resource's state with the given name, id, and optional extra
530
+ properties used to qualify the lookup.
531
+
532
+ :param str resource_name: The unique name of the resulting resource.
533
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
534
+ :param pulumi.ResourceOptions opts: Options for the resource.
535
+ :param pulumi.Input[str] api_key: The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
536
+ :param pulumi.Input[str] authorization_url: The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
537
+ :param pulumi.Input[str] client_id: The Client ID of the Checkmarx One. Conflict with `api_key`
538
+ :param pulumi.Input[str] client_secret: The Client Secret of the Checkmarx One. Conflict with `api_key`
539
+
540
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
541
+ :param pulumi.Input[str] project_id: The ID of the project.
542
+ :param pulumi.Input[str] server_url: The Server URL of the Checkmarx One Service.
543
+ :param pulumi.Input[str] service_endpoint_name: The Service Endpoint name.
544
+ """
545
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
546
+
547
+ __props__ = _ServiceendpointCheckmarxOneState.__new__(_ServiceendpointCheckmarxOneState)
548
+
549
+ __props__.__dict__["api_key"] = api_key
550
+ __props__.__dict__["authorization"] = authorization
551
+ __props__.__dict__["authorization_url"] = authorization_url
552
+ __props__.__dict__["client_id"] = client_id
553
+ __props__.__dict__["client_secret"] = client_secret
554
+ __props__.__dict__["description"] = description
555
+ __props__.__dict__["project_id"] = project_id
556
+ __props__.__dict__["server_url"] = server_url
557
+ __props__.__dict__["service_endpoint_name"] = service_endpoint_name
558
+ return ServiceendpointCheckmarxOne(resource_name, opts=opts, __props__=__props__)
559
+
560
+ @property
561
+ @pulumi.getter(name="apiKey")
562
+ def api_key(self) -> pulumi.Output[Optional[str]]:
563
+ """
564
+ The account of the Checkmarx One. Conflict with `client_id` and `client_secret`.
565
+ """
566
+ return pulumi.get(self, "api_key")
567
+
568
+ @property
569
+ @pulumi.getter
570
+ def authorization(self) -> pulumi.Output[Mapping[str, str]]:
571
+ return pulumi.get(self, "authorization")
572
+
573
+ @property
574
+ @pulumi.getter(name="authorizationUrl")
575
+ def authorization_url(self) -> pulumi.Output[Optional[str]]:
576
+ """
577
+ The URL of Checkmarx Authorization. Used when using `client_id` and `client_secret` authorization.
578
+ """
579
+ return pulumi.get(self, "authorization_url")
580
+
581
+ @property
582
+ @pulumi.getter(name="clientId")
583
+ def client_id(self) -> pulumi.Output[Optional[str]]:
584
+ """
585
+ The Client ID of the Checkmarx One. Conflict with `api_key`
586
+ """
587
+ return pulumi.get(self, "client_id")
588
+
589
+ @property
590
+ @pulumi.getter(name="clientSecret")
591
+ def client_secret(self) -> pulumi.Output[Optional[str]]:
592
+ """
593
+ The Client Secret of the Checkmarx One. Conflict with `api_key`
594
+
595
+ > **Note** At least one of `api_key` and `client_id`, `client_secret` must be set
596
+ """
597
+ return pulumi.get(self, "client_secret")
598
+
599
+ @property
600
+ @pulumi.getter
601
+ def description(self) -> pulumi.Output[Optional[str]]:
602
+ return pulumi.get(self, "description")
603
+
604
+ @property
605
+ @pulumi.getter(name="projectId")
606
+ def project_id(self) -> pulumi.Output[str]:
607
+ """
608
+ The ID of the project.
609
+ """
610
+ return pulumi.get(self, "project_id")
611
+
612
+ @property
613
+ @pulumi.getter(name="serverUrl")
614
+ def server_url(self) -> pulumi.Output[str]:
615
+ """
616
+ The Server URL of the Checkmarx One Service.
617
+ """
618
+ return pulumi.get(self, "server_url")
619
+
620
+ @property
621
+ @pulumi.getter(name="serviceEndpointName")
622
+ def service_endpoint_name(self) -> pulumi.Output[str]:
623
+ """
624
+ The Service Endpoint name.
625
+ """
626
+ return pulumi.get(self, "service_endpoint_name")
627
+