pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.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 (37) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/blockchainnodeengine/__init__.py +10 -0
  4. pulumi_gcp/blockchainnodeengine/_inputs.py +388 -0
  5. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +791 -0
  6. pulumi_gcp/blockchainnodeengine/outputs.py +441 -0
  7. pulumi_gcp/compute/__init__.py +2 -0
  8. pulumi_gcp/compute/disk.py +28 -0
  9. pulumi_gcp/compute/get_disk.py +11 -1
  10. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  11. pulumi_gcp/compute/get_machine_types.py +143 -0
  12. pulumi_gcp/compute/instance_group_manager.py +28 -0
  13. pulumi_gcp/compute/interconnect_attachment.py +75 -0
  14. pulumi_gcp/compute/outputs.py +219 -0
  15. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  16. pulumi_gcp/compute/region_network_endpoint.py +556 -0
  17. pulumi_gcp/compute/region_network_endpoint_group.py +128 -71
  18. pulumi_gcp/config/__init__.pyi +2 -2
  19. pulumi_gcp/config/vars.py +4 -4
  20. pulumi_gcp/discoveryengine/__init__.py +4 -0
  21. pulumi_gcp/discoveryengine/_inputs.py +237 -0
  22. pulumi_gcp/discoveryengine/chat_engine.py +822 -0
  23. pulumi_gcp/discoveryengine/outputs.py +304 -0
  24. pulumi_gcp/discoveryengine/search_engine.py +752 -0
  25. pulumi_gcp/filestore/_inputs.py +1 -3
  26. pulumi_gcp/filestore/outputs.py +1 -3
  27. pulumi_gcp/memcache/instance.py +61 -0
  28. pulumi_gcp/netapp/__init__.py +1 -0
  29. pulumi_gcp/netapp/storage_pool.py +34 -6
  30. pulumi_gcp/netapp/volume.py +65 -2
  31. pulumi_gcp/netapp/volume_snapshot.py +625 -0
  32. pulumi_gcp/provider.py +20 -0
  33. pulumi_gcp/vmwareengine/private_cloud.py +0 -7
  34. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/METADATA +1 -1
  35. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/RECORD +37 -26
  36. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/WHEEL +0 -0
  37. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,791 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['BlockchainNodesArgs', 'BlockchainNodes']
