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