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