pulumi-gcp 7.28.0__py3-none-any.whl → 7.28.0a1718754929__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 (58) hide show
  1. pulumi_gcp/__init__.py +0 -59
  2. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  3. pulumi_gcp/accesscontextmanager/access_levels.py +20 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/bigtable/_inputs.py +0 -40
  7. pulumi_gcp/bigtable/outputs.py +0 -49
  8. pulumi_gcp/bigtable/table.py +0 -54
  9. pulumi_gcp/cloudbuildv2/_inputs.py +0 -383
  10. pulumi_gcp/cloudbuildv2/connection.py +2 -110
  11. pulumi_gcp/cloudbuildv2/outputs.py +0 -421
  12. pulumi_gcp/composer/__init__.py +0 -3
  13. pulumi_gcp/compute/_inputs.py +2 -4
  14. pulumi_gcp/compute/backend_service.py +48 -28
  15. pulumi_gcp/compute/interconnect.py +4 -4
  16. pulumi_gcp/compute/outputs.py +4 -10
  17. pulumi_gcp/compute/region_backend_service.py +48 -35
  18. pulumi_gcp/compute/region_network_endpoint.py +0 -187
  19. pulumi_gcp/compute/region_network_endpoint_group.py +9 -49
  20. pulumi_gcp/compute/region_target_https_proxy.py +14 -7
  21. pulumi_gcp/compute/target_https_proxy.py +14 -28
  22. pulumi_gcp/config/__init__.pyi +0 -2
  23. pulumi_gcp/config/vars.py +0 -4
  24. pulumi_gcp/container/_inputs.py +2 -2
  25. pulumi_gcp/container/outputs.py +4 -4
  26. pulumi_gcp/discoveryengine/_inputs.py +0 -227
  27. pulumi_gcp/discoveryengine/data_store.py +0 -108
  28. pulumi_gcp/discoveryengine/outputs.py +0 -280
  29. pulumi_gcp/edgecontainer/_inputs.py +1 -107
  30. pulumi_gcp/edgecontainer/outputs.py +1 -123
  31. pulumi_gcp/gkehub/_inputs.py +0 -16
  32. pulumi_gcp/gkehub/outputs.py +1 -15
  33. pulumi_gcp/logging/folder_sink.py +14 -14
  34. pulumi_gcp/logging/organization_sink.py +14 -14
  35. pulumi_gcp/netapp/__init__.py +0 -1
  36. pulumi_gcp/netapp/active_directory.py +0 -55
  37. pulumi_gcp/provider.py +0 -20
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/securitycenter/__init__.py +0 -3
  40. pulumi_gcp/securitycenter/_inputs.py +0 -1105
  41. pulumi_gcp/securitycenter/outputs.py +0 -1048
  42. pulumi_gcp/vertex/ai_feature_online_store.py +8 -37
  43. {pulumi_gcp-7.28.0.dist-info → pulumi_gcp-7.28.0a1718754929.dist-info}/METADATA +1 -1
  44. {pulumi_gcp-7.28.0.dist-info → pulumi_gcp-7.28.0a1718754929.dist-info}/RECORD +46 -58
  45. {pulumi_gcp-7.28.0.dist-info → pulumi_gcp-7.28.0a1718754929.dist-info}/WHEEL +1 -1
  46. pulumi_gcp/composer/get_user_workloads_config_map.py +0 -190
  47. pulumi_gcp/composer/get_user_workloads_secret.py +0 -188
  48. pulumi_gcp/composer/user_workloads_config_map.py +0 -475
  49. pulumi_gcp/managedkafka/__init__.py +0 -11
  50. pulumi_gcp/managedkafka/_inputs.py +0 -169
  51. pulumi_gcp/managedkafka/cluster.py +0 -807
  52. pulumi_gcp/managedkafka/outputs.py +0 -197
  53. pulumi_gcp/managedkafka/topic.py +0 -599
  54. pulumi_gcp/netapp/backup.py +0 -903
  55. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +0 -725
  56. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +0 -713
  57. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +0 -706
  58. {pulumi_gcp-7.28.0.dist-info → pulumi_gcp-7.28.0a1718754929.dist-info}/top_level.txt +0 -0
