google-apis-blockchainnodeengine_v1 0.1.0

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.
@@ -0,0 +1,569 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module BlockchainnodeengineV1
24
+
25
+ # A representation of a blockchain node.
26
+ class BlockchainNode
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Immutable. The blockchain type of the node.
30
+ # Corresponds to the JSON property `blockchainType`
31
+ # @return [String]
32
+ attr_accessor :blockchain_type
33
+
34
+ # The connection information through which to interact with a blockchain node.
35
+ # Corresponds to the JSON property `connectionInfo`
36
+ # @return [Google::Apis::BlockchainnodeengineV1::ConnectionInfo]
37
+ attr_accessor :connection_info
38
+
39
+ # Output only. The timestamp at which the blockchain node was first created.
40
+ # Corresponds to the JSON property `createTime`
41
+ # @return [String]
42
+ attr_accessor :create_time
43
+
44
+ # Ethereum-specific blockchain node details.
45
+ # Corresponds to the JSON property `ethereumDetails`
46
+ # @return [Google::Apis::BlockchainnodeengineV1::EthereumDetails]
47
+ attr_accessor :ethereum_details
48
+
49
+ # User-provided key-value pairs.
50
+ # Corresponds to the JSON property `labels`
51
+ # @return [Hash<String,String>]
52
+ attr_accessor :labels
53
+
54
+ # Output only. The fully qualified name of the blockchain node. e.g. `projects/
55
+ # my-project/locations/us-central1/blockchainNodes/my-node`.
56
+ # Corresponds to the JSON property `name`
57
+ # @return [String]
58
+ attr_accessor :name
59
+
60
+ # Output only. A status representing the state of the node.
61
+ # Corresponds to the JSON property `state`
62
+ # @return [String]
63
+ attr_accessor :state
64
+
65
+ # Output only. The timestamp at which the blockchain node was last updated.
66
+ # Corresponds to the JSON property `updateTime`
67
+ # @return [String]
68
+ attr_accessor :update_time
69
+
70
+ def initialize(**args)
71
+ update!(**args)
72
+ end
73
+
74
+ # Update properties of this object
75
+ def update!(**args)
76
+ @blockchain_type = args[:blockchain_type] if args.key?(:blockchain_type)
77
+ @connection_info = args[:connection_info] if args.key?(:connection_info)
78
+ @create_time = args[:create_time] if args.key?(:create_time)
79
+ @ethereum_details = args[:ethereum_details] if args.key?(:ethereum_details)
80
+ @labels = args[:labels] if args.key?(:labels)
81
+ @name = args[:name] if args.key?(:name)
82
+ @state = args[:state] if args.key?(:state)
83
+ @update_time = args[:update_time] if args.key?(:update_time)
84
+ end
85
+ end
86
+
87
+ # The request message for Operations.CancelOperation.
88
+ class CancelOperationRequest
89
+ include Google::Apis::Core::Hashable
90
+
91
+ def initialize(**args)
92
+ update!(**args)
93
+ end
94
+
95
+ # Update properties of this object
96
+ def update!(**args)
97
+ end
98
+ end
99
+
100
+ # The connection information through which to interact with a blockchain node.
101
+ class ConnectionInfo
102
+ include Google::Apis::Core::Hashable
103
+
104
+ # Contains endpoint information through which to interact with a blockchain node.
105
+ # Corresponds to the JSON property `endpointInfo`
106
+ # @return [Google::Apis::BlockchainnodeengineV1::EndpointInfo]
107
+ attr_accessor :endpoint_info
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @endpoint_info = args[:endpoint_info] if args.key?(:endpoint_info)
116
+ end
117
+ end
118
+
119
+ # Contains endpoint information through which to interact with a blockchain node.
120
+ class EndpointInfo
121
+ include Google::Apis::Core::Hashable
122
+
123
+ # Output only. The assigned URL for the node JSON-RPC API endpoint.
124
+ # Corresponds to the JSON property `jsonRpcApiEndpoint`
125
+ # @return [String]
126
+ attr_accessor :json_rpc_api_endpoint
127
+
128
+ # Output only. The assigned URL for the node WebSockets API endpoint.
129
+ # Corresponds to the JSON property `websocketsApiEndpoint`
130
+ # @return [String]
131
+ attr_accessor :websockets_api_endpoint
132
+
133
+ def initialize(**args)
134
+ update!(**args)
135
+ end
136
+
137
+ # Update properties of this object
138
+ def update!(**args)
139
+ @json_rpc_api_endpoint = args[:json_rpc_api_endpoint] if args.key?(:json_rpc_api_endpoint)
140
+ @websockets_api_endpoint = args[:websockets_api_endpoint] if args.key?(:websockets_api_endpoint)
141
+ end
142
+ end
143
+
144
+ # Ethereum-specific blockchain node details.
145
+ class EthereumDetails
146
+ include Google::Apis::Core::Hashable
147
+
148
+ # Contains endpoint information specific to Ethereum nodes.
149
+ # Corresponds to the JSON property `additionalEndpoints`
150
+ # @return [Google::Apis::BlockchainnodeengineV1::EthereumEndpoints]
151
+ attr_accessor :additional_endpoints
152
+
153
+ # Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
154
+ # Defaults to `false`.
155
+ # Corresponds to the JSON property `apiEnableAdmin`
156
+ # @return [Boolean]
157
+ attr_accessor :api_enable_admin
158
+ alias_method :api_enable_admin?, :api_enable_admin
159
+
160
+ # Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
161
+ # Defaults to `false`.
162
+ # Corresponds to the JSON property `apiEnableDebug`
163
+ # @return [Boolean]
164
+ attr_accessor :api_enable_debug
165
+ alias_method :api_enable_debug?, :api_enable_debug
166
+
167
+ # Immutable. The consensus client.
168
+ # Corresponds to the JSON property `consensusClient`
169
+ # @return [String]
170
+ attr_accessor :consensus_client
171
+
172
+ # Immutable. The execution client
173
+ # Corresponds to the JSON property `executionClient`
174
+ # @return [String]
175
+ attr_accessor :execution_client
176
+
177
+ # Options for the Geth execution client. See [Command-line Options](https://geth.
178
+ # ethereum.org/docs/fundamentals/command-line-options) for more details.
179
+ # Corresponds to the JSON property `gethDetails`
180
+ # @return [Google::Apis::BlockchainnodeengineV1::GethDetails]
181
+ attr_accessor :geth_details
182
+
183
+ # Immutable. The Ethereum environment being accessed.
184
+ # Corresponds to the JSON property `network`
185
+ # @return [String]
186
+ attr_accessor :network
187
+
188
+ # Immutable. The type of Ethereum node.
189
+ # Corresponds to the JSON property `nodeType`
190
+ # @return [String]
191
+ attr_accessor :node_type
192
+
193
+ def initialize(**args)
194
+ update!(**args)
195
+ end
196
+
197
+ # Update properties of this object
198
+ def update!(**args)
199
+ @additional_endpoints = args[:additional_endpoints] if args.key?(:additional_endpoints)
200
+ @api_enable_admin = args[:api_enable_admin] if args.key?(:api_enable_admin)
201
+ @api_enable_debug = args[:api_enable_debug] if args.key?(:api_enable_debug)
202
+ @consensus_client = args[:consensus_client] if args.key?(:consensus_client)
203
+ @execution_client = args[:execution_client] if args.key?(:execution_client)
204
+ @geth_details = args[:geth_details] if args.key?(:geth_details)
205
+ @network = args[:network] if args.key?(:network)
206
+ @node_type = args[:node_type] if args.key?(:node_type)
207
+ end
208
+ end
209
+
210
+ # Contains endpoint information specific to Ethereum nodes.
211
+ class EthereumEndpoints
212
+ include Google::Apis::Core::Hashable
213
+
214
+ # Output only. The assigned URL for the node's Beacon API endpoint.
215
+ # Corresponds to the JSON property `beaconApiEndpoint`
216
+ # @return [String]
217
+ attr_accessor :beacon_api_endpoint
218
+
219
+ # Output only. The assigned URL for the node's Beacon Prometheus metrics
220
+ # endpoint. See [Prometheus Metrics](https://lighthouse-book.sigmaprime.io/
221
+ # advanced_metrics.html) for more details.
222
+ # Corresponds to the JSON property `beaconPrometheusMetricsApiEndpoint`
223
+ # @return [String]
224
+ attr_accessor :beacon_prometheus_metrics_api_endpoint
225
+
226
+ # Output only. The assigned URL for the node's execution client's Prometheus
227
+ # metrics endpoint.
228
+ # Corresponds to the JSON property `executionClientPrometheusMetricsApiEndpoint`
229
+ # @return [String]
230
+ attr_accessor :execution_client_prometheus_metrics_api_endpoint
231
+
232
+ def initialize(**args)
233
+ update!(**args)
234
+ end
235
+
236
+ # Update properties of this object
237
+ def update!(**args)
238
+ @beacon_api_endpoint = args[:beacon_api_endpoint] if args.key?(:beacon_api_endpoint)
239
+ @beacon_prometheus_metrics_api_endpoint = args[:beacon_prometheus_metrics_api_endpoint] if args.key?(:beacon_prometheus_metrics_api_endpoint)
240
+ @execution_client_prometheus_metrics_api_endpoint = args[:execution_client_prometheus_metrics_api_endpoint] if args.key?(:execution_client_prometheus_metrics_api_endpoint)
241
+ end
242
+ end
243
+
244
+ # Options for the Geth execution client. See [Command-line Options](https://geth.
245
+ # ethereum.org/docs/fundamentals/command-line-options) for more details.
246
+ class GethDetails
247
+ include Google::Apis::Core::Hashable
248
+
249
+ # Immutable. Blockchain garbage collection mode.
250
+ # Corresponds to the JSON property `garbageCollectionMode`
251
+ # @return [String]
252
+ attr_accessor :garbage_collection_mode
253
+
254
+ def initialize(**args)
255
+ update!(**args)
256
+ end
257
+
258
+ # Update properties of this object
259
+ def update!(**args)
260
+ @garbage_collection_mode = args[:garbage_collection_mode] if args.key?(:garbage_collection_mode)
261
+ end
262
+ end
263
+
264
+ # A generic empty message that you can re-use to avoid defining duplicated empty
265
+ # messages in your APIs. A typical example is to use it as the request or the
266
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
267
+ # protobuf.Empty) returns (google.protobuf.Empty); `
268
+ class GoogleProtobufEmpty
269
+ include Google::Apis::Core::Hashable
270
+
271
+ def initialize(**args)
272
+ update!(**args)
273
+ end
274
+
275
+ # Update properties of this object
276
+ def update!(**args)
277
+ end
278
+ end
279
+
280
+ # Message for response to listing blockchain nodes.
281
+ class ListBlockchainNodesResponse
282
+ include Google::Apis::Core::Hashable
283
+
284
+ # The list of nodes
285
+ # Corresponds to the JSON property `blockchainNodes`
286
+ # @return [Array<Google::Apis::BlockchainnodeengineV1::BlockchainNode>]
287
+ attr_accessor :blockchain_nodes
288
+
289
+ # A token identifying a page of results the server should return.
290
+ # Corresponds to the JSON property `nextPageToken`
291
+ # @return [String]
292
+ attr_accessor :next_page_token
293
+
294
+ # Locations that could not be reached.
295
+ # Corresponds to the JSON property `unreachable`
296
+ # @return [Array<String>]
297
+ attr_accessor :unreachable
298
+
299
+ def initialize(**args)
300
+ update!(**args)
301
+ end
302
+
303
+ # Update properties of this object
304
+ def update!(**args)
305
+ @blockchain_nodes = args[:blockchain_nodes] if args.key?(:blockchain_nodes)
306
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
307
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
308
+ end
309
+ end
310
+
311
+ # The response message for Locations.ListLocations.
312
+ class ListLocationsResponse
313
+ include Google::Apis::Core::Hashable
314
+
315
+ # A list of locations that matches the specified filter in the request.
316
+ # Corresponds to the JSON property `locations`
317
+ # @return [Array<Google::Apis::BlockchainnodeengineV1::Location>]
318
+ attr_accessor :locations
319
+
320
+ # The standard List next-page token.
321
+ # Corresponds to the JSON property `nextPageToken`
322
+ # @return [String]
323
+ attr_accessor :next_page_token
324
+
325
+ def initialize(**args)
326
+ update!(**args)
327
+ end
328
+
329
+ # Update properties of this object
330
+ def update!(**args)
331
+ @locations = args[:locations] if args.key?(:locations)
332
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
333
+ end
334
+ end
335
+
336
+ # The response message for Operations.ListOperations.
337
+ class ListOperationsResponse
338
+ include Google::Apis::Core::Hashable
339
+
340
+ # The standard List next-page token.
341
+ # Corresponds to the JSON property `nextPageToken`
342
+ # @return [String]
343
+ attr_accessor :next_page_token
344
+
345
+ # A list of operations that matches the specified filter in the request.
346
+ # Corresponds to the JSON property `operations`
347
+ # @return [Array<Google::Apis::BlockchainnodeengineV1::Operation>]
348
+ attr_accessor :operations
349
+
350
+ def initialize(**args)
351
+ update!(**args)
352
+ end
353
+
354
+ # Update properties of this object
355
+ def update!(**args)
356
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
357
+ @operations = args[:operations] if args.key?(:operations)
358
+ end
359
+ end
360
+
361
+ # A resource that represents a Google Cloud location.
362
+ class Location
363
+ include Google::Apis::Core::Hashable
364
+
365
+ # The friendly name for this location, typically a nearby city name. For example,
366
+ # "Tokyo".
367
+ # Corresponds to the JSON property `displayName`
368
+ # @return [String]
369
+ attr_accessor :display_name
370
+
371
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
372
+ # region": "us-east1"`
373
+ # Corresponds to the JSON property `labels`
374
+ # @return [Hash<String,String>]
375
+ attr_accessor :labels
376
+
377
+ # The canonical id for this location. For example: `"us-east1"`.
378
+ # Corresponds to the JSON property `locationId`
379
+ # @return [String]
380
+ attr_accessor :location_id
381
+
382
+ # Service-specific metadata. For example the available capacity at the given
383
+ # location.
384
+ # Corresponds to the JSON property `metadata`
385
+ # @return [Hash<String,Object>]
386
+ attr_accessor :metadata
387
+
388
+ # Resource name for the location, which may vary between implementations. For
389
+ # example: `"projects/example-project/locations/us-east1"`
390
+ # Corresponds to the JSON property `name`
391
+ # @return [String]
392
+ attr_accessor :name
393
+
394
+ def initialize(**args)
395
+ update!(**args)
396
+ end
397
+
398
+ # Update properties of this object
399
+ def update!(**args)
400
+ @display_name = args[:display_name] if args.key?(:display_name)
401
+ @labels = args[:labels] if args.key?(:labels)
402
+ @location_id = args[:location_id] if args.key?(:location_id)
403
+ @metadata = args[:metadata] if args.key?(:metadata)
404
+ @name = args[:name] if args.key?(:name)
405
+ end
406
+ end
407
+
408
+ # This resource represents a long-running operation that is the result of a
409
+ # network API call.
410
+ class Operation
411
+ include Google::Apis::Core::Hashable
412
+
413
+ # If the value is `false`, it means the operation is still in progress. If `true`
414
+ # , the operation is completed, and either `error` or `response` is available.
415
+ # Corresponds to the JSON property `done`
416
+ # @return [Boolean]
417
+ attr_accessor :done
418
+ alias_method :done?, :done
419
+
420
+ # The `Status` type defines a logical error model that is suitable for different
421
+ # programming environments, including REST APIs and RPC APIs. It is used by [
422
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
423
+ # data: error code, error message, and error details. You can find out more
424
+ # about this error model and how to work with it in the [API Design Guide](https:
425
+ # //cloud.google.com/apis/design/errors).
426
+ # Corresponds to the JSON property `error`
427
+ # @return [Google::Apis::BlockchainnodeengineV1::Status]
428
+ attr_accessor :error
429
+
430
+ # Service-specific metadata associated with the operation. It typically contains
431
+ # progress information and common metadata such as create time. Some services
432
+ # might not provide such metadata. Any method that returns a long-running
433
+ # operation should document the metadata type, if any.
434
+ # Corresponds to the JSON property `metadata`
435
+ # @return [Hash<String,Object>]
436
+ attr_accessor :metadata
437
+
438
+ # The server-assigned name, which is only unique within the same service that
439
+ # originally returns it. If you use the default HTTP mapping, the `name` should
440
+ # be a resource name ending with `operations/`unique_id``.
441
+ # Corresponds to the JSON property `name`
442
+ # @return [String]
443
+ attr_accessor :name
444
+
445
+ # The normal response of the operation in case of success. If the original
446
+ # method returns no data on success, such as `Delete`, the response is `google.
447
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
448
+ # the response should be the resource. For other methods, the response should
449
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
450
+ # example, if the original method name is `TakeSnapshot()`, the inferred
451
+ # response type is `TakeSnapshotResponse`.
452
+ # Corresponds to the JSON property `response`
453
+ # @return [Hash<String,Object>]
454
+ attr_accessor :response
455
+
456
+ def initialize(**args)
457
+ update!(**args)
458
+ end
459
+
460
+ # Update properties of this object
461
+ def update!(**args)
462
+ @done = args[:done] if args.key?(:done)
463
+ @error = args[:error] if args.key?(:error)
464
+ @metadata = args[:metadata] if args.key?(:metadata)
465
+ @name = args[:name] if args.key?(:name)
466
+ @response = args[:response] if args.key?(:response)
467
+ end
468
+ end
469
+
470
+ # Represents the metadata of the long-running operation.
471
+ class OperationMetadata
472
+ include Google::Apis::Core::Hashable
473
+
474
+ # Output only. API version used to start the operation.
475
+ # Corresponds to the JSON property `apiVersion`
476
+ # @return [String]
477
+ attr_accessor :api_version
478
+
479
+ # Output only. The time the operation was created.
480
+ # Corresponds to the JSON property `createTime`
481
+ # @return [String]
482
+ attr_accessor :create_time
483
+
484
+ # Output only. The time the operation finished running.
485
+ # Corresponds to the JSON property `endTime`
486
+ # @return [String]
487
+ attr_accessor :end_time
488
+
489
+ # Output only. Identifies whether the user has requested cancellation of the
490
+ # operation. Operations that have been cancelled successfully have `Operation.
491
+ # error` value with a `google.rpc.Status.code` of `1`, corresponding to `Code.
492
+ # CANCELLED`.
493
+ # Corresponds to the JSON property `requestedCancellation`
494
+ # @return [Boolean]
495
+ attr_accessor :requested_cancellation
496
+ alias_method :requested_cancellation?, :requested_cancellation
497
+
498
+ # Output only. Human-readable status of the operation, if any.
499
+ # Corresponds to the JSON property `statusMessage`
500
+ # @return [String]
501
+ attr_accessor :status_message
502
+
503
+ # Output only. Server-defined resource path for the target of the operation.
504
+ # Corresponds to the JSON property `target`
505
+ # @return [String]
506
+ attr_accessor :target
507
+
508
+ # Output only. Name of the verb executed by the operation.
509
+ # Corresponds to the JSON property `verb`
510
+ # @return [String]
511
+ attr_accessor :verb
512
+
513
+ def initialize(**args)
514
+ update!(**args)
515
+ end
516
+
517
+ # Update properties of this object
518
+ def update!(**args)
519
+ @api_version = args[:api_version] if args.key?(:api_version)
520
+ @create_time = args[:create_time] if args.key?(:create_time)
521
+ @end_time = args[:end_time] if args.key?(:end_time)
522
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
523
+ @status_message = args[:status_message] if args.key?(:status_message)
524
+ @target = args[:target] if args.key?(:target)
525
+ @verb = args[:verb] if args.key?(:verb)
526
+ end
527
+ end
528
+
529
+ # The `Status` type defines a logical error model that is suitable for different
530
+ # programming environments, including REST APIs and RPC APIs. It is used by [
531
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
532
+ # data: error code, error message, and error details. You can find out more
533
+ # about this error model and how to work with it in the [API Design Guide](https:
534
+ # //cloud.google.com/apis/design/errors).
535
+ class Status
536
+ include Google::Apis::Core::Hashable
537
+
538
+ # The status code, which should be an enum value of google.rpc.Code.
539
+ # Corresponds to the JSON property `code`
540
+ # @return [Fixnum]
541
+ attr_accessor :code
542
+
543
+ # A list of messages that carry the error details. There is a common set of
544
+ # message types for APIs to use.
545
+ # Corresponds to the JSON property `details`
546
+ # @return [Array<Hash<String,Object>>]
547
+ attr_accessor :details
548
+
549
+ # A developer-facing error message, which should be in English. Any user-facing
550
+ # error message should be localized and sent in the google.rpc.Status.details
551
+ # field, or localized by the client.
552
+ # Corresponds to the JSON property `message`
553
+ # @return [String]
554
+ attr_accessor :message
555
+
556
+ def initialize(**args)
557
+ update!(**args)
558
+ end
559
+
560
+ # Update properties of this object
561
+ def update!(**args)
562
+ @code = args[:code] if args.key?(:code)
563
+ @details = args[:details] if args.key?(:details)
564
+ @message = args[:message] if args.key?(:message)
565
+ end
566
+ end
567
+ end
568
+ end
569
+ end
@@ -0,0 +1,28 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Apis
17
+ module BlockchainnodeengineV1
18
+ # Version of the google-apis-blockchainnodeengine_v1 gem
19
+ GEM_VERSION = "0.1.0"
20
+
21
+ # Version of the code generator used to generate this client
22
+ GENERATOR_VERSION = "0.12.0"
23
+
24
+ # Revision of the discovery document this client was generated from
25
+ REVISION = "20230621"
26
+ end
27
+ end
28
+ end