pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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
+