pulumi-gcp 8.14.0a1736836474__py3-none-any.whl → 8.14.0a1736952890__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 (62) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/applicationintegration/_inputs.py +3 -3
  3. pulumi_gcp/applicationintegration/outputs.py +2 -2
  4. pulumi_gcp/beyondcorp/__init__.py +1 -0
  5. pulumi_gcp/beyondcorp/_inputs.py +93 -0
  6. pulumi_gcp/beyondcorp/outputs.py +89 -0
  7. pulumi_gcp/beyondcorp/security_gateway.py +670 -0
  8. pulumi_gcp/blockchainnodeengine/_inputs.py +3 -3
  9. pulumi_gcp/blockchainnodeengine/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +6 -6
  11. pulumi_gcp/certificateauthority/outputs.py +4 -4
  12. pulumi_gcp/certificatemanager/_inputs.py +3 -3
  13. pulumi_gcp/certificatemanager/outputs.py +2 -2
  14. pulumi_gcp/chronicle/__init__.py +2 -0
  15. pulumi_gcp/chronicle/_inputs.py +388 -0
  16. pulumi_gcp/chronicle/data_access_label.py +690 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +1094 -0
  18. pulumi_gcp/chronicle/outputs.py +322 -0
  19. pulumi_gcp/chronicle/watchlist.py +68 -45
  20. pulumi_gcp/cloudbuild/_inputs.py +3 -3
  21. pulumi_gcp/cloudbuild/outputs.py +2 -2
  22. pulumi_gcp/cloudquota/__init__.py +1 -0
  23. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +336 -0
  24. pulumi_gcp/compute/_inputs.py +33 -33
  25. pulumi_gcp/compute/instance_group_manager.py +9 -9
  26. pulumi_gcp/compute/outputs.py +22 -22
  27. pulumi_gcp/compute/region_instance_group_manager.py +9 -9
  28. pulumi_gcp/datacatalog/_inputs.py +3 -3
  29. pulumi_gcp/datacatalog/outputs.py +2 -2
  30. pulumi_gcp/developerconnect/_inputs.py +910 -42
  31. pulumi_gcp/developerconnect/connection.py +614 -86
  32. pulumi_gcp/developerconnect/git_repository_link.py +4 -0
  33. pulumi_gcp/developerconnect/outputs.py +717 -28
  34. pulumi_gcp/dns/_inputs.py +124 -20
  35. pulumi_gcp/dns/outputs.py +90 -16
  36. pulumi_gcp/dns/record_set.py +82 -0
  37. pulumi_gcp/edgecontainer/_inputs.py +3 -3
  38. pulumi_gcp/edgecontainer/outputs.py +2 -2
  39. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  40. pulumi_gcp/gkeonprem/outputs.py +10 -10
  41. pulumi_gcp/gkeonprem/v_mware_cluster.py +1 -1
  42. pulumi_gcp/iap/_inputs.py +9 -3
  43. pulumi_gcp/iap/outputs.py +6 -2
  44. pulumi_gcp/iap/settings.py +63 -63
  45. pulumi_gcp/identityplatform/_inputs.py +9 -9
  46. pulumi_gcp/identityplatform/outputs.py +6 -6
  47. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  48. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  49. pulumi_gcp/monitoring/_inputs.py +3 -3
  50. pulumi_gcp/monitoring/outputs.py +2 -2
  51. pulumi_gcp/oracledatabase/_inputs.py +3 -3
  52. pulumi_gcp/oracledatabase/outputs.py +2 -2
  53. pulumi_gcp/pulumi-plugin.json +1 -1
  54. pulumi_gcp/sql/_inputs.py +20 -0
  55. pulumi_gcp/sql/database_instance.py +2 -2
  56. pulumi_gcp/sql/outputs.py +36 -0
  57. pulumi_gcp/transcoder/_inputs.py +6 -6
  58. pulumi_gcp/transcoder/outputs.py +4 -4
  59. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/METADATA +1 -1
  60. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/RECORD +62 -58
  61. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/WHEEL +0 -0
  62. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,670 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['SecurityGatewayArgs', 'SecurityGateway']
