google-apis-blockchainnodeengine_v1 0.1.0

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