pulumi-gcp 7.10.0a1708428802__py3-none-any.whl → 7.10.0a1708543111__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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.0a1708428802.dist-info → pulumi_gcp-7.10.0a1708543111.dist-info}/METADATA +1 -1
  55. {pulumi_gcp-7.10.0a1708428802.dist-info → pulumi_gcp-7.10.0a1708543111.dist-info}/RECORD +57 -53
  56. {pulumi_gcp-7.10.0a1708428802.dist-info → pulumi_gcp-7.10.0a1708543111.dist-info}/WHEEL +0 -0
  57. {pulumi_gcp-7.10.0a1708428802.dist-info → pulumi_gcp-7.10.0a1708543111.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
+