20
+
21
+ @pulumi.input_type
22
+ class SecurityGatewayArgs:
23
+ def __init__(__self__, *,
24
+ location: pulumi.Input[str],
25
+ security_gateway_id: pulumi.Input[str],
26
+ display_name: Optional[pulumi.Input[str]] = None,
27
+ hubs: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]] = None,
28
+ project: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a SecurityGateway resource.
31
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
32
+ :param pulumi.Input[str] security_gateway_id: Optional. User-settable SecurityGateway resource ID.
33
+ * Must start with a letter.
34
+ * Must contain between 4-63 characters from `/a-z-/`.
35
+ * Must end with a number or letter.
36
+
37
+
38
+ - - -
39
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the SecurityGateway.
40
+ Cannot exceed 64 characters.
41
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]] hubs: Optional. Map of Hubs that represents regional data path deployment with GCP region
42
+ as a key.
43
+ Structure is documented below.
44
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
45
+ If it is not provided, the provider project is used.
46
+ """
47
+ pulumi.set(__self__, "location", location)
48
+ pulumi.set(__self__, "security_gateway_id", security_gateway_id)
49
+ if display_name is not None:
50
+ pulumi.set(__self__, "display_name", display_name)
51
+ if hubs is not None:
52
+ pulumi.set(__self__, "hubs", hubs)
53
+ if project is not None:
54
+ pulumi.set(__self__, "project", project)
55
+
56
+ @property
57
+ @pulumi.getter
58
+ def location(self) -> pulumi.Input[str]:
59
+ """
60
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
61
+ """
62
+ return pulumi.get(self, "location")
63
+
64
+ @location.setter
65
+ def location(self, value: pulumi.Input[str]):
66
+ pulumi.set(self, "location", value)
67
+
68
+ @property
69
+ @pulumi.getter(name="securityGatewayId")
70
+ def security_gateway_id(self) -> pulumi.Input[str]:
71
+ """
72
+ Optional. User-settable SecurityGateway resource ID.
73
+ * Must start with a letter.
74
+ * Must contain between 4-63 characters from `/a-z-/`.
75
+ * Must end with a number or letter.
76
+
77
+
78
+ - - -
79
+ """
80
+ return pulumi.get(self, "security_gateway_id")
81
+
82
+ @security_gateway_id.setter
83
+ def security_gateway_id(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "security_gateway_id", value)
85
+
86
+ @property
87
+ @pulumi.getter(name="displayName")
88
+ def display_name(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ Optional. An arbitrary user-provided name for the SecurityGateway.
91
+ Cannot exceed 64 characters.
92
+ """
93
+ return pulumi.get(self, "display_name")
94
+
95
+ @display_name.setter
96
+ def display_name(self, value: Optional[pulumi.Input[str]]):
97
+ pulumi.set(self, "display_name", value)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def hubs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]]:
102
+ """
103
+ Optional. Map of Hubs that represents regional data path deployment with GCP region
104
+ as a key.
105
+ Structure is documented below.
106
+ """
107
+ return pulumi.get(self, "hubs")
108
+
109
+ @hubs.setter
110
+ def hubs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]]):
111
+ pulumi.set(self, "hubs", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def project(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ The ID of the project in which the resource belongs.
118
+ If it is not provided, the provider project is used.
119
+ """
120
+ return pulumi.get(self, "project")
121
+
122
+ @project.setter
123
+ def project(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "project", value)
125
+
126
+
127
+ @pulumi.input_type
128
+ class _SecurityGatewayState:
129
+ def __init__(__self__, *,
130
+ create_time: Optional[pulumi.Input[str]] = None,
131
+ display_name: Optional[pulumi.Input[str]] = None,
132
+ external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
133
+ hubs: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]] = None,
134
+ location: Optional[pulumi.Input[str]] = None,
135
+ name: Optional[pulumi.Input[str]] = None,
136
+ project: Optional[pulumi.Input[str]] = None,
137
+ security_gateway_id: Optional[pulumi.Input[str]] = None,
138
+ state: Optional[pulumi.Input[str]] = None,
139
+ update_time: Optional[pulumi.Input[str]] = None):
140
+ """
141
+ Input properties used for looking up and filtering SecurityGateway resources.
142
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the resource was created.
143
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the SecurityGateway.
144
+ Cannot exceed 64 characters.
145
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_ips: Output only. IP addresses that will be used for establishing
146
+ connection to the endpoints.
147
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]] hubs: Optional. Map of Hubs that represents regional data path deployment with GCP region
148
+ as a key.
149
+ Structure is documented below.
150
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
151
+ :param pulumi.Input[str] name: Identifier. Name of the resource.
152
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
153
+ If it is not provided, the provider project is used.
154
+ :param pulumi.Input[str] security_gateway_id: Optional. User-settable SecurityGateway resource ID.
155
+ * Must start with a letter.
156
+ * Must contain between 4-63 characters from `/a-z-/`.
157
+ * Must end with a number or letter.
158
+
159
+
160
+ - - -
161
+ :param pulumi.Input[str] state: Output only. The operational state of the SecurityGateway.
162
+ Possible values:
163
+ STATE_UNSPECIFIED
164
+ CREATING
165
+ UPDATING
166
+ DELETING
167
+ RUNNING
168
+ DOWN
169
+ ERROR
170
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the resource was last modified.
171
+ """
172
+ if create_time is not None:
173
+ pulumi.set(__self__, "create_time", create_time)
174
+ if display_name is not None:
175
+ pulumi.set(__self__, "display_name", display_name)
176
+ if external_ips is not None:
177
+ pulumi.set(__self__, "external_ips", external_ips)
178
+ if hubs is not None:
179
+ pulumi.set(__self__, "hubs", hubs)
180
+ if location is not None:
181
+ pulumi.set(__self__, "location", location)
182
+ if name is not None:
183
+ pulumi.set(__self__, "name", name)
184
+ if project is not None:
185
+ pulumi.set(__self__, "project", project)
186
+ if security_gateway_id is not None:
187
+ pulumi.set(__self__, "security_gateway_id", security_gateway_id)
188
+ if state is not None:
189
+ pulumi.set(__self__, "state", state)
190
+ if update_time is not None:
191
+ pulumi.set(__self__, "update_time", update_time)
192
+
193
+ @property
194
+ @pulumi.getter(name="createTime")
195
+ def create_time(self) -> Optional[pulumi.Input[str]]:
196
+ """
197
+ Output only. Timestamp when the resource was created.
198
+ """
199
+ return pulumi.get(self, "create_time")
200
+
201
+ @create_time.setter
202
+ def create_time(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "create_time", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="displayName")
207
+ def display_name(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ Optional. An arbitrary user-provided name for the SecurityGateway.
210
+ Cannot exceed 64 characters.
211
+ """
212
+ return pulumi.get(self, "display_name")
213
+
214
+ @display_name.setter
215
+ def display_name(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "display_name", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="externalIps")
220
+ def external_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
221
+ """
222
+ Output only. IP addresses that will be used for establishing
223
+ connection to the endpoints.
224
+ """
225
+ return pulumi.get(self, "external_ips")
226
+
227
+ @external_ips.setter
228
+ def external_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
229
+ pulumi.set(self, "external_ips", value)
230
+
231
+ @property
232
+ @pulumi.getter
233
+ def hubs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]]:
234
+ """
235
+ Optional. Map of Hubs that represents regional data path deployment with GCP region
236
+ as a key.
237
+ Structure is documented below.
238
+ """
239
+ return pulumi.get(self, "hubs")
240
+
241
+ @hubs.setter
242
+ def hubs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]]):
243
+ pulumi.set(self, "hubs", value)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def location(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
250
+ """
251
+ return pulumi.get(self, "location")
252
+
253
+ @location.setter
254
+ def location(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "location", value)
256
+
257
+ @property
258
+ @pulumi.getter
259
+ def name(self) -> Optional[pulumi.Input[str]]:
260
+ """
261
+ Identifier. Name of the resource.
262
+ """
263
+ return pulumi.get(self, "name")
264
+
265
+ @name.setter
266
+ def name(self, value: Optional[pulumi.Input[str]]):
267
+ pulumi.set(self, "name", value)
268
+
269
+ @property
270
+ @pulumi.getter
271
+ def project(self) -> Optional[pulumi.Input[str]]:
272
+ """
273
+ The ID of the project in which the resource belongs.
274
+ If it is not provided, the provider project is used.
275
+ """
276
+ return pulumi.get(self, "project")
277
+
278
+ @project.setter
279
+ def project(self, value: Optional[pulumi.Input[str]]):
280
+ pulumi.set(self, "project", value)
281
+
282
+ @property
283
+ @pulumi.getter(name="securityGatewayId")
284
+ def security_gateway_id(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ Optional. User-settable SecurityGateway resource ID.
287
+ * Must start with a letter.
288
+ * Must contain between 4-63 characters from `/a-z-/`.
289
+ * Must end with a number or letter.
290
+
291
+
292
+ - - -
293
+ """
294
+ return pulumi.get(self, "security_gateway_id")
295
+
296
+ @security_gateway_id.setter
297
+ def security_gateway_id(self, value: Optional[pulumi.Input[str]]):
298
+ pulumi.set(self, "security_gateway_id", value)
299
+
300
+ @property
301
+ @pulumi.getter
302
+ def state(self) -> Optional[pulumi.Input[str]]:
303
+ """
304
+ Output only. The operational state of the SecurityGateway.
305
+ Possible values:
306
+ STATE_UNSPECIFIED
307
+ CREATING
308
+ UPDATING
309
+ DELETING
310
+ RUNNING
311
+ DOWN
312
+ ERROR
313
+ """
314
+ return pulumi.get(self, "state")
315
+
316
+ @state.setter
317
+ def state(self, value: Optional[pulumi.Input[str]]):
318
+ pulumi.set(self, "state", value)
319
+
320
+ @property
321
+ @pulumi.getter(name="updateTime")
322
+ def update_time(self) -> Optional[pulumi.Input[str]]:
323
+ """
324
+ Output only. Timestamp when the resource was last modified.
325
+ """
326
+ return pulumi.get(self, "update_time")
327
+
328
+ @update_time.setter
329
+ def update_time(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "update_time", value)
331
+
332
+
333
+ class SecurityGateway(pulumi.CustomResource):
334
+ @overload
335
+ def __init__(__self__,
336
+ resource_name: str,
337
+ opts: Optional[pulumi.ResourceOptions] = None,
338
+ display_name: Optional[pulumi.Input[str]] = None,
339
+ hubs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGatewayHubArgs', 'SecurityGatewayHubArgsDict']]]]] = None,
340
+ location: Optional[pulumi.Input[str]] = None,
341
+ project: Optional[pulumi.Input[str]] = None,
342
+ security_gateway_id: Optional[pulumi.Input[str]] = None,
343
+ __props__=None):
344
+ """
345
+ Deployment of Security Gateway.
346
+
347
+ ## Example Usage
348
+
349
+ ### Beyondcorp Security Gateway Basic
350
+
351
+ ```python
352
+ import pulumi
353
+ import pulumi_gcp as gcp
354
+
355
+ example = gcp.beyondcorp.SecurityGateway("example",
356
+ security_gateway_id="default",
357
+ location="global",
358
+ display_name="My Security Gateway resource",
359
+ hubs=[{
360
+ "region": "us-central1",
361
+ }])
362
+ ```
363
+
364
+ ## Import
365
+
366
+ SecurityGateway can be imported using any of these accepted formats:
367
+
368
+ * `projects/{{project}}/locations/{{location}}/securityGateways/{{security_gateway_id}}`
369
+
370
+ * `{{project}}/{{location}}/{{security_gateway_id}}`
371
+
372
+ * `{{location}}/{{security_gateway_id}}`
373
+
374
+ When using the `pulumi import` command, SecurityGateway can be imported using one of the formats above. For example:
375
+
376
+ ```sh
377
+ $ pulumi import gcp:beyondcorp/securityGateway:SecurityGateway default projects/{{project}}/locations/{{location}}/securityGateways/{{security_gateway_id}}
378
+ ```
379
+
380
+ ```sh
381
+ $ pulumi import gcp:beyondcorp/securityGateway:SecurityGateway default {{project}}/{{location}}/{{security_gateway_id}}
382
+ ```
383
+
384
+ ```sh
385
+ $ pulumi import gcp:beyondcorp/securityGateway:SecurityGateway default {{location}}/{{security_gateway_id}}
386
+ ```
387
+
388
+ :param str resource_name: The name of the resource.
389
+ :param pulumi.ResourceOptions opts: Options for the resource.
390
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the SecurityGateway.
391
+ Cannot exceed 64 characters.
392
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecurityGatewayHubArgs', 'SecurityGatewayHubArgsDict']]]] hubs: Optional. Map of Hubs that represents regional data path deployment with GCP region
393
+ as a key.
394
+ Structure is documented below.
395
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
396
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
397
+ If it is not provided, the provider project is used.
398
+ :param pulumi.Input[str] security_gateway_id: Optional. User-settable SecurityGateway resource ID.
399
+ * Must start with a letter.
400
+ * Must contain between 4-63 characters from `/a-z-/`.
401
+ * Must end with a number or letter.
402
+
403
+
404
+ - - -
405
+ """
406
+ ...
407
+ @overload
408
+ def __init__(__self__,
409
+ resource_name: str,
410
+ args: SecurityGatewayArgs,
411
+ opts: Optional[pulumi.ResourceOptions] = None):
412
+ """
413
+ Deployment of Security Gateway.
414
+
415
+ ## Example Usage
416
+
417
+ ### Beyondcorp Security Gateway Basic
418
+
419
+ ```python
420
+ import pulumi
421
+ import pulumi_gcp as gcp
422
+
423
+ example = gcp.beyondcorp.SecurityGateway("example",
424
+ security_gateway_id="default",
425
+ location="global",
426
+ display_name="My Security Gateway resource",
427
+ hubs=[{
428
+ "region": "us-central1",
429
+ }])
430
+ ```
431
+
432
+ ## Import
433
+
434
+ SecurityGateway can be imported using any of these accepted formats:
435
+
436
+ * `projects/{{project}}/locations/{{location}}/securityGateways/{{security_gateway_id}}`
437
+
438
+ * `{{project}}/{{location}}/{{security_gateway_id}}`
439
+
440
+ * `{{location}}/{{security_gateway_id}}`
441
+
442
+ When using the `pulumi import` command, SecurityGateway can be imported using one of the formats above. For example:
443
+
444
+ ```sh
445
+ $ pulumi import gcp:beyondcorp/securityGateway:SecurityGateway default projects/{{project}}/locations/{{location}}/securityGateways/{{security_gateway_id}}
446
+ ```
447
+
448
+ ```sh
449
+ $ pulumi import gcp:beyondcorp/securityGateway:SecurityGateway default {{project}}/{{location}}/{{security_gateway_id}}
450
+ ```
451
+
452
+ ```sh
453
+ $ pulumi import gcp:beyondcorp/securityGateway:SecurityGateway default {{location}}/{{security_gateway_id}}
454
+ ```
455
+
456
+ :param str resource_name: The name of the resource.
457
+ :param SecurityGatewayArgs args: The arguments to use to populate this resource's properties.
458
+ :param pulumi.ResourceOptions opts: Options for the resource.
459
+ """
460
+ ...
461
+ def __init__(__self__, resource_name: str, *args, **kwargs):
462
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityGatewayArgs, pulumi.ResourceOptions, *args, **kwargs)
463
+ if resource_args is not None:
464
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
465
+ else:
466
+ __self__._internal_init(resource_name, *args, **kwargs)
467
+
468
+ def _internal_init(__self__,
469
+ resource_name: str,
470
+ opts: Optional[pulumi.ResourceOptions] = None,
471
+ display_name: Optional[pulumi.Input[str]] = None,
472
+ hubs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGatewayHubArgs', 'SecurityGatewayHubArgsDict']]]]] = None,
473
+ location: Optional[pulumi.Input[str]] = None,
474
+ project: Optional[pulumi.Input[str]] = None,
475
+ security_gateway_id: Optional[pulumi.Input[str]] = None,
476
+ __props__=None):
477
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
478
+ if not isinstance(opts, pulumi.ResourceOptions):
479
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
480
+ if opts.id is None:
481
+ if __props__ is not None:
482
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
483
+ __props__ = SecurityGatewayArgs.__new__(SecurityGatewayArgs)
484
+
485
+ __props__.__dict__["display_name"] = display_name
486
+ __props__.__dict__["hubs"] = hubs
487
+ if location is None and not opts.urn:
488
+ raise TypeError("Missing required property 'location'")
489
+ __props__.__dict__["location"] = location
490
+ __props__.__dict__["project"] = project
491
+ if security_gateway_id is None and not opts.urn:
492
+ raise TypeError("Missing required property 'security_gateway_id'")
493
+ __props__.__dict__["security_gateway_id"] = security_gateway_id
494
+ __props__.__dict__["create_time"] = None
495
+ __props__.__dict__["external_ips"] = None
496
+ __props__.__dict__["name"] = None
497
+ __props__.__dict__["state"] = None
498
+ __props__.__dict__["update_time"] = None
499
+ super(SecurityGateway, __self__).__init__(
500
+ 'gcp:beyondcorp/securityGateway:SecurityGateway',
501
+ resource_name,
502
+ __props__,
503
+ opts)
504
+
505
+ @staticmethod
506
+ def get(resource_name: str,
507
+ id: pulumi.Input[str],
508
+ opts: Optional[pulumi.ResourceOptions] = None,
509
+ create_time: Optional[pulumi.Input[str]] = None,
510
+ display_name: Optional[pulumi.Input[str]] = None,
511
+ external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
512
+ hubs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGatewayHubArgs', 'SecurityGatewayHubArgsDict']]]]] = None,
513
+ location: Optional[pulumi.Input[str]] = None,
514
+ name: Optional[pulumi.Input[str]] = None,
515
+ project: Optional[pulumi.Input[str]] = None,
516
+ security_gateway_id: Optional[pulumi.Input[str]] = None,
517
+ state: Optional[pulumi.Input[str]] = None,
518
+ update_time: Optional[pulumi.Input[str]] = None) -> 'SecurityGateway':
519
+ """
520
+ Get an existing SecurityGateway resource's state with the given name, id, and optional extra
521
+ properties used to qualify the lookup.
522
+
523
+ :param str resource_name: The unique name of the resulting resource.
524
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
525
+ :param pulumi.ResourceOptions opts: Options for the resource.
526
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the resource was created.
527
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the SecurityGateway.
528
+ Cannot exceed 64 characters.
529
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_ips: Output only. IP addresses that will be used for establishing
530
+ connection to the endpoints.
531
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecurityGatewayHubArgs', 'SecurityGatewayHubArgsDict']]]] hubs: Optional. Map of Hubs that represents regional data path deployment with GCP region
532
+ as a key.
533
+ Structure is documented below.
534
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
535
+ :param pulumi.Input[str] name: Identifier. Name of the resource.
536
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
537
+ If it is not provided, the provider project is used.
538
+ :param pulumi.Input[str] security_gateway_id: Optional. User-settable SecurityGateway resource ID.
539
+ * Must start with a letter.
540
+ * Must contain between 4-63 characters from `/a-z-/`.
541
+ * Must end with a number or letter.
542
+
543
+
544
+ - - -
545
+ :param pulumi.Input[str] state: Output only. The operational state of the SecurityGateway.
546
+ Possible values:
547
+ STATE_UNSPECIFIED
548
+ CREATING
549
+ UPDATING
550
+ DELETING
551
+ RUNNING
552
+ DOWN
553
+ ERROR
554
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the resource was last modified.
555
+ """
556
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
557
+
558
+ __props__ = _SecurityGatewayState.__new__(_SecurityGatewayState)
559
+
560
+ __props__.__dict__["create_time"] = create_time
561
+ __props__.__dict__["display_name"] = display_name
562
+ __props__.__dict__["external_ips"] = external_ips
563
+ __props__.__dict__["hubs"] = hubs
564
+ __props__.__dict__["location"] = location
565
+ __props__.__dict__["name"] = name
566
+ __props__.__dict__["project"] = project
567
+ __props__.__dict__["security_gateway_id"] = security_gateway_id
568
+ __props__.__dict__["state"] = state
569
+ __props__.__dict__["update_time"] = update_time
570
+ return SecurityGateway(resource_name, opts=opts, __props__=__props__)
571
+
572
+ @property
573
+ @pulumi.getter(name="createTime")
574
+ def create_time(self) -> pulumi.Output[str]:
575
+ """
576
+ Output only. Timestamp when the resource was created.
577
+ """
578
+ return pulumi.get(self, "create_time")
579
+
580
+ @property
581
+ @pulumi.getter(name="displayName")
582
+ def display_name(self) -> pulumi.Output[Optional[str]]:
583
+ """
584
+ Optional. An arbitrary user-provided name for the SecurityGateway.
585
+ Cannot exceed 64 characters.
586
+ """
587
+ return pulumi.get(self, "display_name")
588
+
589
+ @property
590
+ @pulumi.getter(name="externalIps")
591
+ def external_ips(self) -> pulumi.Output[Sequence[str]]:
592
+ """
593
+ Output only. IP addresses that will be used for establishing
594
+ connection to the endpoints.
595
+ """
596
+ return pulumi.get(self, "external_ips")
597
+
598
+ @property
599
+ @pulumi.getter
600
+ def hubs(self) -> pulumi.Output[Optional[Sequence['outputs.SecurityGatewayHub']]]:
601
+ """
602
+ Optional. Map of Hubs that represents regional data path deployment with GCP region
603
+ as a key.
604
+ Structure is documented below.
605
+ """
606
+ return pulumi.get(self, "hubs")
607
+
608
+ @property
609
+ @pulumi.getter
610
+ def location(self) -> pulumi.Output[str]:
611
+ """
612
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
613
+ """
614
+ return pulumi.get(self, "location")
615
+
616
+ @property
617
+ @pulumi.getter
618
+ def name(self) -> pulumi.Output[str]:
619
+ """
620
+ Identifier. Name of the resource.
621
+ """
622
+ return pulumi.get(self, "name")
623
+
624
+ @property
625
+ @pulumi.getter
626
+ def project(self) -> pulumi.Output[str]:
627
+ """
628
+ The ID of the project in which the resource belongs.
629
+ If it is not provided, the provider project is used.
630
+ """
631
+ return pulumi.get(self, "project")
632
+
633
+ @property
634
+ @pulumi.getter(name="securityGatewayId")
635
+ def security_gateway_id(self) -> pulumi.Output[str]:
636
+ """
637
+ Optional. User-settable SecurityGateway resource ID.
638
+ * Must start with a letter.
639
+ * Must contain between 4-63 characters from `/a-z-/`.
640
+ * Must end with a number or letter.
641
+
642
+
643
+ - - -
644
+ """
645
+ return pulumi.get(self, "security_gateway_id")
646
+
647
+ @property
648
+ @pulumi.getter
649
+ def state(self) -> pulumi.Output[str]:
650
+ """
651
+ Output only. The operational state of the SecurityGateway.
652
+ Possible values:
653
+ STATE_UNSPECIFIED
654
+ CREATING
655
+ UPDATING
656
+ DELETING
657
+ RUNNING
658
+ DOWN
659
+ ERROR
660
+ """
661
+ return pulumi.get(self, "state")
662
+
663
+ @property
664
+ @pulumi.getter(name="updateTime")
665
+ def update_time(self) -> pulumi.Output[str]:
666
+ """
667
+ Output only. Timestamp when the resource was last modified.
668
+ """
669
+ return pulumi.get(self, "update_time")
670
+
@@ -445,7 +445,7 @@ if not MYPY:
445
445
  Blockchain garbage collection modes. Only applicable when NodeType is FULL or ARCHIVE.
