pulumi-gcp 7.36.0a1723631483__py3-none-any.whl → 7.37.0a1723638212__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 (53) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +2 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +780 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +601 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +323 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +332 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +2 -24
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +2 -24
  9. pulumi_gcp/applicationintegration/client.py +2 -2
  10. pulumi_gcp/clouddeploy/_inputs.py +21 -1
  11. pulumi_gcp/clouddeploy/outputs.py +15 -1
  12. pulumi_gcp/cloudrunv2/_inputs.py +40 -0
  13. pulumi_gcp/cloudrunv2/outputs.py +46 -0
  14. pulumi_gcp/compute/region_target_https_proxy.py +28 -0
  15. pulumi_gcp/container/_inputs.py +26 -0
  16. pulumi_gcp/container/outputs.py +29 -0
  17. pulumi_gcp/dataform/repository.py +80 -2
  18. pulumi_gcp/discoveryengine/data_store.py +93 -2
  19. pulumi_gcp/gkehub/_inputs.py +63 -0
  20. pulumi_gcp/gkehub/outputs.py +38 -0
  21. pulumi_gcp/logging/get_log_view_iam_policy.py +28 -2
  22. pulumi_gcp/logging/log_view_iam_binding.py +512 -0
  23. pulumi_gcp/logging/log_view_iam_member.py +512 -0
  24. pulumi_gcp/logging/log_view_iam_policy.py +512 -0
  25. pulumi_gcp/netapp/_inputs.py +6 -6
  26. pulumi_gcp/netapp/outputs.py +4 -4
  27. pulumi_gcp/networkconnectivity/regional_endpoint.py +6 -6
  28. pulumi_gcp/organizations/get_project.py +11 -1
  29. pulumi_gcp/organizations/project.py +76 -21
  30. pulumi_gcp/pulumi-plugin.json +1 -1
  31. pulumi_gcp/securitycenter/__init__.py +8 -0
  32. pulumi_gcp/securitycenter/_inputs.py +191 -0
  33. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +146 -0
  34. pulumi_gcp/securitycenter/outputs.py +115 -0
  35. pulumi_gcp/securitycenter/v2_folder_mute_config.py +679 -0
  36. pulumi_gcp/securitycenter/v2_organization_source.py +416 -0
  37. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +722 -0
  38. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +722 -0
  39. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +561 -0
  40. pulumi_gcp/securitycenter/v2_project_mute_config.py +684 -0
  41. pulumi_gcp/securitycenter/v2_project_notification_config.py +559 -0
  42. pulumi_gcp/spanner/instance.py +0 -7
  43. pulumi_gcp/sql/_inputs.py +3 -3
  44. pulumi_gcp/sql/outputs.py +6 -6
  45. pulumi_gcp/storage/bucket_object.py +28 -0
  46. pulumi_gcp/storage/get_bucket_object.py +14 -1
  47. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  48. pulumi_gcp/storage/managed_folder.py +72 -2
  49. pulumi_gcp/vmwareengine/network_policy.py +6 -6
  50. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/METADATA +1 -1
  51. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/RECORD +53 -43
  52. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/WHEEL +0 -0
  53. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,684 @@
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__ = ['V2ProjectMuteConfigArgs', 'V2ProjectMuteConfig']
18
+
19
+ @pulumi.input_type
20
+ class V2ProjectMuteConfigArgs:
21
+ def __init__(__self__, *,
22
+ filter: pulumi.Input[str],
23
+ mute_config_id: pulumi.Input[str],
24
+ type: pulumi.Input[str],
25
+ description: Optional[pulumi.Input[str]] = None,
26
+ location: Optional[pulumi.Input[str]] = None,
27
+ project: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a V2ProjectMuteConfig resource.
30
+ :param pulumi.Input[str] filter: An expression that defines the filter to apply across create/update
31
+ events of findings. While creating a filter string, be mindful of
32
+ the scope in which the mute configuration is being created. E.g.,
33
+ If a filter contains project = X but is created under the
34
+ project = Y scope, it might not match any findings.
35
+ :param pulumi.Input[str] mute_config_id: Unique identifier provided by the client within the parent scope.
36
+
37
+
38
+ - - -
39
+ :param pulumi.Input[str] type: The type of the mute config.
40
+ :param pulumi.Input[str] description: A description of the mute config.
41
+ :param pulumi.Input[str] location: location Id is provided by project. If not provided, Use global as default.
42
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
43
+ If it is not provided, the provider project is used.
44
+ """
45
+ pulumi.set(__self__, "filter", filter)
46
+ pulumi.set(__self__, "mute_config_id", mute_config_id)
47
+ pulumi.set(__self__, "type", type)
48
+ if description is not None:
49
+ pulumi.set(__self__, "description", description)
50
+ if location is not None:
51
+ pulumi.set(__self__, "location", location)
52
+ if project is not None:
53
+ pulumi.set(__self__, "project", project)
54
+
55
+ @property
56
+ @pulumi.getter
57
+ def filter(self) -> pulumi.Input[str]:
58
+ """
59
+ An expression that defines the filter to apply across create/update
60
+ events of findings. While creating a filter string, be mindful of
61
+ the scope in which the mute configuration is being created. E.g.,
62
+ If a filter contains project = X but is created under the
63
+ project = Y scope, it might not match any findings.
64
+ """
65
+ return pulumi.get(self, "filter")
66
+
67
+ @filter.setter
68
+ def filter(self, value: pulumi.Input[str]):
69
+ pulumi.set(self, "filter", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="muteConfigId")
73
+ def mute_config_id(self) -> pulumi.Input[str]:
74
+ """
75
+ Unique identifier provided by the client within the parent scope.
76
+
77
+
78
+ - - -
79
+ """
80
+ return pulumi.get(self, "mute_config_id")
81
+
82
+ @mute_config_id.setter
83
+ def mute_config_id(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "mute_config_id", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def type(self) -> pulumi.Input[str]:
89
+ """
90
+ The type of the mute config.
91
+ """
92
+ return pulumi.get(self, "type")
93
+
94
+ @type.setter
95
+ def type(self, value: pulumi.Input[str]):
96
+ pulumi.set(self, "type", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def description(self) -> Optional[pulumi.Input[str]]:
101
+ """
102
+ A description of the mute config.
103
+ """
104
+ return pulumi.get(self, "description")
105
+
106
+ @description.setter
107
+ def description(self, value: Optional[pulumi.Input[str]]):
108
+ pulumi.set(self, "description", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def location(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ location Id is provided by project. If not provided, Use global as default.
115
+ """
116
+ return pulumi.get(self, "location")
117
+
118
+ @location.setter
119
+ def location(self, value: Optional[pulumi.Input[str]]):
120
+ pulumi.set(self, "location", value)
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def project(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ The ID of the project in which the resource belongs.
127
+ If it is not provided, the provider project is used.
128
+ """
129
+ return pulumi.get(self, "project")
130
+
131
+ @project.setter
132
+ def project(self, value: Optional[pulumi.Input[str]]):
133
+ pulumi.set(self, "project", value)
134
+
135
+
136
+ @pulumi.input_type
137
+ class _V2ProjectMuteConfigState:
138
+ def __init__(__self__, *,
139
+ create_time: Optional[pulumi.Input[str]] = None,
140
+ description: Optional[pulumi.Input[str]] = None,
141
+ filter: Optional[pulumi.Input[str]] = None,
142
+ location: Optional[pulumi.Input[str]] = None,
143
+ most_recent_editor: Optional[pulumi.Input[str]] = None,
144
+ mute_config_id: Optional[pulumi.Input[str]] = None,
145
+ name: Optional[pulumi.Input[str]] = None,
146
+ project: Optional[pulumi.Input[str]] = None,
147
+ type: Optional[pulumi.Input[str]] = None,
148
+ update_time: Optional[pulumi.Input[str]] = None):
149
+ """
150
+ Input properties used for looking up and filtering V2ProjectMuteConfig resources.
151
+ :param pulumi.Input[str] create_time: The time at which the mute config was created. This field is set by
152
+ the server and will be ignored if provided on config creation.
153
+ :param pulumi.Input[str] description: A description of the mute config.
154
+ :param pulumi.Input[str] filter: An expression that defines the filter to apply across create/update
155
+ events of findings. While creating a filter string, be mindful of
156
+ the scope in which the mute configuration is being created. E.g.,
157
+ If a filter contains project = X but is created under the
158
+ project = Y scope, it might not match any findings.
159
+ :param pulumi.Input[str] location: location Id is provided by project. If not provided, Use global as default.
160
+ :param pulumi.Input[str] most_recent_editor: Email address of the user who last edited the mute config. This
161
+ field is set by the server and will be ignored if provided on
162
+ config creation or update.
163
+ :param pulumi.Input[str] mute_config_id: Unique identifier provided by the client within the parent scope.
164
+
165
+
166
+ - - -
167
+ :param pulumi.Input[str] name: Name of the mute config. Its format is
168
+ projects/{project}/locations/global/muteConfigs/{configId},
169
+ folders/{folder}/locations/global/muteConfigs/{configId},
170
+ or organizations/{organization}/locations/global/muteConfigs/{configId}
171
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
172
+ If it is not provided, the provider project is used.
173
+ :param pulumi.Input[str] type: The type of the mute config.
174
+ :param pulumi.Input[str] update_time: Output only. The most recent time at which the mute config was
175
+ updated. This field is set by the server and will be ignored if
176
+ provided on config creation or update.
177
+ """
178
+ if create_time is not None:
179
+ pulumi.set(__self__, "create_time", create_time)
180
+ if description is not None:
181
+ pulumi.set(__self__, "description", description)
182
+ if filter is not None:
183
+ pulumi.set(__self__, "filter", filter)
184
+ if location is not None:
185
+ pulumi.set(__self__, "location", location)
186
+ if most_recent_editor is not None:
187
+ pulumi.set(__self__, "most_recent_editor", most_recent_editor)
188
+ if mute_config_id is not None:
189
+ pulumi.set(__self__, "mute_config_id", mute_config_id)
190
+ if name is not None:
191
+ pulumi.set(__self__, "name", name)
192
+ if project is not None:
193
+ pulumi.set(__self__, "project", project)
194
+ if type is not None:
195
+ pulumi.set(__self__, "type", type)
196
+ if update_time is not None:
197
+ pulumi.set(__self__, "update_time", update_time)
198
+
199
+ @property
200
+ @pulumi.getter(name="createTime")
201
+ def create_time(self) -> Optional[pulumi.Input[str]]:
202
+ """
203
+ The time at which the mute config was created. This field is set by
204
+ the server and will be ignored if provided on config creation.
205
+ """
206
+ return pulumi.get(self, "create_time")
207
+
208
+ @create_time.setter
209
+ def create_time(self, value: Optional[pulumi.Input[str]]):
210
+ pulumi.set(self, "create_time", value)
211
+
212
+ @property
213
+ @pulumi.getter
214
+ def description(self) -> Optional[pulumi.Input[str]]:
215
+ """
216
+ A description of the mute config.
217
+ """
218
+ return pulumi.get(self, "description")
219
+
220
+ @description.setter
221
+ def description(self, value: Optional[pulumi.Input[str]]):
222
+ pulumi.set(self, "description", value)
223
+
224
+ @property
225
+ @pulumi.getter
226
+ def filter(self) -> Optional[pulumi.Input[str]]:
227
+ """
228
+ An expression that defines the filter to apply across create/update
229
+ events of findings. While creating a filter string, be mindful of
230
+ the scope in which the mute configuration is being created. E.g.,
231
+ If a filter contains project = X but is created under the
232
+ project = Y scope, it might not match any findings.
233
+ """
234
+ return pulumi.get(self, "filter")
235
+
236
+ @filter.setter
237
+ def filter(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "filter", value)
239
+
240
+ @property
241
+ @pulumi.getter
242
+ def location(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ location Id is provided by project. If not provided, Use global as default.
245
+ """
246
+ return pulumi.get(self, "location")
247
+
248
+ @location.setter
249
+ def location(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "location", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="mostRecentEditor")
254
+ def most_recent_editor(self) -> Optional[pulumi.Input[str]]:
255
+ """
256
+ Email address of the user who last edited the mute config. This
257
+ field is set by the server and will be ignored if provided on
258
+ config creation or update.
259
+ """
260
+ return pulumi.get(self, "most_recent_editor")
261
+
262
+ @most_recent_editor.setter
263
+ def most_recent_editor(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "most_recent_editor", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="muteConfigId")
268
+ def mute_config_id(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ Unique identifier provided by the client within the parent scope.
271
+
272
+
273
+ - - -
274
+ """
275
+ return pulumi.get(self, "mute_config_id")
276
+
277
+ @mute_config_id.setter
278
+ def mute_config_id(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "mute_config_id", value)
280
+
281
+ @property
282
+ @pulumi.getter
283
+ def name(self) -> Optional[pulumi.Input[str]]:
284
+ """
285
+ Name of the mute config. Its format is
286
+ projects/{project}/locations/global/muteConfigs/{configId},
287
+ folders/{folder}/locations/global/muteConfigs/{configId},
288
+ or organizations/{organization}/locations/global/muteConfigs/{configId}
289
+ """
290
+ return pulumi.get(self, "name")
291
+
292
+ @name.setter
293
+ def name(self, value: Optional[pulumi.Input[str]]):
294
+ pulumi.set(self, "name", value)
295
+
296
+ @property
297
+ @pulumi.getter
298
+ def project(self) -> Optional[pulumi.Input[str]]:
299
+ """
300
+ The ID of the project in which the resource belongs.
301
+ If it is not provided, the provider project is used.
302
+ """
303
+ return pulumi.get(self, "project")
304
+
305
+ @project.setter
306
+ def project(self, value: Optional[pulumi.Input[str]]):
307
+ pulumi.set(self, "project", value)
308
+
309
+ @property
310
+ @pulumi.getter
311
+ def type(self) -> Optional[pulumi.Input[str]]:
312
+ """
313
+ The type of the mute config.
314
+ """
315
+ return pulumi.get(self, "type")
316
+
317
+ @type.setter
318
+ def type(self, value: Optional[pulumi.Input[str]]):
319
+ pulumi.set(self, "type", value)
320
+
321
+ @property
322
+ @pulumi.getter(name="updateTime")
323
+ def update_time(self) -> Optional[pulumi.Input[str]]:
324
+ """
325
+ Output only. The most recent time at which the mute config was
326
+ updated. This field is set by the server and will be ignored if
327
+ provided on config creation or update.
328
+ """
329
+ return pulumi.get(self, "update_time")
330
+
331
+ @update_time.setter
332
+ def update_time(self, value: Optional[pulumi.Input[str]]):
333
+ pulumi.set(self, "update_time", value)
334
+
335
+
336
+ class V2ProjectMuteConfig(pulumi.CustomResource):
337
+ @overload
338
+ def __init__(__self__,
339
+ resource_name: str,
340
+ opts: Optional[pulumi.ResourceOptions] = None,
341
+ description: Optional[pulumi.Input[str]] = None,
342
+ filter: Optional[pulumi.Input[str]] = None,
343
+ location: Optional[pulumi.Input[str]] = None,
344
+ mute_config_id: Optional[pulumi.Input[str]] = None,
345
+ project: Optional[pulumi.Input[str]] = None,
346
+ type: Optional[pulumi.Input[str]] = None,
347
+ __props__=None):
348
+ """
349
+ Mute Findings is a volume management feature in Security Command Center
350
+ that lets you manually or programmatically hide irrelevant findings,
351
+ and create filters to automatically silence existing and future
352
+ findings based on criteria you specify.
353
+
354
+ To get more information about ProjectMuteConfig, see:
355
+
356
+ * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v2/projects.muteConfigs)
357
+
358
+ ## Example Usage
359
+
360
+ ### Scc V2 Project Mute Config Basic
361
+
362
+ ```python
363
+ import pulumi
364
+ import pulumi_gcp as gcp
365
+
366
+ default = gcp.securitycenter.V2ProjectMuteConfig("default",
367
+ mute_config_id="my-config",
368
+ project="",
369
+ location="global",
370
+ description="My custom Cloud Security Command Center Finding Project mute Configuration",
371
+ filter="severity = \\"HIGH\\"",
372
+ type="STATIC")
373
+ ```
374
+
375
+ ## Import
376
+
377
+ ProjectMuteConfig can be imported using any of these accepted formats:
378
+
379
+ * `projects/{{project}}/locations/{{location}}/muteConfigs/{{mute_config_id}}`
380
+
381
+ * `{{project}}/{{location}}/{{mute_config_id}}`
382
+
383
+ * `{{location}}/{{mute_config_id}}`
384
+
385
+ When using the `pulumi import` command, ProjectMuteConfig can be imported using one of the formats above. For example:
386
+
387
+ ```sh
388
+ $ pulumi import gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig default projects/{{project}}/locations/{{location}}/muteConfigs/{{mute_config_id}}
389
+ ```
390
+
391
+ ```sh
392
+ $ pulumi import gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig default {{project}}/{{location}}/{{mute_config_id}}
393
+ ```
394
+
395
+ ```sh
396
+ $ pulumi import gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig default {{location}}/{{mute_config_id}}
397
+ ```
398
+
399
+ :param str resource_name: The name of the resource.
400
+ :param pulumi.ResourceOptions opts: Options for the resource.
401
+ :param pulumi.Input[str] description: A description of the mute config.
402
+ :param pulumi.Input[str] filter: An expression that defines the filter to apply across create/update
403
+ events of findings. While creating a filter string, be mindful of
404
+ the scope in which the mute configuration is being created. E.g.,
405
+ If a filter contains project = X but is created under the
406
+ project = Y scope, it might not match any findings.
407
+ :param pulumi.Input[str] location: location Id is provided by project. If not provided, Use global as default.
408
+ :param pulumi.Input[str] mute_config_id: Unique identifier provided by the client within the parent scope.
409
+
410
+
411
+ - - -
412
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
413
+ If it is not provided, the provider project is used.
414
+ :param pulumi.Input[str] type: The type of the mute config.
415
+ """
416
+ ...
417
+ @overload
418
+ def __init__(__self__,
419
+ resource_name: str,
420
+ args: V2ProjectMuteConfigArgs,
421
+ opts: Optional[pulumi.ResourceOptions] = None):
422
+ """
423
+ Mute Findings is a volume management feature in Security Command Center
424
+ that lets you manually or programmatically hide irrelevant findings,
425
+ and create filters to automatically silence existing and future
426
+ findings based on criteria you specify.
427
+
428
+ To get more information about ProjectMuteConfig, see:
429
+
430
+ * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v2/projects.muteConfigs)
431
+
432
+ ## Example Usage
433
+
434
+ ### Scc V2 Project Mute Config Basic
435
+
436
+ ```python
437
+ import pulumi
438
+ import pulumi_gcp as gcp
439
+
440
+ default = gcp.securitycenter.V2ProjectMuteConfig("default",
441
+ mute_config_id="my-config",
442
+ project="",
443
+ location="global",
444
+ description="My custom Cloud Security Command Center Finding Project mute Configuration",
445
+ filter="severity = \\"HIGH\\"",
446
+ type="STATIC")
447
+ ```
448
+
449
+ ## Import
450
+
451
+ ProjectMuteConfig can be imported using any of these accepted formats:
452
+
453
+ * `projects/{{project}}/locations/{{location}}/muteConfigs/{{mute_config_id}}`
454
+
455
+ * `{{project}}/{{location}}/{{mute_config_id}}`
456
+
457
+ * `{{location}}/{{mute_config_id}}`
458
+
459
+ When using the `pulumi import` command, ProjectMuteConfig can be imported using one of the formats above. For example:
460
+
461
+ ```sh
462
+ $ pulumi import gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig default projects/{{project}}/locations/{{location}}/muteConfigs/{{mute_config_id}}
463
+ ```
464
+
465
+ ```sh
466
+ $ pulumi import gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig default {{project}}/{{location}}/{{mute_config_id}}
467
+ ```
468
+
469
+ ```sh
470
+ $ pulumi import gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig default {{location}}/{{mute_config_id}}
471
+ ```
472
+
473
+ :param str resource_name: The name of the resource.
474
+ :param V2ProjectMuteConfigArgs args: The arguments to use to populate this resource's properties.
475
+ :param pulumi.ResourceOptions opts: Options for the resource.
476
+ """
477
+ ...
478
+ def __init__(__self__, resource_name: str, *args, **kwargs):
479
+ resource_args, opts = _utilities.get_resource_args_opts(V2ProjectMuteConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
480
+ if resource_args is not None:
481
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
482
+ else:
483
+ __self__._internal_init(resource_name, *args, **kwargs)
484
+
485
+ def _internal_init(__self__,
486
+ resource_name: str,
487
+ opts: Optional[pulumi.ResourceOptions] = None,
488
+ description: Optional[pulumi.Input[str]] = None,
489
+ filter: Optional[pulumi.Input[str]] = None,
490
+ location: Optional[pulumi.Input[str]] = None,
491
+ mute_config_id: Optional[pulumi.Input[str]] = None,
492
+ project: Optional[pulumi.Input[str]] = None,
493
+ type: Optional[pulumi.Input[str]] = None,
494
+ __props__=None):
495
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
496
+ if not isinstance(opts, pulumi.ResourceOptions):
497
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
498
+ if opts.id is None:
499
+ if __props__ is not None:
500
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
501
+ __props__ = V2ProjectMuteConfigArgs.__new__(V2ProjectMuteConfigArgs)
502
+
503
+ __props__.__dict__["description"] = description
504
+ if filter is None and not opts.urn:
505
+ raise TypeError("Missing required property 'filter'")
506
+ __props__.__dict__["filter"] = filter
507
+ __props__.__dict__["location"] = location
508
+ if mute_config_id is None and not opts.urn:
509
+ raise TypeError("Missing required property 'mute_config_id'")
510
+ __props__.__dict__["mute_config_id"] = mute_config_id
511
+ __props__.__dict__["project"] = project
512
+ if type is None and not opts.urn:
513
+ raise TypeError("Missing required property 'type'")
514
+ __props__.__dict__["type"] = type
515
+ __props__.__dict__["create_time"] = None
516
+ __props__.__dict__["most_recent_editor"] = None
517
+ __props__.__dict__["name"] = None
518
+ __props__.__dict__["update_time"] = None
519
+ super(V2ProjectMuteConfig, __self__).__init__(
520
+ 'gcp:securitycenter/v2ProjectMuteConfig:V2ProjectMuteConfig',
521
+ resource_name,
522
+ __props__,
523
+ opts)
524
+
525
+ @staticmethod
526
+ def get(resource_name: str,
527
+ id: pulumi.Input[str],
528
+ opts: Optional[pulumi.ResourceOptions] = None,
529
+ create_time: Optional[pulumi.Input[str]] = None,
530
+ description: Optional[pulumi.Input[str]] = None,
531
+ filter: Optional[pulumi.Input[str]] = None,
532
+ location: Optional[pulumi.Input[str]] = None,
533
+ most_recent_editor: Optional[pulumi.Input[str]] = None,
534
+ mute_config_id: Optional[pulumi.Input[str]] = None,
535
+ name: Optional[pulumi.Input[str]] = None,
536
+ project: Optional[pulumi.Input[str]] = None,
537
+ type: Optional[pulumi.Input[str]] = None,
538
+ update_time: Optional[pulumi.Input[str]] = None) -> 'V2ProjectMuteConfig':
539
+ """
540
+ Get an existing V2ProjectMuteConfig resource's state with the given name, id, and optional extra
541
+ properties used to qualify the lookup.
542
+
543
+ :param str resource_name: The unique name of the resulting resource.
544
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
545
+ :param pulumi.ResourceOptions opts: Options for the resource.
546
+ :param pulumi.Input[str] create_time: The time at which the mute config was created. This field is set by
547
+ the server and will be ignored if provided on config creation.
548
+ :param pulumi.Input[str] description: A description of the mute config.
549
+ :param pulumi.Input[str] filter: An expression that defines the filter to apply across create/update
550
+ events of findings. While creating a filter string, be mindful of
551
+ the scope in which the mute configuration is being created. E.g.,
552
+ If a filter contains project = X but is created under the
553
+ project = Y scope, it might not match any findings.
554
+ :param pulumi.Input[str] location: location Id is provided by project. If not provided, Use global as default.
555
+ :param pulumi.Input[str] most_recent_editor: Email address of the user who last edited the mute config. This
556
+ field is set by the server and will be ignored if provided on
557
+ config creation or update.
558
+ :param pulumi.Input[str] mute_config_id: Unique identifier provided by the client within the parent scope.
559
+
560
+
561
+ - - -
562
+ :param pulumi.Input[str] name: Name of the mute config. Its format is
563
+ projects/{project}/locations/global/muteConfigs/{configId},
564
+ folders/{folder}/locations/global/muteConfigs/{configId},
565
+ or organizations/{organization}/locations/global/muteConfigs/{configId}
566
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
567
+ If it is not provided, the provider project is used.
568
+ :param pulumi.Input[str] type: The type of the mute config.
569
+ :param pulumi.Input[str] update_time: Output only. The most recent time at which the mute config was
570
+ updated. This field is set by the server and will be ignored if
571
+ provided on config creation or update.
572
+ """
573
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
574
+
575
+ __props__ = _V2ProjectMuteConfigState.__new__(_V2ProjectMuteConfigState)
576
+
577
+ __props__.__dict__["create_time"] = create_time
578
+ __props__.__dict__["description"] = description
579
+ __props__.__dict__["filter"] = filter
580
+ __props__.__dict__["location"] = location
581
+ __props__.__dict__["most_recent_editor"] = most_recent_editor
582
+ __props__.__dict__["mute_config_id"] = mute_config_id
583
+ __props__.__dict__["name"] = name
584
+ __props__.__dict__["project"] = project
585
+ __props__.__dict__["type"] = type
586
+ __props__.__dict__["update_time"] = update_time
587
+ return V2ProjectMuteConfig(resource_name, opts=opts, __props__=__props__)
588
+
589
+ @property
590
+ @pulumi.getter(name="createTime")
591
+ def create_time(self) -> pulumi.Output[str]:
592
+ """
593
+ The time at which the mute config was created. This field is set by
594
+ the server and will be ignored if provided on config creation.
595
+ """
596
+ return pulumi.get(self, "create_time")
597
+
598
+ @property
599
+ @pulumi.getter
600
+ def description(self) -> pulumi.Output[Optional[str]]:
601
+ """
602
+ A description of the mute config.
603
+ """
604
+ return pulumi.get(self, "description")
605
+
606
+ @property
607
+ @pulumi.getter
608
+ def filter(self) -> pulumi.Output[str]:
609
+ """
610
+ An expression that defines the filter to apply across create/update
611
+ events of findings. While creating a filter string, be mindful of
612
+ the scope in which the mute configuration is being created. E.g.,
613
+ If a filter contains project = X but is created under the
614
+ project = Y scope, it might not match any findings.
615
+ """
616
+ return pulumi.get(self, "filter")
617
+
618
+ @property
619
+ @pulumi.getter
620
+ def location(self) -> pulumi.Output[Optional[str]]:
621
+ """
622
+ location Id is provided by project. If not provided, Use global as default.
623
+ """
624
+ return pulumi.get(self, "location")
625
+
626
+ @property
627
+ @pulumi.getter(name="mostRecentEditor")
628
+ def most_recent_editor(self) -> pulumi.Output[str]:
629
+ """
630
+ Email address of the user who last edited the mute config. This
631
+ field is set by the server and will be ignored if provided on
632
+ config creation or update.
633
+ """
634
+ return pulumi.get(self, "most_recent_editor")
635
+
636
+ @property
637
+ @pulumi.getter(name="muteConfigId")
638
+ def mute_config_id(self) -> pulumi.Output[str]:
639
+ """
640
+ Unique identifier provided by the client within the parent scope.
641
+
642
+
643
+ - - -
644
+ """
645
+ return pulumi.get(self, "mute_config_id")
646
+
647
+ @property
648
+ @pulumi.getter
649
+ def name(self) -> pulumi.Output[str]:
650
+ """
651
+ Name of the mute config. Its format is
652
+ projects/{project}/locations/global/muteConfigs/{configId},
653
+ folders/{folder}/locations/global/muteConfigs/{configId},
654
+ or organizations/{organization}/locations/global/muteConfigs/{configId}
655
+ """
656
+ return pulumi.get(self, "name")
657
+
658
+ @property
659
+ @pulumi.getter
660
+ def project(self) -> pulumi.Output[str]:
661
+ """
662
+ The ID of the project in which the resource belongs.
663
+ If it is not provided, the provider project is used.
664
+ """
665
+ return pulumi.get(self, "project")
666
+
667
+ @property
668
+ @pulumi.getter
669
+ def type(self) -> pulumi.Output[str]:
670
+ """
671
+ The type of the mute config.
672
+ """
673
+ return pulumi.get(self, "type")
674
+
675
+ @property
676
+ @pulumi.getter(name="updateTime")
677
+ def update_time(self) -> pulumi.Output[str]:
678
+ """
679
+ Output only. The most recent time at which the mute config was
680
+ updated. This field is set by the server and will be ignored if
681
+ provided on config creation or update.
682
+ """
683
+ return pulumi.get(self, "update_time")
684
+