pulumi-gcp 7.10.0a1708496697__py3-none-any.whl → 7.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/bigtable/table_iam_binding.py +6 -6
  3. pulumi_gcp/bigtable/table_iam_member.py +6 -6
  4. pulumi_gcp/bigtable/table_iam_policy.py +6 -6
  5. pulumi_gcp/cloudbuildv2/_inputs.py +32 -12
  6. pulumi_gcp/cloudbuildv2/connection.py +140 -38
  7. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +13 -0
  8. pulumi_gcp/cloudbuildv2/connection_iam_member.py +13 -0
  9. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +13 -0
  10. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -0
  11. pulumi_gcp/cloudbuildv2/outputs.py +32 -12
  12. pulumi_gcp/clouddeploy/__init__.py +1 -0
  13. pulumi_gcp/clouddeploy/_inputs.py +277 -2
  14. pulumi_gcp/clouddeploy/custom_target_type.py +923 -0
  15. pulumi_gcp/clouddeploy/outputs.py +263 -2
  16. pulumi_gcp/cloudfunctions/function.py +32 -0
  17. pulumi_gcp/cloudfunctions/get_function.py +11 -1
  18. pulumi_gcp/cloudrunv2/service.py +18 -0
  19. pulumi_gcp/compute/_inputs.py +20 -20
  20. pulumi_gcp/compute/outputs.py +24 -24
  21. pulumi_gcp/config/vars.py +2 -2
  22. pulumi_gcp/container/_inputs.py +22 -0
  23. pulumi_gcp/container/outputs.py +28 -0
  24. pulumi_gcp/dns/_inputs.py +2 -2
  25. pulumi_gcp/dns/get_managed_zone.py +2 -2
  26. pulumi_gcp/dns/get_managed_zones.py +35 -2
  27. pulumi_gcp/dns/outputs.py +2 -2
  28. pulumi_gcp/eventarc/_inputs.py +78 -0
  29. pulumi_gcp/eventarc/outputs.py +83 -0
  30. pulumi_gcp/firebase/__init__.py +1 -0
  31. pulumi_gcp/firebase/app_check_debug_token.py +480 -0
  32. pulumi_gcp/healthcare/hl7_store.py +50 -1
  33. pulumi_gcp/identityplatform/_inputs.py +330 -0
  34. pulumi_gcp/identityplatform/config.py +216 -0
  35. pulumi_gcp/identityplatform/outputs.py +397 -0
  36. pulumi_gcp/networksecurity/__init__.py +2 -0
  37. pulumi_gcp/networksecurity/firewall_endpoint.py +631 -0
  38. pulumi_gcp/networksecurity/security_profile_group.py +654 -0
  39. pulumi_gcp/notebooks/instance.py +109 -4
  40. pulumi_gcp/provider.py +8 -0
  41. pulumi_gcp/recaptcha/enterprise_key.py +4 -4
  42. pulumi_gcp/securityposture/_inputs.py +48 -48
  43. pulumi_gcp/securityposture/outputs.py +40 -40
  44. pulumi_gcp/securityposture/posture.py +22 -2
  45. pulumi_gcp/vertex/_inputs.py +63 -0
  46. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +208 -0
  47. pulumi_gcp/vertex/outputs.py +87 -0
  48. pulumi_gcp/workbench/_inputs.py +4 -4
  49. pulumi_gcp/workbench/instance.py +59 -8
  50. pulumi_gcp/workbench/outputs.py +4 -4
  51. pulumi_gcp/workstations/_inputs.py +16 -0
  52. pulumi_gcp/workstations/outputs.py +14 -0
  53. pulumi_gcp/workstations/workstation_config.py +2 -0
  54. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/METADATA +1 -1
  55. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/RECORD +57 -53
  56. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/WHEEL +0 -0
  57. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,654 @@
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
+
12
+ __all__ = ['SecurityProfileGroupArgs', 'SecurityProfileGroup']
13
+
14
+ @pulumi.input_type
15
+ class SecurityProfileGroupArgs:
16
+ def __init__(__self__, *,
17
+ description: Optional[pulumi.Input[str]] = None,
18
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
19
+ location: Optional[pulumi.Input[str]] = None,
20
+ name: Optional[pulumi.Input[str]] = None,
21
+ parent: Optional[pulumi.Input[str]] = None,
22
+ threat_prevention_profile: Optional[pulumi.Input[str]] = None):
23
+ """
24
+ The set of arguments for constructing a SecurityProfileGroup resource.
25
+ :param pulumi.Input[str] description: An optional description of the profile. The Max length is 512 characters.
26
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
27
+
28
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
29
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
30
+ :param pulumi.Input[str] location: The location of the security profile group.
31
+ The default value is `global`.
32
+ :param pulumi.Input[str] name: The name of the security profile group resource.
33
+
34
+
35
+ - - -
36
+ :param pulumi.Input[str] parent: The name of the parent this security profile group belongs to.
37
+ Format: organizations/{organization_id}.
38
+ :param pulumi.Input[str] threat_prevention_profile: Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
39
+ """
40
+ if description is not None:
41
+ pulumi.set(__self__, "description", description)
42
+ if labels is not None:
43
+ pulumi.set(__self__, "labels", labels)
44
+ if location is not None:
45
+ pulumi.set(__self__, "location", location)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+ if parent is not None:
49
+ pulumi.set(__self__, "parent", parent)
50
+ if threat_prevention_profile is not None:
51
+ pulumi.set(__self__, "threat_prevention_profile", threat_prevention_profile)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def description(self) -> Optional[pulumi.Input[str]]:
56
+ """
57
+ An optional description of the profile. The Max length is 512 characters.
58
+ """
59
+ return pulumi.get(self, "description")
60
+
61
+ @description.setter
62
+ def description(self, value: Optional[pulumi.Input[str]]):
63
+ pulumi.set(self, "description", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
68
+ """
69
+ A map of key/value label pairs to assign to the resource.
70
+
71
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
72
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
73
+ """
74
+ return pulumi.get(self, "labels")
75
+
76
+ @labels.setter
77
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
78
+ pulumi.set(self, "labels", value)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def location(self) -> Optional[pulumi.Input[str]]:
83
+ """
84
+ The location of the security profile group.
85
+ The default value is `global`.
86
+ """
87
+ return pulumi.get(self, "location")
88
+
89
+ @location.setter
90
+ def location(self, value: Optional[pulumi.Input[str]]):
91
+ pulumi.set(self, "location", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def name(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ The name of the security profile group resource.
98
+
99
+
100
+ - - -
101
+ """
102
+ return pulumi.get(self, "name")
103
+
104
+ @name.setter
105
+ def name(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "name", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def parent(self) -> Optional[pulumi.Input[str]]:
111
+ """
112
+ The name of the parent this security profile group belongs to.
113
+ Format: organizations/{organization_id}.
114
+ """
115
+ return pulumi.get(self, "parent")
116
+
117
+ @parent.setter
118
+ def parent(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "parent", value)
120
+
121
+ @property
122
+ @pulumi.getter(name="threatPreventionProfile")
123
+ def threat_prevention_profile(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
126
+ """
127
+ return pulumi.get(self, "threat_prevention_profile")
128
+
129
+ @threat_prevention_profile.setter
130
+ def threat_prevention_profile(self, value: Optional[pulumi.Input[str]]):
131
+ pulumi.set(self, "threat_prevention_profile", value)
132
+
133
+
134
+ @pulumi.input_type
135
+ class _SecurityProfileGroupState:
136
+ def __init__(__self__, *,
137
+ create_time: Optional[pulumi.Input[str]] = None,
138
+ description: Optional[pulumi.Input[str]] = None,
139
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
140
+ etag: Optional[pulumi.Input[str]] = None,
141
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
142
+ location: Optional[pulumi.Input[str]] = None,
143
+ name: Optional[pulumi.Input[str]] = None,
144
+ parent: Optional[pulumi.Input[str]] = None,
145
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
146
+ threat_prevention_profile: Optional[pulumi.Input[str]] = None,
147
+ update_time: Optional[pulumi.Input[str]] = None):
148
+ """
149
+ Input properties used for looking up and filtering SecurityProfileGroup resources.
150
+ :param pulumi.Input[str] create_time: Time the security profile group was created in UTC.
151
+ :param pulumi.Input[str] description: An optional description of the profile. The Max length is 512 characters.
152
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
153
+ :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other fields,
154
+ and may be sent on update and delete requests to ensure the client has an up-to-date
155
+ value before proceeding.
156
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
157
+
158
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
159
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
160
+ :param pulumi.Input[str] location: The location of the security profile group.
161
+ The default value is `global`.
162
+ :param pulumi.Input[str] name: The name of the security profile group resource.
163
+
164
+
165
+ - - -
166
+ :param pulumi.Input[str] parent: The name of the parent this security profile group belongs to.
167
+ Format: organizations/{organization_id}.
168
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
169
+ and default labels configured on the provider.
170
+ :param pulumi.Input[str] threat_prevention_profile: Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
171
+ :param pulumi.Input[str] update_time: Time the security profile group was updated in UTC.
172
+ """
173
+ if create_time is not None:
174
+ pulumi.set(__self__, "create_time", create_time)
175
+ if description is not None:
176
+ pulumi.set(__self__, "description", description)
177
+ if effective_labels is not None:
178
+ pulumi.set(__self__, "effective_labels", effective_labels)
179
+ if etag is not None:
180
+ pulumi.set(__self__, "etag", etag)
181
+ if labels is not None:
182
+ pulumi.set(__self__, "labels", labels)
183
+ if location is not None:
184
+ pulumi.set(__self__, "location", location)
185
+ if name is not None:
186
+ pulumi.set(__self__, "name", name)
187
+ if parent is not None:
188
+ pulumi.set(__self__, "parent", parent)
189
+ if pulumi_labels is not None:
190
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
191
+ if threat_prevention_profile is not None:
192
+ pulumi.set(__self__, "threat_prevention_profile", threat_prevention_profile)
193
+ if update_time is not None:
194
+ pulumi.set(__self__, "update_time", update_time)
195
+
196
+ @property
197
+ @pulumi.getter(name="createTime")
198
+ def create_time(self) -> Optional[pulumi.Input[str]]:
199
+ """
200
+ Time the security profile group was created in UTC.
201
+ """
202
+ return pulumi.get(self, "create_time")
203
+
204
+ @create_time.setter
205
+ def create_time(self, value: Optional[pulumi.Input[str]]):
206
+ pulumi.set(self, "create_time", value)
207
+
208
+ @property
209
+ @pulumi.getter
210
+ def description(self) -> Optional[pulumi.Input[str]]:
211
+ """
212
+ An optional description of the profile. The Max length is 512 characters.
213
+ """
214
+ return pulumi.get(self, "description")
215
+
216
+ @description.setter
217
+ def description(self, value: Optional[pulumi.Input[str]]):
218
+ pulumi.set(self, "description", value)
219
+
220
+ @property
221
+ @pulumi.getter(name="effectiveLabels")
222
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
223
+ """
224
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
225
+ """
226
+ return pulumi.get(self, "effective_labels")
227
+
228
+ @effective_labels.setter
229
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
230
+ pulumi.set(self, "effective_labels", value)
231
+
232
+ @property
233
+ @pulumi.getter
234
+ def etag(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ This checksum is computed by the server based on the value of other fields,
237
+ and may be sent on update and delete requests to ensure the client has an up-to-date
238
+ value before proceeding.
239
+ """
240
+ return pulumi.get(self, "etag")
241
+
242
+ @etag.setter
243
+ def etag(self, value: Optional[pulumi.Input[str]]):
244
+ pulumi.set(self, "etag", value)
245
+
246
+ @property
247
+ @pulumi.getter
248
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
249
+ """
250
+ A map of key/value label pairs to assign to the resource.
251
+
252
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
253
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
254
+ """
255
+ return pulumi.get(self, "labels")
256
+
257
+ @labels.setter
258
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
259
+ pulumi.set(self, "labels", value)
260
+
261
+ @property
262
+ @pulumi.getter
263
+ def location(self) -> Optional[pulumi.Input[str]]:
264
+ """
265
+ The location of the security profile group.
266
+ The default value is `global`.
267
+ """
268
+ return pulumi.get(self, "location")
269
+
270
+ @location.setter
271
+ def location(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "location", value)
273
+
274
+ @property
275
+ @pulumi.getter
276
+ def name(self) -> Optional[pulumi.Input[str]]:
277
+ """
278
+ The name of the security profile group resource.
279
+
280
+
281
+ - - -
282
+ """
283
+ return pulumi.get(self, "name")
284
+
285
+ @name.setter
286
+ def name(self, value: Optional[pulumi.Input[str]]):
287
+ pulumi.set(self, "name", value)
288
+
289
+ @property
290
+ @pulumi.getter
291
+ def parent(self) -> Optional[pulumi.Input[str]]:
292
+ """
293
+ The name of the parent this security profile group belongs to.
294
+ Format: organizations/{organization_id}.
295
+ """
296
+ return pulumi.get(self, "parent")
297
+
298
+ @parent.setter
299
+ def parent(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "parent", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="pulumiLabels")
304
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
305
+ """
306
+ The combination of labels configured directly on the resource
307
+ and default labels configured on the provider.
308
+ """
309
+ return pulumi.get(self, "pulumi_labels")
310
+
311
+ @pulumi_labels.setter
312
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
313
+ pulumi.set(self, "pulumi_labels", value)
314
+
315
+ @property
316
+ @pulumi.getter(name="threatPreventionProfile")
317
+ def threat_prevention_profile(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
320
+ """
321
+ return pulumi.get(self, "threat_prevention_profile")
322
+
323
+ @threat_prevention_profile.setter
324
+ def threat_prevention_profile(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "threat_prevention_profile", value)
326
+
327
+ @property
328
+ @pulumi.getter(name="updateTime")
329
+ def update_time(self) -> Optional[pulumi.Input[str]]:
330
+ """
331
+ Time the security profile group was updated in UTC.
332
+ """
333
+ return pulumi.get(self, "update_time")
334
+
335
+ @update_time.setter
336
+ def update_time(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "update_time", value)
338
+
339
+
340
+ class SecurityProfileGroup(pulumi.CustomResource):
341
+ @overload
342
+ def __init__(__self__,
343
+ resource_name: str,
344
+ opts: Optional[pulumi.ResourceOptions] = None,
345
+ description: Optional[pulumi.Input[str]] = None,
346
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
347
+ location: Optional[pulumi.Input[str]] = None,
348
+ name: Optional[pulumi.Input[str]] = None,
349
+ parent: Optional[pulumi.Input[str]] = None,
350
+ threat_prevention_profile: Optional[pulumi.Input[str]] = None,
351
+ __props__=None):
352
+ """
353
+ ## Example Usage
354
+ ### Network Security Security Profile Group Basic
355
+
356
+ ```python
357
+ import pulumi
358
+ import pulumi_gcp as gcp
359
+
360
+ security_profile = gcp.networksecurity.SecurityProfile("securityProfile",
361
+ type="THREAT_PREVENTION",
362
+ parent="organizations/123456789",
363
+ location="global",
364
+ opts=pulumi.ResourceOptions(provider=google_beta))
365
+ default = gcp.networksecurity.SecurityProfileGroup("default",
366
+ parent="organizations/123456789",
367
+ description="my description",
368
+ threat_prevention_profile=security_profile.id,
369
+ labels={
370
+ "foo": "bar",
371
+ },
372
+ opts=pulumi.ResourceOptions(provider=google_beta))
373
+ ```
374
+
375
+ ## Import
376
+
377
+ SecurityProfileGroup can be imported using any of these accepted formats:
378
+
379
+ * `{{parent}}/locations/{{location}}/securityProfileGroups/{{name}}`
380
+
381
+ When using the `pulumi import` command, SecurityProfileGroup can be imported using one of the formats above. For example:
382
+
383
+ ```sh
384
+ $ pulumi import gcp:networksecurity/securityProfileGroup:SecurityProfileGroup default {{parent}}/locations/{{location}}/securityProfileGroups/{{name}}
385
+ ```
386
+
387
+ :param str resource_name: The name of the resource.
388
+ :param pulumi.ResourceOptions opts: Options for the resource.
389
+ :param pulumi.Input[str] description: An optional description of the profile. The Max length is 512 characters.
390
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
391
+
392
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
393
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
394
+ :param pulumi.Input[str] location: The location of the security profile group.
395
+ The default value is `global`.
396
+ :param pulumi.Input[str] name: The name of the security profile group resource.
397
+
398
+
399
+ - - -
400
+ :param pulumi.Input[str] parent: The name of the parent this security profile group belongs to.
401
+ Format: organizations/{organization_id}.
402
+ :param pulumi.Input[str] threat_prevention_profile: Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
403
+ """
404
+ ...
405
+ @overload
406
+ def __init__(__self__,
407
+ resource_name: str,
408
+ args: Optional[SecurityProfileGroupArgs] = None,
409
+ opts: Optional[pulumi.ResourceOptions] = None):
410
+ """
411
+ ## Example Usage
412
+ ### Network Security Security Profile Group Basic
413
+
414
+ ```python
415
+ import pulumi
416
+ import pulumi_gcp as gcp
417
+
418
+ security_profile = gcp.networksecurity.SecurityProfile("securityProfile",
419
+ type="THREAT_PREVENTION",
420
+ parent="organizations/123456789",
421
+ location="global",
422
+ opts=pulumi.ResourceOptions(provider=google_beta))
423
+ default = gcp.networksecurity.SecurityProfileGroup("default",
424
+ parent="organizations/123456789",
425
+ description="my description",
426
+ threat_prevention_profile=security_profile.id,
427
+ labels={
428
+ "foo": "bar",
429
+ },
430
+ opts=pulumi.ResourceOptions(provider=google_beta))
431
+ ```
432
+
433
+ ## Import
434
+
435
+ SecurityProfileGroup can be imported using any of these accepted formats:
436
+
437
+ * `{{parent}}/locations/{{location}}/securityProfileGroups/{{name}}`
438
+
439
+ When using the `pulumi import` command, SecurityProfileGroup can be imported using one of the formats above. For example:
440
+
441
+ ```sh
442
+ $ pulumi import gcp:networksecurity/securityProfileGroup:SecurityProfileGroup default {{parent}}/locations/{{location}}/securityProfileGroups/{{name}}
443
+ ```
444
+
445
+ :param str resource_name: The name of the resource.
446
+ :param SecurityProfileGroupArgs args: The arguments to use to populate this resource's properties.
447
+ :param pulumi.ResourceOptions opts: Options for the resource.
448
+ """
449
+ ...
450
+ def __init__(__self__, resource_name: str, *args, **kwargs):
451
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityProfileGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
452
+ if resource_args is not None:
453
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
454
+ else:
455
+ __self__._internal_init(resource_name, *args, **kwargs)
456
+
457
+ def _internal_init(__self__,
458
+ resource_name: str,
459
+ opts: Optional[pulumi.ResourceOptions] = None,
460
+ description: Optional[pulumi.Input[str]] = None,
461
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
462
+ location: Optional[pulumi.Input[str]] = None,
463
+ name: Optional[pulumi.Input[str]] = None,
464
+ parent: Optional[pulumi.Input[str]] = None,
465
+ threat_prevention_profile: Optional[pulumi.Input[str]] = None,
466
+ __props__=None):
467
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
468
+ if not isinstance(opts, pulumi.ResourceOptions):
469
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
470
+ if opts.id is None:
471
+ if __props__ is not None:
472
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
473
+ __props__ = SecurityProfileGroupArgs.__new__(SecurityProfileGroupArgs)
474
+
475
+ __props__.__dict__["description"] = description
476
+ __props__.__dict__["labels"] = labels
477
+ __props__.__dict__["location"] = location
478
+ __props__.__dict__["name"] = name
479
+ __props__.__dict__["parent"] = parent
480
+ __props__.__dict__["threat_prevention_profile"] = threat_prevention_profile
481
+ __props__.__dict__["create_time"] = None
482
+ __props__.__dict__["effective_labels"] = None
483
+ __props__.__dict__["etag"] = None
484
+ __props__.__dict__["pulumi_labels"] = None
485
+ __props__.__dict__["update_time"] = None
486
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
487
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
488
+ super(SecurityProfileGroup, __self__).__init__(
489
+ 'gcp:networksecurity/securityProfileGroup:SecurityProfileGroup',
490
+ resource_name,
491
+ __props__,
492
+ opts)
493
+
494
+ @staticmethod
495
+ def get(resource_name: str,
496
+ id: pulumi.Input[str],
497
+ opts: Optional[pulumi.ResourceOptions] = None,
498
+ create_time: Optional[pulumi.Input[str]] = None,
499
+ description: Optional[pulumi.Input[str]] = None,
500
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
501
+ etag: Optional[pulumi.Input[str]] = None,
502
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
503
+ location: Optional[pulumi.Input[str]] = None,
504
+ name: Optional[pulumi.Input[str]] = None,
505
+ parent: Optional[pulumi.Input[str]] = None,
506
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
507
+ threat_prevention_profile: Optional[pulumi.Input[str]] = None,
508
+ update_time: Optional[pulumi.Input[str]] = None) -> 'SecurityProfileGroup':
509
+ """
510
+ Get an existing SecurityProfileGroup resource's state with the given name, id, and optional extra
511
+ properties used to qualify the lookup.
512
+
513
+ :param str resource_name: The unique name of the resulting resource.
514
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
515
+ :param pulumi.ResourceOptions opts: Options for the resource.
516
+ :param pulumi.Input[str] create_time: Time the security profile group was created in UTC.
517
+ :param pulumi.Input[str] description: An optional description of the profile. The Max length is 512 characters.
518
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
519
+ :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other fields,
520
+ and may be sent on update and delete requests to ensure the client has an up-to-date
521
+ value before proceeding.
522
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
523
+
524
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
525
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
526
+ :param pulumi.Input[str] location: The location of the security profile group.
527
+ The default value is `global`.
528
+ :param pulumi.Input[str] name: The name of the security profile group resource.
529
+
530
+
531
+ - - -
532
+ :param pulumi.Input[str] parent: The name of the parent this security profile group belongs to.
533
+ Format: organizations/{organization_id}.
534
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
535
+ and default labels configured on the provider.
536
+ :param pulumi.Input[str] threat_prevention_profile: Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
537
+ :param pulumi.Input[str] update_time: Time the security profile group was updated in UTC.
538
+ """
539
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
540
+
541
+ __props__ = _SecurityProfileGroupState.__new__(_SecurityProfileGroupState)
542
+
543
+ __props__.__dict__["create_time"] = create_time
544
+ __props__.__dict__["description"] = description
545
+ __props__.__dict__["effective_labels"] = effective_labels
546
+ __props__.__dict__["etag"] = etag
547
+ __props__.__dict__["labels"] = labels
548
+ __props__.__dict__["location"] = location
549
+ __props__.__dict__["name"] = name
550
+ __props__.__dict__["parent"] = parent
551
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
552
+ __props__.__dict__["threat_prevention_profile"] = threat_prevention_profile
553
+ __props__.__dict__["update_time"] = update_time
554
+ return SecurityProfileGroup(resource_name, opts=opts, __props__=__props__)
555
+
556
+ @property
557
+ @pulumi.getter(name="createTime")
558
+ def create_time(self) -> pulumi.Output[str]:
559
+ """
560
+ Time the security profile group was created in UTC.
561
+ """
562
+ return pulumi.get(self, "create_time")
563
+
564
+ @property
565
+ @pulumi.getter
566
+ def description(self) -> pulumi.Output[Optional[str]]:
567
+ """
568
+ An optional description of the profile. The Max length is 512 characters.
569
+ """
570
+ return pulumi.get(self, "description")
571
+
572
+ @property
573
+ @pulumi.getter(name="effectiveLabels")
574
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
575
+ """
576
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
577
+ """
578
+ return pulumi.get(self, "effective_labels")
579
+
580
+ @property
581
+ @pulumi.getter
582
+ def etag(self) -> pulumi.Output[str]:
583
+ """
584
+ This checksum is computed by the server based on the value of other fields,
585
+ and may be sent on update and delete requests to ensure the client has an up-to-date
586
+ value before proceeding.
587
+ """
588
+ return pulumi.get(self, "etag")
589
+
590
+ @property
591
+ @pulumi.getter
592
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
593
+ """
594
+ A map of key/value label pairs to assign to the resource.
595
+
596
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
597
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
598
+ """
599
+ return pulumi.get(self, "labels")
600
+
601
+ @property
602
+ @pulumi.getter
603
+ def location(self) -> pulumi.Output[Optional[str]]:
604
+ """
605
+ The location of the security profile group.
606
+ The default value is `global`.
607
+ """
608
+ return pulumi.get(self, "location")
609
+
610
+ @property
611
+ @pulumi.getter
612
+ def name(self) -> pulumi.Output[str]:
613
+ """
614
+ The name of the security profile group resource.
615
+
616
+
617
+ - - -
618
+ """
619
+ return pulumi.get(self, "name")
620
+
621
+ @property
622
+ @pulumi.getter
623
+ def parent(self) -> pulumi.Output[Optional[str]]:
624
+ """
625
+ The name of the parent this security profile group belongs to.
626
+ Format: organizations/{organization_id}.
627
+ """
628
+ return pulumi.get(self, "parent")
629
+
630
+ @property
631
+ @pulumi.getter(name="pulumiLabels")
632
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
633
+ """
634
+ The combination of labels configured directly on the resource
635
+ and default labels configured on the provider.
636
+ """
637
+ return pulumi.get(self, "pulumi_labels")
638
+
639
+ @property
640
+ @pulumi.getter(name="threatPreventionProfile")
641
+ def threat_prevention_profile(self) -> pulumi.Output[Optional[str]]:
642
+ """
643
+ Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup.
644
+ """
645
+ return pulumi.get(self, "threat_prevention_profile")
646
+
647
+ @property
648
+ @pulumi.getter(name="updateTime")
649
+ def update_time(self) -> pulumi.Output[str]:
650
+ """
651
+ Time the security profile group was updated in UTC.
652
+ """
653
+ return pulumi.get(self, "update_time")
654
+