446
446
  Possible values are: `FULL`, `ARCHIVE`.
447
447
 
448
- <a name="nested_additional_endpoints"></a>The `additional_endpoints` block contains:
448
+ <a name="nested_ethereum_details_additional_endpoints"></a>The `additional_endpoints` block contains:
449
449
  """
450
450
  elif False:
451
451
  BlockchainNodesEthereumDetailsGethDetailsArgsDict: TypeAlias = Mapping[str, Any]
@@ -458,7 +458,7 @@ class BlockchainNodesEthereumDetailsGethDetailsArgs:
458
458
  :param pulumi.Input[str] garbage_collection_mode: Blockchain garbage collection modes. Only applicable when NodeType is FULL or ARCHIVE.
459
459
  Possible values are: `FULL`, `ARCHIVE`.
460
460
 
461
- <a name="nested_additional_endpoints"></a>The `additional_endpoints` block contains:
461
+ <a name="nested_ethereum_details_additional_endpoints"></a>The `additional_endpoints` block contains:
462
462
  """
463
463
  if garbage_collection_mode is not None:
464
464
  pulumi.set(__self__, "garbage_collection_mode", garbage_collection_mode)
@@ -470,7 +470,7 @@ class BlockchainNodesEthereumDetailsGethDetailsArgs:
470
470
  Blockchain garbage collection modes. Only applicable when NodeType is FULL or ARCHIVE.
471
471
  Possible values are: `FULL`, `ARCHIVE`.
472
472
 
473
- <a name="nested_additional_endpoints"></a>The `additional_endpoints` block contains:
473
+ <a name="nested_ethereum_details_additional_endpoints"></a>The `additional_endpoints` block contains:
474
474
  """
475
475
  return pulumi.get(self, "garbage_collection_mode")
476
476