@@ -1,706 +0,0 @@
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 pulumi
8
- import pulumi.runtime
9
- from typing import Any, Mapping, Optional, Sequence, Union, overload
10
- from .. import _utilities
11
- from . import outputs
12
- from ._inputs import *
13
-
14
- __all__ = ['ManagementProjectSecurityHealthAnalyticsCustomModuleArgs', 'ManagementProjectSecurityHealthAnalyticsCustomModule']
15
-
16
- @pulumi.input_type
17
- class ManagementProjectSecurityHealthAnalyticsCustomModuleArgs:
18
- def __init__(__self__, *,
19
- custom_config: Optional[pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']] = None,
20
- display_name: Optional[pulumi.Input[str]] = None,
21
- enablement_state: Optional[pulumi.Input[str]] = None,
22
- location: Optional[pulumi.Input[str]] = None,
23
- project: Optional[pulumi.Input[str]] = None):
24
- """
25
- The set of arguments for constructing a ManagementProjectSecurityHealthAnalyticsCustomModule resource.
26
- :param pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs'] custom_config: The user specified custom configuration for the module.
27
- Structure is documented below.
28
- :param pulumi.Input[str] display_name: The display name of the Security Health Analytics custom module. This
29
- display name becomes the finding category for all findings that are
30
- returned by this custom module. The display name must be between 1 and
31
- 128 characters, start with a lowercase letter, and contain alphanumeric
32
- characters or underscores only.
33
- :param pulumi.Input[str] enablement_state: The enablement state of the custom module.
34
- Possible values are: `ENABLED`, `DISABLED`.
35
- :param pulumi.Input[str] location: Location ID of the parent organization. If not provided, 'global' will be used as the default location.
36
- :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
37
- If it is not provided, the provider project is used.
38
- """
39
- if custom_config is not None:
40
- pulumi.set(__self__, "custom_config", custom_config)
41
- if display_name is not None:
42
- pulumi.set(__self__, "display_name", display_name)
43
- if enablement_state is not None:
44
- pulumi.set(__self__, "enablement_state", enablement_state)
45
- if location is not None:
46
- pulumi.set(__self__, "location", location)
47
- if project is not None:
48
- pulumi.set(__self__, "project", project)
49
-
50
- @property
51
- @pulumi.getter(name="customConfig")
52
- def custom_config(self) -> Optional[pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]:
53
- """
54
- The user specified custom configuration for the module.
55
- Structure is documented below.
56
- """
57
- return pulumi.get(self, "custom_config")
58
-
59
- @custom_config.setter
60
- def custom_config(self, value: Optional[pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]):
61
- pulumi.set(self, "custom_config", value)
62
-
63
- @property
64
- @pulumi.getter(name="displayName")
65
- def display_name(self) -> Optional[pulumi.Input[str]]:
66
- """
67
- The display name of the Security Health Analytics custom module. This
68
- display name becomes the finding category for all findings that are
69
- returned by this custom module. The display name must be between 1 and
70
- 128 characters, start with a lowercase letter, and contain alphanumeric
71
- characters or underscores only.
72
- """
73
- return pulumi.get(self, "display_name")
74
-
75
- @display_name.setter
76
- def display_name(self, value: Optional[pulumi.Input[str]]):
77
- pulumi.set(self, "display_name", value)
78
-
79
- @property
80
- @pulumi.getter(name="enablementState")
81
- def enablement_state(self) -> Optional[pulumi.Input[str]]:
82
- """
83
- The enablement state of the custom module.
84
- Possible values are: `ENABLED`, `DISABLED`.
85
- """
86
- return pulumi.get(self, "enablement_state")
87
-
88
- @enablement_state.setter
89
- def enablement_state(self, value: Optional[pulumi.Input[str]]):
90
- pulumi.set(self, "enablement_state", value)
91
-
92
- @property
93
- @pulumi.getter
94
- def location(self) -> Optional[pulumi.Input[str]]:
95
- """
96
- Location ID of the parent organization. If not provided, 'global' will be used as the default location.
97
- """
98
- return pulumi.get(self, "location")
99
-
100
- @location.setter
101
- def location(self, value: Optional[pulumi.Input[str]]):
102
- pulumi.set(self, "location", value)
103
-
104
- @property
105
- @pulumi.getter
106
- def project(self) -> Optional[pulumi.Input[str]]:
107
- """
108
- The ID of the project in which the resource belongs.
109
- If it is not provided, the provider project is used.
110
- """
111
- return pulumi.get(self, "project")
112
-
113
- @project.setter
114
- def project(self, value: Optional[pulumi.Input[str]]):
115
- pulumi.set(self, "project", value)
116
-
117
-
118
- @pulumi.input_type
119
- class _ManagementProjectSecurityHealthAnalyticsCustomModuleState:
120
- def __init__(__self__, *,
121
- ancestor_module: Optional[pulumi.Input[str]] = None,
122
- custom_config: Optional[pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']] = None,
123
- display_name: Optional[pulumi.Input[str]] = None,
124
- enablement_state: Optional[pulumi.Input[str]] = None,
125
- last_editor: Optional[pulumi.Input[str]] = None,
126
- location: Optional[pulumi.Input[str]] = None,
127
- name: Optional[pulumi.Input[str]] = None,
128
- project: Optional[pulumi.Input[str]] = None,
129
- update_time: Optional[pulumi.Input[str]] = None):
130
- """
131
- Input properties used for looking up and filtering ManagementProjectSecurityHealthAnalyticsCustomModule resources.
132
- :param pulumi.Input[str] ancestor_module: If empty, indicates that the custom module was created in the organization,folder,
133
- or project in which you are viewing the custom module. Otherwise, ancestor_module
134
- specifies the organization or folder from which the custom module is inherited.
135
- :param pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs'] custom_config: The user specified custom configuration for the module.
136
- Structure is documented below.
137
- :param pulumi.Input[str] display_name: The display name of the Security Health Analytics custom module. This
138
- display name becomes the finding category for all findings that are
139
- returned by this custom module. The display name must be between 1 and
140
- 128 characters, start with a lowercase letter, and contain alphanumeric
141
- characters or underscores only.
142
- :param pulumi.Input[str] enablement_state: The enablement state of the custom module.
143
- Possible values are: `ENABLED`, `DISABLED`.
144
- :param pulumi.Input[str] last_editor: The editor that last updated the custom module.
145
- :param pulumi.Input[str] location: Location ID of the parent organization. If not provided, 'global' will be used as the default location.
146
- :param pulumi.Input[str] name: The resource name of the custom module. Its format is "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}".
147
- The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
148
- :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
149
- If it is not provided, the provider project is used.
150
- :param pulumi.Input[str] update_time: The time at which the custom module was last updated.
151
- A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
152
- up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
153
- """
154
- if ancestor_module is not None:
155
- pulumi.set(__self__, "ancestor_module", ancestor_module)
156
- if custom_config is not None:
157
- pulumi.set(__self__, "custom_config", custom_config)
158
- if display_name is not None:
159
- pulumi.set(__self__, "display_name", display_name)
160
- if enablement_state is not None:
161
- pulumi.set(__self__, "enablement_state", enablement_state)
162
- if last_editor is not None:
163
- pulumi.set(__self__, "last_editor", last_editor)
164
- if location is not None:
165
- pulumi.set(__self__, "location", location)
166
- if name is not None:
167
- pulumi.set(__self__, "name", name)
168
- if project is not None:
169
- pulumi.set(__self__, "project", project)
170
- if update_time is not None:
171
- pulumi.set(__self__, "update_time", update_time)
172
-
173
- @property
174
- @pulumi.getter(name="ancestorModule")
175
- def ancestor_module(self) -> Optional[pulumi.Input[str]]:
176
- """
177
- If empty, indicates that the custom module was created in the organization,folder,
178
- or project in which you are viewing the custom module. Otherwise, ancestor_module
179
- specifies the organization or folder from which the custom module is inherited.
180
- """
181
- return pulumi.get(self, "ancestor_module")
182
-
183
- @ancestor_module.setter
184
- def ancestor_module(self, value: Optional[pulumi.Input[str]]):
185
- pulumi.set(self, "ancestor_module", value)
186
-
187
- @property
188
- @pulumi.getter(name="customConfig")
189
- def custom_config(self) -> Optional[pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]:
190
- """
191
- The user specified custom configuration for the module.
192
- Structure is documented below.
193
- """
194
- return pulumi.get(self, "custom_config")
195
-
196
- @custom_config.setter
197
- def custom_config(self, value: Optional[pulumi.Input['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]):
198
- pulumi.set(self, "custom_config", value)
199
-
200
- @property
201
- @pulumi.getter(name="displayName")
202
- def display_name(self) -> Optional[pulumi.Input[str]]:
203
- """
204
- The display name of the Security Health Analytics custom module. This
205
- display name becomes the finding category for all findings that are
206
- returned by this custom module. The display name must be between 1 and
207
- 128 characters, start with a lowercase letter, and contain alphanumeric
208
- characters or underscores only.
209
- """
210
- return pulumi.get(self, "display_name")
211
-
212
- @display_name.setter
213
- def display_name(self, value: Optional[pulumi.Input[str]]):
214
- pulumi.set(self, "display_name", value)
215
-
216
- @property
217
- @pulumi.getter(name="enablementState")
218
- def enablement_state(self) -> Optional[pulumi.Input[str]]:
219
- """
220
- The enablement state of the custom module.
221
- Possible values are: `ENABLED`, `DISABLED`.
222
- """
223
- return pulumi.get(self, "enablement_state")
224
-
225
- @enablement_state.setter
226
- def enablement_state(self, value: Optional[pulumi.Input[str]]):
227
- pulumi.set(self, "enablement_state", value)
228
-
229
- @property
230
- @pulumi.getter(name="lastEditor")
231
- def last_editor(self) -> Optional[pulumi.Input[str]]:
232
- """
233
- The editor that last updated the custom module.
234
- """
235
- return pulumi.get(self, "last_editor")
236
-
237
- @last_editor.setter
238
- def last_editor(self, value: Optional[pulumi.Input[str]]):
239
- pulumi.set(self, "last_editor", value)
240
-
241
- @property
242
- @pulumi.getter
243
- def location(self) -> Optional[pulumi.Input[str]]:
244
- """
245
- Location ID of the parent organization. If not provided, 'global' will be used as the default location.
246
- """
247
- return pulumi.get(self, "location")
248
-
249
- @location.setter
250
- def location(self, value: Optional[pulumi.Input[str]]):
251
- pulumi.set(self, "location", value)
252
-
253
- @property
254
- @pulumi.getter
255
- def name(self) -> Optional[pulumi.Input[str]]:
256
- """
257
- The resource name of the custom module. Its format is "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}".
258
- The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
259
- """
260
- return pulumi.get(self, "name")
261
-
262
- @name.setter
263
- def name(self, value: Optional[pulumi.Input[str]]):
264
- pulumi.set(self, "name", value)
265
-
266
- @property
267
- @pulumi.getter
268
- def project(self) -> Optional[pulumi.Input[str]]:
269
- """
270
- The ID of the project in which the resource belongs.
271
- If it is not provided, the provider project is used.
272
- """
273
- return pulumi.get(self, "project")
274
-
275
- @project.setter
276
- def project(self, value: Optional[pulumi.Input[str]]):
277
- pulumi.set(self, "project", value)
278
-
279
- @property
280
- @pulumi.getter(name="updateTime")
281
- def update_time(self) -> Optional[pulumi.Input[str]]:
282
- """
283
- The time at which the custom module was last updated.
284
- A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
285
- up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
286
- """
287
- return pulumi.get(self, "update_time")
288
-
289
- @update_time.setter
290
- def update_time(self, value: Optional[pulumi.Input[str]]):
291
- pulumi.set(self, "update_time", value)
292
-
293
-
294
- class ManagementProjectSecurityHealthAnalyticsCustomModule(pulumi.CustomResource):
295
- @overload
296
- def __init__(__self__,
297
- resource_name: str,
298
- opts: Optional[pulumi.ResourceOptions] = None,
299
- custom_config: Optional[pulumi.Input[pulumi.InputType['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]] = None,
300
- display_name: Optional[pulumi.Input[str]] = None,
301
- enablement_state: Optional[pulumi.Input[str]] = None,
302
- location: Optional[pulumi.Input[str]] = None,
303
- project: Optional[pulumi.Input[str]] = None,
304
- __props__=None):
305
- """
306
- Represents an instance of a Security Health Analytics custom module, including
307
- its full module name, display name, enablement state, and last updated time.
308
- You can create a custom module at the organization, folder, or project level.
309
- Custom modules that you create at the organization or folder level are inherited
310
- by the child folders and projects.
311
-
312
- To get more information about ProjectSecurityHealthAnalyticsCustomModule, see:
313
-
314
- * [API documentation](https://cloud.google.com/security-command-center/docs/reference/security-center-management/rest/v1/projects.locations.securityHealthAnalyticsCustomModules)
315
- * How-to Guides
316
- * [Overview of custom modules for Security Health Analytics](https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview)
317
-
318
- ## Example Usage
319
-
320
- ### Scc Management Organization Project Security Health Analytics Custom Module Basic
321
-
322
- ```python
323
- import pulumi
324
- import pulumi_gcp as gcp
325
-
326
- example = gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModule("example",
327
- location="global",
328
- display_name="basic_custom_module",
329
- enablement_state="ENABLED",
330
- custom_config=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
331
- predicate=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
332
- expression="resource.rotationPeriod > duration(\\"2592000s\\")",
333
- ),
334
- resource_selector=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
335
- resource_types=["cloudkms.googleapis.com/CryptoKey"],
336
- ),
337
- description="The rotation period of the identified cryptokey resource exceeds 30 days.",
338
- recommendation="Set the rotation period to at most 30 days.",
339
- severity="MEDIUM",
340
- ))
341
- ```
342
- ### Scc Management Organization Project Security Health Analytics Custom Module Full
343
-
344
- ```python
345
- import pulumi
346
- import pulumi_gcp as gcp
347
-
348
- example = gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModule("example",
349
- location="global",
350
- display_name="full_custom_module",
351
- enablement_state="ENABLED",
352
- custom_config=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
353
- predicate=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
354
- expression="resource.rotationPeriod > duration(\\"2592000s\\")",
355
- title="Purpose of the expression",
356
- description="description of the expression",
357
- location="location of the expression",
358
- ),
359
- custom_output=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs(
360
- properties=[gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs(
361
- name="duration",
362
- value_expression=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs(
363
- expression="resource.rotationPeriod",
364
- title="Purpose of the expression",
365
- description="description of the expression",
366
- location="location of the expression",
367
- ),
368
- )],
369
- ),
370
- resource_selector=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
371
- resource_types=["cloudkms.googleapis.com/CryptoKey"],
372
- ),
373
- severity="LOW",
374
- description="Description of the custom module",
375
- recommendation="Steps to resolve violation",
376
- ))
377
- ```
378
-
379
- ## Import
380
-
381
- ProjectSecurityHealthAnalyticsCustomModule can be imported using any of these accepted formats:
382
-
383
- * `projects/{{project}}/locations/{{location}}/securityHealthAnalyticsCustomModules/{{name}}`
384
-
385
- * `{{project}}/{{location}}/{{name}}`
386
-
387
- * `{{location}}/{{name}}`
388
-
389
- When using the `pulumi import` command, ProjectSecurityHealthAnalyticsCustomModule can be imported using one of the formats above. For example:
390
-
391
- ```sh
392
- $ pulumi import gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule default projects/{{project}}/locations/{{location}}/securityHealthAnalyticsCustomModules/{{name}}
393
- ```
394
-
395
- ```sh
396
- $ pulumi import gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule default {{project}}/{{location}}/{{name}}
397
- ```
398
-
399
- ```sh
400
- $ pulumi import gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule default {{location}}/{{name}}
401
- ```
402
-
403
- :param str resource_name: The name of the resource.
404
- :param pulumi.ResourceOptions opts: Options for the resource.
405
- :param pulumi.Input[pulumi.InputType['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']] custom_config: The user specified custom configuration for the module.
406
- Structure is documented below.
407
- :param pulumi.Input[str] display_name: The display name of the Security Health Analytics custom module. This
408
- display name becomes the finding category for all findings that are
409
- returned by this custom module. The display name must be between 1 and
410
- 128 characters, start with a lowercase letter, and contain alphanumeric
411
- characters or underscores only.
412
- :param pulumi.Input[str] enablement_state: The enablement state of the custom module.
413
- Possible values are: `ENABLED`, `DISABLED`.
414
- :param pulumi.Input[str] location: Location ID of the parent organization. If not provided, 'global' will be used as the default location.
415
- :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
416
- If it is not provided, the provider project is used.
417
- """
418
- ...
419
- @overload
420
- def __init__(__self__,
421
- resource_name: str,
422
- args: Optional[ManagementProjectSecurityHealthAnalyticsCustomModuleArgs] = None,
423
- opts: Optional[pulumi.ResourceOptions] = None):
424
- """
425
- Represents an instance of a Security Health Analytics custom module, including
426
- its full module name, display name, enablement state, and last updated time.
427
- You can create a custom module at the organization, folder, or project level.
428
- Custom modules that you create at the organization or folder level are inherited
429
- by the child folders and projects.
430
-
431
- To get more information about ProjectSecurityHealthAnalyticsCustomModule, see:
432
-
433
- * [API documentation](https://cloud.google.com/security-command-center/docs/reference/security-center-management/rest/v1/projects.locations.securityHealthAnalyticsCustomModules)
434
- * How-to Guides
435
- * [Overview of custom modules for Security Health Analytics](https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview)
436
-
437
- ## Example Usage
438
-
439
- ### Scc Management Organization Project Security Health Analytics Custom Module Basic
440
-
441
- ```python
442
- import pulumi
443
- import pulumi_gcp as gcp
444
-
445
- example = gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModule("example",
446
- location="global",
447
- display_name="basic_custom_module",
448
- enablement_state="ENABLED",
449
- custom_config=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
450
- predicate=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
451
- expression="resource.rotationPeriod > duration(\\"2592000s\\")",
452
- ),
453
- resource_selector=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
454
- resource_types=["cloudkms.googleapis.com/CryptoKey"],
455
- ),
456
- description="The rotation period of the identified cryptokey resource exceeds 30 days.",
457
- recommendation="Set the rotation period to at most 30 days.",
458
- severity="MEDIUM",
459
- ))
460
- ```
461
- ### Scc Management Organization Project Security Health Analytics Custom Module Full
462
-
463
- ```python
464
- import pulumi
465
- import pulumi_gcp as gcp
466
-
467
- example = gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModule("example",
468
- location="global",
469
- display_name="full_custom_module",
470
- enablement_state="ENABLED",
471
- custom_config=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
472
- predicate=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
473
- expression="resource.rotationPeriod > duration(\\"2592000s\\")",
474
- title="Purpose of the expression",
475
- description="description of the expression",
476
- location="location of the expression",
477
- ),
478
- custom_output=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs(
479
- properties=[gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs(
480
- name="duration",
481
- value_expression=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs(
482
- expression="resource.rotationPeriod",
483
- title="Purpose of the expression",
484
- description="description of the expression",
485
- location="location of the expression",
486
- ),
487
- )],
488
- ),
489
- resource_selector=gcp.securitycenter.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
490
- resource_types=["cloudkms.googleapis.com/CryptoKey"],
491
- ),
492
- severity="LOW",
493
- description="Description of the custom module",
494
- recommendation="Steps to resolve violation",
495
- ))
496
- ```
497
-
498
- ## Import
499
-
500
- ProjectSecurityHealthAnalyticsCustomModule can be imported using any of these accepted formats:
501
-
502
- * `projects/{{project}}/locations/{{location}}/securityHealthAnalyticsCustomModules/{{name}}`
503
-
504
- * `{{project}}/{{location}}/{{name}}`
505
-
506
- * `{{location}}/{{name}}`
507
-
508
- When using the `pulumi import` command, ProjectSecurityHealthAnalyticsCustomModule can be imported using one of the formats above. For example:
509
-
510
- ```sh
511
- $ pulumi import gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule default projects/{{project}}/locations/{{location}}/securityHealthAnalyticsCustomModules/{{name}}
512
- ```
513
-
514
- ```sh
515
- $ pulumi import gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule default {{project}}/{{location}}/{{name}}
516
- ```
517
-
518
- ```sh
519
- $ pulumi import gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule default {{location}}/{{name}}
520
- ```
521
-
522
- :param str resource_name: The name of the resource.
523
- :param ManagementProjectSecurityHealthAnalyticsCustomModuleArgs args: The arguments to use to populate this resource's properties.
524
- :param pulumi.ResourceOptions opts: Options for the resource.
525
- """
526
- ...
527
- def __init__(__self__, resource_name: str, *args, **kwargs):
528
- resource_args, opts = _utilities.get_resource_args_opts(ManagementProjectSecurityHealthAnalyticsCustomModuleArgs, pulumi.ResourceOptions, *args, **kwargs)
529
- if resource_args is not None:
530
- __self__._internal_init(resource_name, opts, **resource_args.__dict__)
531
- else:
532
- __self__._internal_init(resource_name, *args, **kwargs)
533
-
534
- def _internal_init(__self__,
535
- resource_name: str,
536
- opts: Optional[pulumi.ResourceOptions] = None,
537
- custom_config: Optional[pulumi.Input[pulumi.InputType['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]] = None,
538
- display_name: Optional[pulumi.Input[str]] = None,
539
- enablement_state: Optional[pulumi.Input[str]] = None,
540
- location: Optional[pulumi.Input[str]] = None,
541
- project: Optional[pulumi.Input[str]] = None,
542
- __props__=None):
543
- opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
544
- if not isinstance(opts, pulumi.ResourceOptions):
545
- raise TypeError('Expected resource options to be a ResourceOptions instance')
546
- if opts.id is None:
547
- if __props__ is not None:
548
- raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
549
- __props__ = ManagementProjectSecurityHealthAnalyticsCustomModuleArgs.__new__(ManagementProjectSecurityHealthAnalyticsCustomModuleArgs)
550
-
551
- __props__.__dict__["custom_config"] = custom_config
552
- __props__.__dict__["display_name"] = display_name
553
- __props__.__dict__["enablement_state"] = enablement_state
554
- __props__.__dict__["location"] = location
555
- __props__.__dict__["project"] = project
556
- __props__.__dict__["ancestor_module"] = None
557
- __props__.__dict__["last_editor"] = None
558
- __props__.__dict__["name"] = None
559
- __props__.__dict__["update_time"] = None
560
- super(ManagementProjectSecurityHealthAnalyticsCustomModule, __self__).__init__(
561
- 'gcp:securitycenter/managementProjectSecurityHealthAnalyticsCustomModule:ManagementProjectSecurityHealthAnalyticsCustomModule',
562
- resource_name,
563
- __props__,
564
- opts)
565
-
566
- @staticmethod
567
- def get(resource_name: str,
568
- id: pulumi.Input[str],
569
- opts: Optional[pulumi.ResourceOptions] = None,
570
- ancestor_module: Optional[pulumi.Input[str]] = None,
571
- custom_config: Optional[pulumi.Input[pulumi.InputType['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']]] = None,
572
- display_name: Optional[pulumi.Input[str]] = None,
573
- enablement_state: Optional[pulumi.Input[str]] = None,
574
- last_editor: Optional[pulumi.Input[str]] = None,
575
- location: Optional[pulumi.Input[str]] = None,
576
- name: Optional[pulumi.Input[str]] = None,
577
- project: Optional[pulumi.Input[str]] = None,
578
- update_time: Optional[pulumi.Input[str]] = None) -> 'ManagementProjectSecurityHealthAnalyticsCustomModule':
579
- """
580
- Get an existing ManagementProjectSecurityHealthAnalyticsCustomModule resource's state with the given name, id, and optional extra
581
- properties used to qualify the lookup.
582
-
583
- :param str resource_name: The unique name of the resulting resource.
584
- :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
585
- :param pulumi.ResourceOptions opts: Options for the resource.
586
- :param pulumi.Input[str] ancestor_module: If empty, indicates that the custom module was created in the organization,folder,
587
- or project in which you are viewing the custom module. Otherwise, ancestor_module
588
- specifies the organization or folder from which the custom module is inherited.
589
- :param pulumi.Input[pulumi.InputType['ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfigArgs']] custom_config: The user specified custom configuration for the module.
590
- Structure is documented below.
591
- :param pulumi.Input[str] display_name: The display name of the Security Health Analytics custom module. This
592
- display name becomes the finding category for all findings that are
593
- returned by this custom module. The display name must be between 1 and
594
- 128 characters, start with a lowercase letter, and contain alphanumeric
595
- characters or underscores only.
596
- :param pulumi.Input[str] enablement_state: The enablement state of the custom module.
597
- Possible values are: `ENABLED`, `DISABLED`.
598
- :param pulumi.Input[str] last_editor: The editor that last updated the custom module.
599
- :param pulumi.Input[str] location: Location ID of the parent organization. If not provided, 'global' will be used as the default location.
600
- :param pulumi.Input[str] name: The resource name of the custom module. Its format is "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}".
601
- The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
602
- :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
603
- If it is not provided, the provider project is used.
604
- :param pulumi.Input[str] update_time: The time at which the custom module was last updated.
605
- A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
606
- up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
607
- """
608
- opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
609
-
610
- __props__ = _ManagementProjectSecurityHealthAnalyticsCustomModuleState.__new__(_ManagementProjectSecurityHealthAnalyticsCustomModuleState)
611
-
612
- __props__.__dict__["ancestor_module"] = ancestor_module
613
- __props__.__dict__["custom_config"] = custom_config
614
- __props__.__dict__["display_name"] = display_name
615
- __props__.__dict__["enablement_state"] = enablement_state
616
- __props__.__dict__["last_editor"] = last_editor
617
- __props__.__dict__["location"] = location
618
- __props__.__dict__["name"] = name
619
- __props__.__dict__["project"] = project
620
- __props__.__dict__["update_time"] = update_time
621
- return ManagementProjectSecurityHealthAnalyticsCustomModule(resource_name, opts=opts, __props__=__props__)
622
-
623
- @property
624
- @pulumi.getter(name="ancestorModule")
625
- def ancestor_module(self) -> pulumi.Output[str]:
626
- """
627
- If empty, indicates that the custom module was created in the organization,folder,
628
- or project in which you are viewing the custom module. Otherwise, ancestor_module
629
- specifies the organization or folder from which the custom module is inherited.
630
- """
631
- return pulumi.get(self, "ancestor_module")
632
-
633
- @property
634
- @pulumi.getter(name="customConfig")
635
- def custom_config(self) -> pulumi.Output[Optional['outputs.ManagementProjectSecurityHealthAnalyticsCustomModuleCustomConfig']]:
636
- """
637
- The user specified custom configuration for the module.
638
- Structure is documented below.
639
- """
640
- return pulumi.get(self, "custom_config")
641
-
642
- @property
643
- @pulumi.getter(name="displayName")
644
- def display_name(self) -> pulumi.Output[Optional[str]]:
645
- """
646
- The display name of the Security Health Analytics custom module. This
647
- display name becomes the finding category for all findings that are
648
- returned by this custom module. The display name must be between 1 and
649
- 128 characters, start with a lowercase letter, and contain alphanumeric
650
- characters or underscores only.
651
- """
652
- return pulumi.get(self, "display_name")
653
-
654
- @property
655
- @pulumi.getter(name="enablementState")
656
- def enablement_state(self) -> pulumi.Output[Optional[str]]:
657
- """
658
- The enablement state of the custom module.
659
- Possible values are: `ENABLED`, `DISABLED`.
660
- """
661
- return pulumi.get(self, "enablement_state")
662
-
663
- @property
664
- @pulumi.getter(name="lastEditor")
665
- def last_editor(self) -> pulumi.Output[str]:
666
- """
667
- The editor that last updated the custom module.
668
- """
669
- return pulumi.get(self, "last_editor")
670
-
671
- @property
672
- @pulumi.getter
673
- def location(self) -> pulumi.Output[Optional[str]]:
674
- """
675
- Location ID of the parent organization. If not provided, 'global' will be used as the default location.
676
- """
677
- return pulumi.get(self, "location")
678
-
679
- @property
680
- @pulumi.getter
681
- def name(self) -> pulumi.Output[str]:
682
- """
683
- The resource name of the custom module. Its format is "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}".
684
- The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
685
- """
686
- return pulumi.get(self, "name")
687
-
688
- @property
689
- @pulumi.getter
690
- def project(self) -> pulumi.Output[str]:
691
- """
692
- The ID of the project in which the resource belongs.
693
- If it is not provided, the provider project is used.
694
- """
695
- return pulumi.get(self, "project")
696
-
697
- @property
698
- @pulumi.getter(name="updateTime")
699
- def update_time(self) -> pulumi.Output[str]:
700
- """
701
- The time at which the custom module was last updated.
702
- A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
703
- up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
704
- """
705
- return pulumi.get(self, "update_time")
706
-