15
+
16
+ @pulumi.input_type
17
+ class BlockchainNodesArgs:
18
+ def __init__(__self__, *,
19
+ blockchain_node_id: pulumi.Input[str],
20
+ location: pulumi.Input[str],
21
+ blockchain_type: Optional[pulumi.Input[str]] = None,
22
+ ethereum_details: Optional[pulumi.Input['BlockchainNodesEthereumDetailsArgs']] = None,
23
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
24
+ project: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a BlockchainNodes resource.
27
+ :param pulumi.Input[str] blockchain_node_id: ID of the requesting object.
28
+
29
+
30
+ - - -
31
+ :param pulumi.Input[str] location: Location of Blockchain Node being created.
32
+ :param pulumi.Input[str] blockchain_type: User-provided key-value pairs
33
+ Possible values are: `ETHEREUM`.
34
+ :param pulumi.Input['BlockchainNodesEthereumDetailsArgs'] ethereum_details: User-provided key-value pairs
35
+ Structure is documented below.
36
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-provided key-value pairs
37
+
38
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
39
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
40
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
41
+ If it is not provided, the provider project is used.
42
+ """
43
+ pulumi.set(__self__, "blockchain_node_id", blockchain_node_id)
44
+ pulumi.set(__self__, "location", location)
45
+ if blockchain_type is not None:
46
+ pulumi.set(__self__, "blockchain_type", blockchain_type)
47
+ if ethereum_details is not None:
48
+ pulumi.set(__self__, "ethereum_details", ethereum_details)
49
+ if labels is not None:
50
+ pulumi.set(__self__, "labels", labels)
51
+ if project is not None:
52
+ pulumi.set(__self__, "project", project)
53
+
54
+ @property
55
+ @pulumi.getter(name="blockchainNodeId")
56
+ def blockchain_node_id(self) -> pulumi.Input[str]:
57
+ """
58
+ ID of the requesting object.
59
+
60
+
61
+ - - -
62
+ """
63
+ return pulumi.get(self, "blockchain_node_id")
64
+
65
+ @blockchain_node_id.setter
66
+ def blockchain_node_id(self, value: pulumi.Input[str]):
67
+ pulumi.set(self, "blockchain_node_id", value)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def location(self) -> pulumi.Input[str]:
72
+ """
73
+ Location of Blockchain Node being created.
74
+ """
75
+ return pulumi.get(self, "location")
76
+
77
+ @location.setter
78
+ def location(self, value: pulumi.Input[str]):
79
+ pulumi.set(self, "location", value)
80
+
81
+ @property
82
+ @pulumi.getter(name="blockchainType")
83
+ def blockchain_type(self) -> Optional[pulumi.Input[str]]:
84
+ """
85
+ User-provided key-value pairs
86
+ Possible values are: `ETHEREUM`.
87
+ """
88
+ return pulumi.get(self, "blockchain_type")
89
+
90
+ @blockchain_type.setter
91
+ def blockchain_type(self, value: Optional[pulumi.Input[str]]):
92
+ pulumi.set(self, "blockchain_type", value)
93
+
94
+ @property
95
+ @pulumi.getter(name="ethereumDetails")
96
+ def ethereum_details(self) -> Optional[pulumi.Input['BlockchainNodesEthereumDetailsArgs']]:
97
+ """
98
+ User-provided key-value pairs
99
+ Structure is documented below.
100
+ """
101
+ return pulumi.get(self, "ethereum_details")
102
+
103
+ @ethereum_details.setter
104
+ def ethereum_details(self, value: Optional[pulumi.Input['BlockchainNodesEthereumDetailsArgs']]):
105
+ pulumi.set(self, "ethereum_details", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
110
+ """
111
+ User-provided key-value pairs
112
+
113
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
114
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
115
+ """
116
+ return pulumi.get(self, "labels")
117
+
118
+ @labels.setter
119
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
120
+ pulumi.set(self, "labels", value)
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def project(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ The ID of the project in which the resource belongs.
127
+ If it is not provided, the provider project is used.
128
+ """
129
+ return pulumi.get(self, "project")
130
+
131
+ @project.setter
132
+ def project(self, value: Optional[pulumi.Input[str]]):
133
+ pulumi.set(self, "project", value)
134
+
135
+
136
+ @pulumi.input_type
137
+ class _BlockchainNodesState:
138
+ def __init__(__self__, *,
139
+ blockchain_node_id: Optional[pulumi.Input[str]] = None,
140
+ blockchain_type: Optional[pulumi.Input[str]] = None,
141
+ connection_infos: Optional[pulumi.Input[Sequence[pulumi.Input['BlockchainNodesConnectionInfoArgs']]]] = None,
142
+ create_time: Optional[pulumi.Input[str]] = None,
143
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
144
+ ethereum_details: Optional[pulumi.Input['BlockchainNodesEthereumDetailsArgs']] = None,
145
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
146
+ location: Optional[pulumi.Input[str]] = None,
147
+ name: Optional[pulumi.Input[str]] = None,
148
+ project: Optional[pulumi.Input[str]] = None,
149
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
150
+ update_time: Optional[pulumi.Input[str]] = None):
151
+ """
152
+ Input properties used for looking up and filtering BlockchainNodes resources.
153
+ :param pulumi.Input[str] blockchain_node_id: ID of the requesting object.
154
+
155
+
156
+ - - -
157
+ :param pulumi.Input[str] blockchain_type: User-provided key-value pairs
158
+ Possible values are: `ETHEREUM`.
159
+ :param pulumi.Input[Sequence[pulumi.Input['BlockchainNodesConnectionInfoArgs']]] connection_infos: The connection information through which to interact with a blockchain node.
160
+ Structure is documented below.
161
+ :param pulumi.Input[str] create_time: The timestamp at which the blockchain node was first created.
162
+ :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.
163
+ :param pulumi.Input['BlockchainNodesEthereumDetailsArgs'] ethereum_details: User-provided key-value pairs
164
+ Structure is documented below.
165
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-provided key-value pairs
166
+
167
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
168
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
169
+ :param pulumi.Input[str] location: Location of Blockchain Node being created.
170
+ :param pulumi.Input[str] name: The fully qualified name of the blockchain node. e.g. projects/my-project/locations/us-central1/blockchainNodes/my-node.
171
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
172
+ If it is not provided, the provider project is used.
173
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
174
+ and default labels configured on the provider.
175
+ :param pulumi.Input[str] update_time: The timestamp at which the blockchain node was last updated.
176
+ """
177
+ if blockchain_node_id is not None:
178
+ pulumi.set(__self__, "blockchain_node_id", blockchain_node_id)
179
+ if blockchain_type is not None:
180
+ pulumi.set(__self__, "blockchain_type", blockchain_type)
181
+ if connection_infos is not None:
182
+ pulumi.set(__self__, "connection_infos", connection_infos)
183
+ if create_time is not None:
184
+ pulumi.set(__self__, "create_time", create_time)
185
+ if effective_labels is not None:
186
+ pulumi.set(__self__, "effective_labels", effective_labels)
187
+ if ethereum_details is not None:
188
+ pulumi.set(__self__, "ethereum_details", ethereum_details)
189
+ if labels is not None:
190
+ pulumi.set(__self__, "labels", labels)
191
+ if location is not None:
192
+ pulumi.set(__self__, "location", location)
193
+ if name is not None:
194
+ pulumi.set(__self__, "name", name)
195
+ if project is not None:
196
+ pulumi.set(__self__, "project", project)
197
+ if pulumi_labels is not None:
198
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
199
+ if update_time is not None:
200
+ pulumi.set(__self__, "update_time", update_time)
201
+
202
+ @property
203
+ @pulumi.getter(name="blockchainNodeId")
204
+ def blockchain_node_id(self) -> Optional[pulumi.Input[str]]:
205
+ """
206
+ ID of the requesting object.
207
+
208
+
209
+ - - -
210
+ """
211
+ return pulumi.get(self, "blockchain_node_id")
212
+
213
+ @blockchain_node_id.setter
214
+ def blockchain_node_id(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "blockchain_node_id", value)
216
+
217
+ @property
218
+ @pulumi.getter(name="blockchainType")
219
+ def blockchain_type(self) -> Optional[pulumi.Input[str]]:
220
+ """
221
+ User-provided key-value pairs
222
+ Possible values are: `ETHEREUM`.
223
+ """
224
+ return pulumi.get(self, "blockchain_type")
225
+
226
+ @blockchain_type.setter
227
+ def blockchain_type(self, value: Optional[pulumi.Input[str]]):
228
+ pulumi.set(self, "blockchain_type", value)
229
+
230
+ @property
231
+ @pulumi.getter(name="connectionInfos")
232
+ def connection_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BlockchainNodesConnectionInfoArgs']]]]:
233
+ """
234
+ The connection information through which to interact with a blockchain node.
235
+ Structure is documented below.
236
+ """
237
+ return pulumi.get(self, "connection_infos")
238
+
239
+ @connection_infos.setter
240
+ def connection_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BlockchainNodesConnectionInfoArgs']]]]):
241
+ pulumi.set(self, "connection_infos", value)
242
+
243
+ @property
244
+ @pulumi.getter(name="createTime")
245
+ def create_time(self) -> Optional[pulumi.Input[str]]:
246
+ """
247
+ The timestamp at which the blockchain node was first created.
248
+ """
249
+ return pulumi.get(self, "create_time")
250
+
251
+ @create_time.setter
252
+ def create_time(self, value: Optional[pulumi.Input[str]]):
253
+ pulumi.set(self, "create_time", value)
254
+
255
+ @property
256
+ @pulumi.getter(name="effectiveLabels")
257
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
258
+ """
259
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
260
+ """
261
+ return pulumi.get(self, "effective_labels")
262
+
263
+ @effective_labels.setter
264
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
265
+ pulumi.set(self, "effective_labels", value)
266
+
267
+ @property
268
+ @pulumi.getter(name="ethereumDetails")
269
+ def ethereum_details(self) -> Optional[pulumi.Input['BlockchainNodesEthereumDetailsArgs']]:
270
+ """
271
+ User-provided key-value pairs
272
+ Structure is documented below.
273
+ """
274
+ return pulumi.get(self, "ethereum_details")
275
+
276
+ @ethereum_details.setter
277
+ def ethereum_details(self, value: Optional[pulumi.Input['BlockchainNodesEthereumDetailsArgs']]):
278
+ pulumi.set(self, "ethereum_details", value)
279
+
280
+ @property
281
+ @pulumi.getter
282
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
283
+ """
284
+ User-provided key-value pairs
285
+
286
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
287
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
288
+ """
289
+ return pulumi.get(self, "labels")
290
+
291
+ @labels.setter
292
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
293
+ pulumi.set(self, "labels", value)
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def location(self) -> Optional[pulumi.Input[str]]:
298
+ """
299
+ Location of Blockchain Node being created.
300
+ """
301
+ return pulumi.get(self, "location")
302
+
303
+ @location.setter
304
+ def location(self, value: Optional[pulumi.Input[str]]):
305
+ pulumi.set(self, "location", value)
306
+
307
+ @property
308
+ @pulumi.getter
309
+ def name(self) -> Optional[pulumi.Input[str]]:
310
+ """
311
+ The fully qualified name of the blockchain node. e.g. projects/my-project/locations/us-central1/blockchainNodes/my-node.
312
+ """
313
+ return pulumi.get(self, "name")
314
+
315
+ @name.setter
316
+ def name(self, value: Optional[pulumi.Input[str]]):
317
+ pulumi.set(self, "name", value)
318
+
319
+ @property
320
+ @pulumi.getter
321
+ def project(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ The ID of the project in which the resource belongs.
324
+ If it is not provided, the provider project is used.
325
+ """
326
+ return pulumi.get(self, "project")
327
+
328
+ @project.setter
329
+ def project(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "project", value)
331
+
332
+ @property
333
+ @pulumi.getter(name="pulumiLabels")
334
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
335
+ """
336
+ The combination of labels configured directly on the resource
337
+ and default labels configured on the provider.
338
+ """
339
+ return pulumi.get(self, "pulumi_labels")
340
+
341
+ @pulumi_labels.setter
342
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
343
+ pulumi.set(self, "pulumi_labels", value)
344
+
345
+ @property
346
+ @pulumi.getter(name="updateTime")
347
+ def update_time(self) -> Optional[pulumi.Input[str]]:
348
+ """
349
+ The timestamp at which the blockchain node was last updated.
350
+ """
351
+ return pulumi.get(self, "update_time")
352
+
353
+ @update_time.setter
354
+ def update_time(self, value: Optional[pulumi.Input[str]]):
355
+ pulumi.set(self, "update_time", value)
356
+
357
+
358
+ class BlockchainNodes(pulumi.CustomResource):
359
+ @overload
360
+ def __init__(__self__,
361
+ resource_name: str,
362
+ opts: Optional[pulumi.ResourceOptions] = None,
363
+ blockchain_node_id: Optional[pulumi.Input[str]] = None,
364
+ blockchain_type: Optional[pulumi.Input[str]] = None,
365
+ ethereum_details: Optional[pulumi.Input[pulumi.InputType['BlockchainNodesEthereumDetailsArgs']]] = None,
366
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
367
+ location: Optional[pulumi.Input[str]] = None,
368
+ project: Optional[pulumi.Input[str]] = None,
369
+ __props__=None):
370
+ """
371
+ A representation of a blockchain node.
372
+
373
+ To get more information about BlockchainNodes, see:
374
+
375
+ * [API documentation](https://cloud.google.com/blockchain-node-engine/docs/reference/rest/v1/projects.locations.blockchainNodes)
376
+ * How-to Guides
377
+ * [Official Documentation](https://cloud.google.com/blockchain-node-engine)
378
+
379
+ ## Example Usage
380
+ ### Blockchain Nodes Basic
381
+
382
+ ```python
383
+ import pulumi
384
+ import pulumi_gcp as gcp
385
+
386
+ default_node = gcp.blockchainnodeengine.BlockchainNodes("defaultNode",
387
+ blockchain_node_id="blockchain_basic_node",
388
+ blockchain_type="ETHEREUM",
389
+ ethereum_details=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsArgs(
390
+ api_enable_admin=True,
391
+ api_enable_debug=True,
392
+ consensus_client="LIGHTHOUSE",
393
+ execution_client="ERIGON",
394
+ network="MAINNET",
395
+ node_type="ARCHIVE",
396
+ validator_config=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsValidatorConfigArgs(
397
+ mev_relay_urls=[
398
+ "https://mev1.example.org/",
399
+ "https://mev2.example.org/",
400
+ ],
401
+ ),
402
+ ),
403
+ labels={
404
+ "environment": "dev",
405
+ },
406
+ location="us-central1")
407
+ ```
408
+ ### Blockchain Nodes Geth Details
409
+
410
+ ```python
411
+ import pulumi
412
+ import pulumi_gcp as gcp
413
+
414
+ default_node_geth = gcp.blockchainnodeengine.BlockchainNodes("defaultNodeGeth",
415
+ blockchain_node_id="blockchain_geth_node",
416
+ blockchain_type="ETHEREUM",
417
+ ethereum_details=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsArgs(
418
+ api_enable_admin=True,
419
+ api_enable_debug=True,
420
+ consensus_client="LIGHTHOUSE",
421
+ execution_client="GETH",
422
+ geth_details=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsGethDetailsArgs(
423
+ garbage_collection_mode="FULL",
424
+ ),
425
+ network="MAINNET",
426
+ node_type="FULL",
427
+ validator_config=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsValidatorConfigArgs(
428
+ mev_relay_urls=[
429
+ "https://mev1.example.org/",
430
+ "https://mev2.example.org/",
431
+ ],
432
+ ),
433
+ ),
434
+ labels={
435
+ "environment": "dev",
436
+ },
437
+ location="us-central1")
438
+ ```
439
+
440
+ ## Import
441
+
442
+ BlockchainNodes can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/blockchainNodes/{{blockchain_node_id}}` * `{{project}}/{{location}}/{{blockchain_node_id}}` * `{{location}}/{{blockchain_node_id}}` When using the `pulumi import` command, BlockchainNodes can be imported using one of the formats above. For example
443
+
444
+ ```sh
445
+ $ pulumi import gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes default projects/{{project}}/locations/{{location}}/blockchainNodes/{{blockchain_node_id}}
446
+ ```
447
+
448
+ ```sh
449
+ $ pulumi import gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes default {{project}}/{{location}}/{{blockchain_node_id}}
450
+ ```
451
+
452
+ ```sh
453
+ $ pulumi import gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes default {{location}}/{{blockchain_node_id}}
454
+ ```
455
+
456
+ :param str resource_name: The name of the resource.
457
+ :param pulumi.ResourceOptions opts: Options for the resource.
458
+ :param pulumi.Input[str] blockchain_node_id: ID of the requesting object.
459
+
460
+
461
+ - - -
462
+ :param pulumi.Input[str] blockchain_type: User-provided key-value pairs
463
+ Possible values are: `ETHEREUM`.
464
+ :param pulumi.Input[pulumi.InputType['BlockchainNodesEthereumDetailsArgs']] ethereum_details: User-provided key-value pairs
465
+ Structure is documented below.
466
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-provided key-value pairs
467
+
468
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
469
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
470
+ :param pulumi.Input[str] location: Location of Blockchain Node being created.
471
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
472
+ If it is not provided, the provider project is used.
473
+ """
474
+ ...
475
+ @overload
476
+ def __init__(__self__,
477
+ resource_name: str,
478
+ args: BlockchainNodesArgs,
479
+ opts: Optional[pulumi.ResourceOptions] = None):
480
+ """
481
+ A representation of a blockchain node.
482
+
483
+ To get more information about BlockchainNodes, see:
484
+
485
+ * [API documentation](https://cloud.google.com/blockchain-node-engine/docs/reference/rest/v1/projects.locations.blockchainNodes)
486
+ * How-to Guides
487
+ * [Official Documentation](https://cloud.google.com/blockchain-node-engine)
488
+
489
+ ## Example Usage
490
+ ### Blockchain Nodes Basic
491
+
492
+ ```python
493
+ import pulumi
494
+ import pulumi_gcp as gcp
495
+
496
+ default_node = gcp.blockchainnodeengine.BlockchainNodes("defaultNode",
497
+ blockchain_node_id="blockchain_basic_node",
498
+ blockchain_type="ETHEREUM",
499
+ ethereum_details=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsArgs(
500
+ api_enable_admin=True,
501
+ api_enable_debug=True,
502
+ consensus_client="LIGHTHOUSE",
503
+ execution_client="ERIGON",
504
+ network="MAINNET",
505
+ node_type="ARCHIVE",
506
+ validator_config=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsValidatorConfigArgs(
507
+ mev_relay_urls=[
508
+ "https://mev1.example.org/",
509
+ "https://mev2.example.org/",
510
+ ],
511
+ ),
512
+ ),
513
+ labels={
514
+ "environment": "dev",
515
+ },
516
+ location="us-central1")
517
+ ```
518
+ ### Blockchain Nodes Geth Details
519
+
520
+ ```python
521
+ import pulumi
522
+ import pulumi_gcp as gcp
523
+
524
+ default_node_geth = gcp.blockchainnodeengine.BlockchainNodes("defaultNodeGeth",
525
+ blockchain_node_id="blockchain_geth_node",
526
+ blockchain_type="ETHEREUM",
527
+ ethereum_details=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsArgs(
528
+ api_enable_admin=True,
529
+ api_enable_debug=True,
530
+ consensus_client="LIGHTHOUSE",
531
+ execution_client="GETH",
532
+ geth_details=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsGethDetailsArgs(
533
+ garbage_collection_mode="FULL",
534
+ ),
535
+ network="MAINNET",
536
+ node_type="FULL",
537
+ validator_config=gcp.blockchainnodeengine.BlockchainNodesEthereumDetailsValidatorConfigArgs(
538
+ mev_relay_urls=[
539
+ "https://mev1.example.org/",
540
+ "https://mev2.example.org/",
541
+ ],
542
+ ),
543
+ ),
544
+ labels={
545
+ "environment": "dev",
546
+ },
547
+ location="us-central1")
548
+ ```
549
+
550
+ ## Import
551
+
552
+ BlockchainNodes can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/blockchainNodes/{{blockchain_node_id}}` * `{{project}}/{{location}}/{{blockchain_node_id}}` * `{{location}}/{{blockchain_node_id}}` When using the `pulumi import` command, BlockchainNodes can be imported using one of the formats above. For example
553
+
554
+ ```sh
555
+ $ pulumi import gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes default projects/{{project}}/locations/{{location}}/blockchainNodes/{{blockchain_node_id}}
556
+ ```
557
+
558
+ ```sh
559
+ $ pulumi import gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes default {{project}}/{{location}}/{{blockchain_node_id}}
560
+ ```
561
+
562
+ ```sh
563
+ $ pulumi import gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes default {{location}}/{{blockchain_node_id}}
564
+ ```
565
+
566
+ :param str resource_name: The name of the resource.
567
+ :param BlockchainNodesArgs args: The arguments to use to populate this resource's properties.
568
+ :param pulumi.ResourceOptions opts: Options for the resource.
569
+ """
570
+ ...
571
+ def __init__(__self__, resource_name: str, *args, **kwargs):
572
+ resource_args, opts = _utilities.get_resource_args_opts(BlockchainNodesArgs, pulumi.ResourceOptions, *args, **kwargs)
573
+ if resource_args is not None:
574
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
575
+ else:
576
+ __self__._internal_init(resource_name, *args, **kwargs)
577
+
578
+ def _internal_init(__self__,
579
+ resource_name: str,
580
+ opts: Optional[pulumi.ResourceOptions] = None,
581
+ blockchain_node_id: Optional[pulumi.Input[str]] = None,
582
+ blockchain_type: Optional[pulumi.Input[str]] = None,
583
+ ethereum_details: Optional[pulumi.Input[pulumi.InputType['BlockchainNodesEthereumDetailsArgs']]] = None,
584
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
585
+ location: Optional[pulumi.Input[str]] = None,
586
+ project: Optional[pulumi.Input[str]] = None,
587
+ __props__=None):
588
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
589
+ if not isinstance(opts, pulumi.ResourceOptions):
590
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
591
+ if opts.id is None:
592
+ if __props__ is not None:
593
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
594
+ __props__ = BlockchainNodesArgs.__new__(BlockchainNodesArgs)
595
+
596
+ if blockchain_node_id is None and not opts.urn:
597
+ raise TypeError("Missing required property 'blockchain_node_id'")
598
+ __props__.__dict__["blockchain_node_id"] = blockchain_node_id
599
+ __props__.__dict__["blockchain_type"] = blockchain_type
600
+ __props__.__dict__["ethereum_details"] = ethereum_details
601
+ __props__.__dict__["labels"] = labels
602
+ if location is None and not opts.urn:
603
+ raise TypeError("Missing required property 'location'")
604
+ __props__.__dict__["location"] = location
605
+ __props__.__dict__["project"] = project
606
+ __props__.__dict__["connection_infos"] = None
607
+ __props__.__dict__["create_time"] = None
608
+ __props__.__dict__["effective_labels"] = None
609
+ __props__.__dict__["name"] = None
610
+ __props__.__dict__["pulumi_labels"] = None
611
+ __props__.__dict__["update_time"] = None
612
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
613
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
614
+ super(BlockchainNodes, __self__).__init__(
615
+ 'gcp:blockchainnodeengine/blockchainNodes:BlockchainNodes',
616
+ resource_name,
617
+ __props__,
618
+ opts)
619
+
620
+ @staticmethod
621
+ def get(resource_name: str,
622
+ id: pulumi.Input[str],
623
+ opts: Optional[pulumi.ResourceOptions] = None,
624
+ blockchain_node_id: Optional[pulumi.Input[str]] = None,
625
+ blockchain_type: Optional[pulumi.Input[str]] = None,
626
+ connection_infos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BlockchainNodesConnectionInfoArgs']]]]] = None,
627
+ create_time: Optional[pulumi.Input[str]] = None,
628
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
629
+ ethereum_details: Optional[pulumi.Input[pulumi.InputType['BlockchainNodesEthereumDetailsArgs']]] = None,
630
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
631
+ location: Optional[pulumi.Input[str]] = None,
632
+ name: Optional[pulumi.Input[str]] = None,
633
+ project: Optional[pulumi.Input[str]] = None,
634
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
635
+ update_time: Optional[pulumi.Input[str]] = None) -> 'BlockchainNodes':
636
+ """
637
+ Get an existing BlockchainNodes resource's state with the given name, id, and optional extra
638
+ properties used to qualify the lookup.
639
+
640
+ :param str resource_name: The unique name of the resulting resource.
641
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
642
+ :param pulumi.ResourceOptions opts: Options for the resource.
643
+ :param pulumi.Input[str] blockchain_node_id: ID of the requesting object.
644
+
645
+
646
+ - - -
647
+ :param pulumi.Input[str] blockchain_type: User-provided key-value pairs
648
+ Possible values are: `ETHEREUM`.
649
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BlockchainNodesConnectionInfoArgs']]]] connection_infos: The connection information through which to interact with a blockchain node.
650
+ Structure is documented below.
651
+ :param pulumi.Input[str] create_time: The timestamp at which the blockchain node was first created.
652
+ :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.
653
+ :param pulumi.Input[pulumi.InputType['BlockchainNodesEthereumDetailsArgs']] ethereum_details: User-provided key-value pairs
654
+ Structure is documented below.
655
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-provided key-value pairs
656
+
657
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
658
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
659
+ :param pulumi.Input[str] location: Location of Blockchain Node being created.
660
+ :param pulumi.Input[str] name: The fully qualified name of the blockchain node. e.g. projects/my-project/locations/us-central1/blockchainNodes/my-node.
661
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
662
+ If it is not provided, the provider project is used.
663
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
664
+ and default labels configured on the provider.
665
+ :param pulumi.Input[str] update_time: The timestamp at which the blockchain node was last updated.
666
+ """
667
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
668
+
669
+ __props__ = _BlockchainNodesState.__new__(_BlockchainNodesState)
670
+
671
+ __props__.__dict__["blockchain_node_id"] = blockchain_node_id
672
+ __props__.__dict__["blockchain_type"] = blockchain_type
673
+ __props__.__dict__["connection_infos"] = connection_infos
674
+ __props__.__dict__["create_time"] = create_time
675
+ __props__.__dict__["effective_labels"] = effective_labels
676
+ __props__.__dict__["ethereum_details"] = ethereum_details
677
+ __props__.__dict__["labels"] = labels
678
+ __props__.__dict__["location"] = location
679
+ __props__.__dict__["name"] = name
680
+ __props__.__dict__["project"] = project
681
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
682
+ __props__.__dict__["update_time"] = update_time
683
+ return BlockchainNodes(resource_name, opts=opts, __props__=__props__)
684
+
685
+ @property
686
+ @pulumi.getter(name="blockchainNodeId")
687
+ def blockchain_node_id(self) -> pulumi.Output[str]:
688
+ """
689
+ ID of the requesting object.
690
+
691
+
692
+ - - -
693
+ """
694
+ return pulumi.get(self, "blockchain_node_id")
695
+
696
+ @property
697
+ @pulumi.getter(name="blockchainType")
698
+ def blockchain_type(self) -> pulumi.Output[Optional[str]]:
699
+ """
700
+ User-provided key-value pairs
701
+ Possible values are: `ETHEREUM`.
702
+ """
703
+ return pulumi.get(self, "blockchain_type")
704
+
705
+ @property
706
+ @pulumi.getter(name="connectionInfos")
707
+ def connection_infos(self) -> pulumi.Output[Sequence['outputs.BlockchainNodesConnectionInfo']]:
708
+ """
709
+ The connection information through which to interact with a blockchain node.
710
+ Structure is documented below.
711
+ """
712
+ return pulumi.get(self, "connection_infos")
713
+
714
+ @property
715
+ @pulumi.getter(name="createTime")
716
+ def create_time(self) -> pulumi.Output[str]:
717
+ """
718
+ The timestamp at which the blockchain node was first created.
719
+ """
720
+ return pulumi.get(self, "create_time")
721
+
722
+ @property
723
+ @pulumi.getter(name="effectiveLabels")
724
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
725
+ """
726
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
727
+ """
728
+ return pulumi.get(self, "effective_labels")
729
+
730
+ @property
731
+ @pulumi.getter(name="ethereumDetails")
732
+ def ethereum_details(self) -> pulumi.Output[Optional['outputs.BlockchainNodesEthereumDetails']]:
733
+ """
734
+ User-provided key-value pairs
735
+ Structure is documented below.
736
+ """
737
+ return pulumi.get(self, "ethereum_details")
738
+
739
+ @property
740
+ @pulumi.getter
741
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
742
+ """
743
+ User-provided key-value pairs
744
+
745
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
746
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
747
+ """
748
+ return pulumi.get(self, "labels")
749
+
750
+ @property
751
+ @pulumi.getter
752
+ def location(self) -> pulumi.Output[str]:
753
+ """
754
+ Location of Blockchain Node being created.
755
+ """
756
+ return pulumi.get(self, "location")
757
+
758
+ @property
759
+ @pulumi.getter
760
+ def name(self) -> pulumi.Output[str]:
761
+ """
762
+ The fully qualified name of the blockchain node. e.g. projects/my-project/locations/us-central1/blockchainNodes/my-node.
763
+ """
764
+ return pulumi.get(self, "name")
765
+
766
+ @property
767
+ @pulumi.getter
768
+ def project(self) -> pulumi.Output[str]:
769
+ """
770
+ The ID of the project in which the resource belongs.
771
+ If it is not provided, the provider project is used.
772
+ """
773
+ return pulumi.get(self, "project")
774
+
775
+ @property
776
+ @pulumi.getter(name="pulumiLabels")
777
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
778
+ """
779
+ The combination of labels configured directly on the resource
780
+ and default labels configured on the provider.
781
+ """
782
+ return pulumi.get(self, "pulumi_labels")
783
+
784
+ @property
785
+ @pulumi.getter(name="updateTime")
786
+ def update_time(self) -> pulumi.Output[str]:
787
+ """
788
+ The timestamp at which the blockchain node was last updated.
789
+ """
790
+ return pulumi.get(self, "update_time")
791
+