From da30aae0737fa69c3e017d01e2d597b80c7cafd7 Mon Sep 17 00:00:00 2001 From: Noah Dietz Date: Fri, 21 Aug 2026 20:41:04 +0000 Subject: [PATCH] feat(blockchainnodeengine): onboard a new library --- gapic-libraries-bom/pom.xml | 7 + java-blockchainnodeengine/.repo-metadata.json | 15 + java-blockchainnodeengine/README.md | 210 + .../pom.xml | 45 + .../google-cloud-blockchainnodeengine/pom.xml | 117 + .../v1/BlockchainNodeEngineClient.java | 1470 ++ .../v1/BlockchainNodeEngineSettings.java | 372 + .../v1/gapic_metadata.json | 39 + .../blockchainnodeengine/v1/package-info.java | 46 + .../v1/stub/BlockchainNodeEngineStub.java | 122 + .../BlockchainNodeEngineStubSettings.java | 833 + ...pcBlockchainNodeEngineCallableFactory.java | 115 + .../v1/stub/GrpcBlockchainNodeEngineStub.java | 451 + ...onBlockchainNodeEngineCallableFactory.java | 103 + .../HttpJsonBlockchainNodeEngineStub.java | 712 + .../blockchainnodeengine/v1/stub/Version.java | 27 + .../reflect-config.json | 1910 +++ ...lockchainNodeEngineClientHttpJsonTest.java | 697 + .../v1/BlockchainNodeEngineClientTest.java | 638 + .../v1/MockBlockchainNodeEngine.java | 59 + .../v1/MockBlockchainNodeEngineImpl.java | 170 + .../v1/MockLocations.java | 59 + .../v1/MockLocationsImpl.java | 105 + .../pom.xml | 45 + .../v1/BlockchainNodeEngineGrpc.java | 978 ++ java-blockchainnodeengine/pom.xml | 58 + .../clirr-ignored-differences.xml | 80 + .../pom.xml | 41 + .../v1/BlockchainNode.java | 12671 ++++++++++++++++ .../v1/BlockchainNodeName.java | 230 + .../v1/BlockchainNodeOrBuilder.java | 389 + .../v1/BlockchainnodeengineProto.java | 491 + .../v1/CreateBlockchainNodeRequest.java | 1408 ++ .../CreateBlockchainNodeRequestOrBuilder.java | 177 + .../v1/DeleteBlockchainNodeRequest.java | 902 ++ .../DeleteBlockchainNodeRequestOrBuilder.java | 110 + .../v1/GetBlockchainNodeRequest.java | 627 + .../v1/GetBlockchainNodeRequestOrBuilder.java | 60 + .../v1/ListBlockchainNodesRequest.java | 1290 ++ .../ListBlockchainNodesRequestOrBuilder.java | 150 + .../v1/ListBlockchainNodesResponse.java | 1458 ++ .../ListBlockchainNodesResponseOrBuilder.java | 170 + .../blockchainnodeengine/v1/LocationName.java | 195 + .../v1/OperationMetadata.java | 1870 +++ .../v1/OperationMetadataOrBuilder.java | 229 + .../v1/UpdateBlockchainNodeRequest.java | 1353 ++ .../UpdateBlockchainNodeRequestOrBuilder.java | 173 + .../v1/blockchainnodeengine.proto | 583 + .../SyncCreateSetCredentialsProvider.java | 45 + .../create/SyncCreateSetEndpoint.java | 42 + .../SyncCreateUseHttpJsonTransport.java | 41 + .../AsyncCreateBlockchainNode.java | 55 + .../AsyncCreateBlockchainNodeLRO.java | 55 + .../SyncCreateBlockchainNode.java | 50 + ...nNodeLocationnameBlockchainnodeString.java | 48 + ...ckchainNodeStringBlockchainnodeString.java | 48 + .../AsyncDeleteBlockchainNode.java | 53 + .../AsyncDeleteBlockchainNodeLRO.java | 54 + .../SyncDeleteBlockchainNode.java | 49 + ...eleteBlockchainNodeBlockchainnodename.java | 44 + .../SyncDeleteBlockchainNodeString.java | 44 + .../AsyncGetBlockchainNode.java | 52 + .../SyncGetBlockchainNode.java | 48 + ...ncGetBlockchainNodeBlockchainnodename.java | 44 + .../SyncGetBlockchainNodeString.java | 44 + .../getlocation/AsyncGetLocation.java | 47 + .../getlocation/SyncGetLocation.java | 43 + .../AsyncListBlockchainNodes.java | 57 + .../AsyncListBlockchainNodesPaged.java | 65 + .../SyncListBlockchainNodes.java | 54 + .../SyncListBlockchainNodesLocationname.java | 46 + .../SyncListBlockchainNodesString.java | 46 + .../listlocations/AsyncListLocations.java | 55 + .../AsyncListLocationsPaged.java | 63 + .../listlocations/SyncListLocations.java | 51 + .../AsyncUpdateBlockchainNode.java | 54 + .../AsyncUpdateBlockchainNodeLRO.java | 54 + .../SyncUpdateBlockchainNode.java | 49 + ...BlockchainNodeBlockchainnodeFieldmask.java | 45 + .../SyncCreateBlockchainNode.java | 54 + .../SyncGetBlockchainNode.java | 57 + .../SyncCreateBlockchainNode.java | 54 + .../SyncGetBlockchainNode.java | 57 + librarian.yaml | 7 + pom.xml | 1 + versions.txt | 5 + 86 files changed, 35840 insertions(+) create mode 100644 java-blockchainnodeengine/.repo-metadata.json create mode 100644 java-blockchainnodeengine/README.md create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine-bom/pom.xml create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/pom.xml create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClient.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineSettings.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/gapic_metadata.json create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/package-info.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStub.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStubSettings.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineCallableFactory.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineStub.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineCallableFactory.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineStub.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/Version.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/resources/META-INF/native-image/com.google.cloud.blockchainnodeengine.v1/reflect-config.json create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientHttpJsonTest.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientTest.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngine.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngineImpl.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocations.java create mode 100644 java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocationsImpl.java create mode 100644 java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/pom.xml create mode 100644 java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineGrpc.java create mode 100644 java-blockchainnodeengine/pom.xml create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/clirr-ignored-differences.xml create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/pom.xml create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNode.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeName.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainnodeengineProto.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequest.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequestOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequest.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequestOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequest.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequestOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequest.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequestOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponse.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponseOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/LocationName.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadata.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadataOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequest.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequestOrBuilder.java create mode 100644 java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/proto/google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetCredentialsProvider.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetEndpoint.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateUseHttpJsonTransport.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNodeLRO.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeLocationnameBlockchainnodeString.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeStringBlockchainnodeString.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNodeLRO.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeBlockchainnodename.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeString.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/AsyncGetBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeBlockchainnodename.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeString.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/AsyncGetLocation.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/SyncGetLocation.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodes.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodesPaged.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodes.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesLocationname.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesString.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocations.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocationsPaged.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/SyncListLocations.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNodeLRO.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNodeBlockchainnodeFieldmask.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/createblockchainnode/SyncCreateBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/getblockchainnode/SyncGetBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/createblockchainnode/SyncCreateBlockchainNode.java create mode 100644 java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/getblockchainnode/SyncGetBlockchainNode.java diff --git a/gapic-libraries-bom/pom.xml b/gapic-libraries-bom/pom.xml index d8ca541359c0..7b46094be55a 100644 --- a/gapic-libraries-bom/pom.xml +++ b/gapic-libraries-bom/pom.xml @@ -344,6 +344,13 @@ pom import + + com.google.cloud + google-cloud-blockchainnodeengine-bom + 0.1.0-SNAPSHOT + pom + import + com.google.cloud google-cloud-build-bom diff --git a/java-blockchainnodeengine/.repo-metadata.json b/java-blockchainnodeengine/.repo-metadata.json new file mode 100644 index 000000000000..7c6e8f666b9f --- /dev/null +++ b/java-blockchainnodeengine/.repo-metadata.json @@ -0,0 +1,15 @@ +{ + "api_shortname": "blockchainnodeengine", + "name_pretty": "Blockchain Node Engine", + "product_documentation": "", + "api_description": "", + "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-blockchainnodeengine/latest/overview", + "release_level": "preview", + "transport": "grpc+rest", + "language": "java", + "repo": "googleapis/google-cloud-java", + "repo_short": "java-blockchainnodeengine", + "distribution_name": "com.google.cloud:google-cloud-blockchainnodeengine", + "api_id": "blockchainnodeengine.googleapis.com", + "library_type": "GAPIC_AUTO" +} \ No newline at end of file diff --git a/java-blockchainnodeengine/README.md b/java-blockchainnodeengine/README.md new file mode 100644 index 000000000000..dc6be3bc0f27 --- /dev/null +++ b/java-blockchainnodeengine/README.md @@ -0,0 +1,210 @@ +# Google Blockchain Node Engine Client for Java + +Java idiomatic client for [Blockchain Node Engine][product-docs]. + +[![Maven][maven-version-image]][maven-version-link] +![Stability][stability-image] + +- [Product Documentation][product-docs] +- [Client Library Documentation][javadocs] + +> Note: This client is a work-in-progress, and may occasionally +> make backwards-incompatible changes. + + +## Quickstart + +If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: + +```xml + + + + com.google.cloud + libraries-bom + 26.86.0 + pom + import + + + + + + + com.google.cloud + google-cloud-blockchainnodeengine + + +``` + +If you are using Maven without the BOM, add this to your dependencies: + + +```xml + + com.google.cloud + google-cloud-blockchainnodeengine + 0.0.0 + +``` + +If you are using Gradle 5.x or later, add this to your dependencies: + +```Groovy +implementation platform('com.google.cloud:libraries-bom:26.86.0') + +implementation 'com.google.cloud:google-cloud-blockchainnodeengine' +``` + +If you are using Gradle without BOM, add this to your dependencies: + +```Groovy +implementation 'com.google.cloud:google-cloud-blockchainnodeengine:0.0.0' +``` + +If you are using SBT, add this to your dependencies: + +```Scala +libraryDependencies += "com.google.cloud" % "google-cloud-blockchainnodeengine" % "0.0.0" +``` + +## Authentication + +See the [Authentication][authentication] section in the base directory's README. + +## Authorization + +The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Blockchain Node Engine APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Blockchain Node Engine API calls. + +## Getting Started + +### Prerequisites + +You will need a [Google Cloud Platform Console][developer-console] project with the Blockchain Node Engine [API enabled][enable-api]. +You will need to [enable billing][enable-billing] to use Google Blockchain Node Engine. +[Follow these instructions][create-project] to get your project set up. You will also need to set up the local development environment by +[installing the Google Cloud Command Line Interface][cloud-cli] and running the following commands in command line: +`gcloud auth login` and `gcloud config set project [YOUR PROJECT ID]`. + +### Installation and setup + +You'll need to obtain the `google-cloud-blockchainnodeengine` library. See the [Quickstart](#quickstart) section +to add `google-cloud-blockchainnodeengine` as a dependency in your code. + +## About Blockchain Node Engine + + +[Blockchain Node Engine][product-docs] + +See the [Blockchain Node Engine client library docs][javadocs] to learn how to +use this Blockchain Node Engine Client Library. + + + + + + +## Troubleshooting + +To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting]. + +## Transport + +Blockchain Node Engine uses both gRPC and HTTP/JSON for the transport layer. + +## Supported Java Versions + +Java 8 or above is required for using this client. + +Google's Java client libraries, +[Google Cloud Client Libraries][cloudlibs] +and +[Google Cloud API Libraries][apilibs], +follow the +[Oracle Java SE support roadmap][oracle] +(see the Oracle Java SE Product Releases section). + +### For new development + +In general, new feature development occurs with support for the lowest Java +LTS version covered by Oracle's Premier Support (which typically lasts 5 years +from initial General Availability). If the minimum required JVM for a given +library is changed, it is accompanied by a [semver][semver] major release. + +Java 11 and (in September 2021) Java 17 are the best choices for new +development. + +### Keeping production systems current + +Google tests its client libraries with all current LTS versions covered by +Oracle's Extended Support (which typically lasts 8 years from initial +General Availability). + +#### Legacy support + +Google's client libraries support legacy versions of Java runtimes with long +term stable libraries that don't receive feature updates on a best efforts basis +as it may not be possible to backport all patches. + +Google provides updates on a best efforts basis to apps that continue to use +Java 7, though apps might need to upgrade to current versions of the library +that supports their JVM. + +#### Where to find specific information + +The latest versions and the supported Java versions are identified on +the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME` +and on [google-cloud-java][g-c-j]. + +## Versioning +This library follows [Semantic Versioning](http://semver.org/). + + +It is currently in major version zero (``0.y.z``), which means that anything may change at any time +and the public API should not be considered stable. + + +## Contributing + + +Contributions to this library are always welcome and highly encouraged. + +See [CONTRIBUTING][contributing] for more information how to get started. + +Please note that this project is released with a Contributor Code of Conduct. By participating in +this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more +information. + + +## License + +Apache 2.0 - See [LICENSE][license] for more information. + +Java is a registered trademark of Oracle and/or its affiliates. + +[product-docs]: +[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-blockchainnodeengine/latest/overview +[stability-image]: https://img.shields.io/badge/stability-preview-yellow +[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-blockchainnodeengine.svg +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-blockchainnodeengine/0.0.0 +[authentication]: https://github.com/googleapis/google-cloud-java#authentication +[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes +[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles +[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy +[developer-console]: https://console.developers.google.com/ +[create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects +[cloud-cli]: https://cloud.google.com/cli +[troubleshooting]: https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md +[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md +[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct +[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE +[enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing +[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=blockchainnodeengine.googleapis.com +[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + +[semver]: https://semver.org/ +[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained +[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries +[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html +[g-c-j]: http://github.com/googleapis/google-cloud-java diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine-bom/pom.xml b/java-blockchainnodeengine/google-cloud-blockchainnodeengine-bom/pom.xml new file mode 100644 index 000000000000..8d3c529538e2 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine-bom/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + com.google.cloud + google-cloud-blockchainnodeengine-bom + 0.1.0-SNAPSHOT + pom + + com.google.cloud + google-cloud-pom-parent + 1.90.0-SNAPSHOT + ../../google-cloud-pom-parent/pom.xml + + + Google Blockchain Node Engine BOM + + BOM for Blockchain Node Engine + + + + true + + + + + + + com.google.cloud + google-cloud-blockchainnodeengine + 0.1.0-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-blockchainnodeengine-v1 + 0.1.0-SNAPSHOT + + + com.google.api.grpc + proto-google-cloud-blockchainnodeengine-v1 + 0.1.0-SNAPSHOT + + + + + \ No newline at end of file diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/pom.xml b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/pom.xml new file mode 100644 index 000000000000..3e5b5275917e --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/pom.xml @@ -0,0 +1,117 @@ + + + 4.0.0 + com.google.cloud + google-cloud-blockchainnodeengine + 0.1.0-SNAPSHOT + jar + Google Blockchain Node Engine + Blockchain Node Engine + + com.google.cloud + google-cloud-blockchainnodeengine-parent + 0.1.0-SNAPSHOT + + + google-cloud-blockchainnodeengine + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.api + api-common + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + + com.google.api.grpc + proto-google-cloud-blockchainnodeengine-v1 + + + + com.google.guava + guava + + + com.google.api + gax + + + com.google.api + gax-grpc + + + com.google.api + gax-httpjson + + + com.google.api.grpc + proto-google-iam-v1 + + + org.threeten + threetenbp + + + + + com.google.api.grpc + grpc-google-common-protos + test + + + com.google.api.grpc + grpc-google-iam-v1 + test + + + junit + junit + test + + + + com.google.api.grpc + grpc-google-cloud-blockchainnodeengine-v1 + test + + + + + com.google.api + gax + testlib + test + + + com.google.api + gax-grpc + testlib + test + + + com.google.api + gax-httpjson + testlib + test + + + \ No newline at end of file diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClient.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClient.java new file mode 100644 index 000000000000..66dfea234aea --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClient.java @@ -0,0 +1,1470 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.httpjson.longrunning.OperationsClient; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.blockchainnodeengine.v1.stub.BlockchainNodeEngineStub; +import com.google.cloud.blockchainnodeengine.v1.stub.BlockchainNodeEngineStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Service Description: This service is the control plane API for Blockchain Node Engine, and can be + * used to create, read, and delete blockchain nodes. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+ *     BlockchainNodeEngineClient.create()) {
+ *   BlockchainNodeName name =
+ *       BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]");
+ *   BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(name);
+ * }
+ * }
+ * + *

Note: close() needs to be called on the BlockchainNodeEngineClient object to clean up + * resources such as threads. In the example above, try-with-resources is used, which automatically + * calls close(). + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Methods
MethodDescriptionMethod Variants

ListBlockchainNodes

Lists blockchain nodes in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listBlockchainNodes(ListBlockchainNodesRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listBlockchainNodes(LocationName parent) + *

  • listBlockchainNodes(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listBlockchainNodesPagedCallable() + *

  • listBlockchainNodesCallable() + *

+ *

GetBlockchainNode

Gets details of a single blockchain node.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getBlockchainNode(GetBlockchainNodeRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getBlockchainNode(BlockchainNodeName name) + *

  • getBlockchainNode(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getBlockchainNodeCallable() + *

+ *

CreateBlockchainNode

Creates a new blockchain node in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • createBlockchainNodeAsync(CreateBlockchainNodeRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • createBlockchainNodeAsync(LocationName parent, BlockchainNode blockchainNode, String blockchainNodeId) + *

  • createBlockchainNodeAsync(String parent, BlockchainNode blockchainNode, String blockchainNodeId) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • createBlockchainNodeOperationCallable() + *

  • createBlockchainNodeCallable() + *

+ *

UpdateBlockchainNode

Updates the parameters of a single blockchain node.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updateBlockchainNodeAsync(UpdateBlockchainNodeRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • updateBlockchainNodeAsync(BlockchainNode blockchainNode, FieldMask updateMask) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updateBlockchainNodeOperationCallable() + *

  • updateBlockchainNodeCallable() + *

+ *

DeleteBlockchainNode

Deletes a single blockchain node.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • deleteBlockchainNodeAsync(DeleteBlockchainNodeRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • deleteBlockchainNodeAsync(BlockchainNodeName name) + *

  • deleteBlockchainNodeAsync(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • deleteBlockchainNodeOperationCallable() + *

  • deleteBlockchainNodeCallable() + *

+ *

ListLocations

Lists information about the supported locations for this service.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listLocations(ListLocationsRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listLocationsPagedCallable() + *

  • listLocationsCallable() + *

+ *

GetLocation

Gets information about a location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getLocation(GetLocationRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getLocationCallable() + *

+ *
+ * + *

See the individual methods for example code. + * + *

Many parameters require resource names to be formatted in a particular way. To assist with + * these names, this class includes a format method for each type of name, and additionally a parse + * method to extract the individual identifiers contained within names that are returned. + * + *

This class can be customized by passing in a custom instance of BlockchainNodeEngineSettings + * to create(). For example: + * + *

To customize credentials: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineSettings blockchainNodeEngineSettings =
+ *     BlockchainNodeEngineSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * BlockchainNodeEngineClient blockchainNodeEngineClient =
+ *     BlockchainNodeEngineClient.create(blockchainNodeEngineSettings);
+ * }
+ * + *

To customize the endpoint: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineSettings blockchainNodeEngineSettings =
+ *     BlockchainNodeEngineSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * BlockchainNodeEngineClient blockchainNodeEngineClient =
+ *     BlockchainNodeEngineClient.create(blockchainNodeEngineSettings);
+ * }
+ * + *

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineSettings blockchainNodeEngineSettings =
+ *     BlockchainNodeEngineSettings.newHttpJsonBuilder().build();
+ * BlockchainNodeEngineClient blockchainNodeEngineClient =
+ *     BlockchainNodeEngineClient.create(blockchainNodeEngineSettings);
+ * }
+ * + *

Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class BlockchainNodeEngineClient implements BackgroundResource { + private final @Nullable BlockchainNodeEngineSettings settings; + private final BlockchainNodeEngineStub stub; + private final OperationsClient httpJsonOperationsClient; + private final com.google.longrunning.OperationsClient operationsClient; + + /** Constructs an instance of BlockchainNodeEngineClient with default settings. */ + public static final BlockchainNodeEngineClient create() throws IOException { + return create(BlockchainNodeEngineSettings.newBuilder().build()); + } + + /** + * Constructs an instance of BlockchainNodeEngineClient, using the given settings. The channels + * are created based on the settings passed in, or defaults for any settings that are not set. + */ + public static final BlockchainNodeEngineClient create(BlockchainNodeEngineSettings settings) + throws IOException { + return new BlockchainNodeEngineClient(settings); + } + + /** + * Constructs an instance of BlockchainNodeEngineClient, using the given stub for making calls. + * This is for advanced usage - prefer using create(BlockchainNodeEngineSettings). + */ + public static final BlockchainNodeEngineClient create(BlockchainNodeEngineStub stub) { + return new BlockchainNodeEngineClient(stub); + } + + /** + * Constructs an instance of BlockchainNodeEngineClient, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected BlockchainNodeEngineClient(BlockchainNodeEngineSettings settings) throws IOException { + this.settings = settings; + this.stub = ((BlockchainNodeEngineStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); + } + + protected BlockchainNodeEngineClient(BlockchainNodeEngineStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); + } + + public final @Nullable BlockchainNodeEngineSettings getSettings() { + return settings; + } + + public BlockchainNodeEngineStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final com.google.longrunning.OperationsClient getOperationsClient() { + return operationsClient; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + @BetaApi + public final OperationsClient getHttpJsonOperationsClient() { + return httpJsonOperationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists blockchain nodes in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (BlockchainNode element :
+   *       blockchainNodeEngineClient.listBlockchainNodes(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for `ListNodesRequest`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlockchainNodesPagedResponse listBlockchainNodes(@Nullable LocationName parent) { + ListBlockchainNodesRequest request = + ListBlockchainNodesRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listBlockchainNodes(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists blockchain nodes in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (BlockchainNode element :
+   *       blockchainNodeEngineClient.listBlockchainNodes(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for `ListNodesRequest`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlockchainNodesPagedResponse listBlockchainNodes(String parent) { + ListBlockchainNodesRequest request = + ListBlockchainNodesRequest.newBuilder().setParent(parent).build(); + return listBlockchainNodes(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists blockchain nodes in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   ListBlockchainNodesRequest request =
+   *       ListBlockchainNodesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   for (BlockchainNode element :
+   *       blockchainNodeEngineClient.listBlockchainNodes(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlockchainNodesPagedResponse listBlockchainNodes( + ListBlockchainNodesRequest request) { + return listBlockchainNodesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists blockchain nodes in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   ListBlockchainNodesRequest request =
+   *       ListBlockchainNodesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.listBlockchainNodesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (BlockchainNode element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listBlockchainNodesPagedCallable() { + return stub.listBlockchainNodesPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists blockchain nodes in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   ListBlockchainNodesRequest request =
+   *       ListBlockchainNodesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   while (true) {
+   *     ListBlockchainNodesResponse response =
+   *         blockchainNodeEngineClient.listBlockchainNodesCallable().call(request);
+   *     for (BlockchainNode element : response.getBlockchainNodesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listBlockchainNodesCallable() { + return stub.listBlockchainNodesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   BlockchainNodeName name =
+   *       BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]");
+   *   BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(name);
+   * }
+   * }
+ * + * @param name Required. The fully qualified name of the blockchain node to fetch. e.g. + * `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final BlockchainNode getBlockchainNode(@Nullable BlockchainNodeName name) { + GetBlockchainNodeRequest request = + GetBlockchainNodeRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + return getBlockchainNode(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   String name =
+   *       BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString();
+   *   BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(name);
+   * }
+   * }
+ * + * @param name Required. The fully qualified name of the blockchain node to fetch. e.g. + * `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final BlockchainNode getBlockchainNode(String name) { + GetBlockchainNodeRequest request = GetBlockchainNodeRequest.newBuilder().setName(name).build(); + return getBlockchainNode(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   GetBlockchainNodeRequest request =
+   *       GetBlockchainNodeRequest.newBuilder()
+   *           .setName(
+   *               BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString())
+   *           .build();
+   *   BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final BlockchainNode getBlockchainNode(GetBlockchainNodeRequest request) { + return getBlockchainNodeCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   GetBlockchainNodeRequest request =
+   *       GetBlockchainNodeRequest.newBuilder()
+   *           .setName(
+   *               BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString())
+   *           .build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.getBlockchainNodeCallable().futureCall(request);
+   *   // Do something.
+   *   BlockchainNode response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getBlockchainNodeCallable() { + return stub.getBlockchainNodeCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new blockchain node in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   BlockchainNode blockchainNode = BlockchainNode.newBuilder().build();
+   *   String blockchainNodeId = "blockchainNodeId-2023686607";
+   *   BlockchainNode response =
+   *       blockchainNodeEngineClient
+   *           .createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId)
+   *           .get();
+   * }
+   * }
+ * + * @param parent Required. Value for parent. + * @param blockchainNode Required. The resource being created. + * @param blockchainNodeId Required. ID of the requesting object. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createBlockchainNodeAsync( + @Nullable LocationName parent, BlockchainNode blockchainNode, String blockchainNodeId) { + CreateBlockchainNodeRequest request = + CreateBlockchainNodeRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlockchainNode(blockchainNode) + .setBlockchainNodeId(blockchainNodeId) + .build(); + return createBlockchainNodeAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new blockchain node in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   BlockchainNode blockchainNode = BlockchainNode.newBuilder().build();
+   *   String blockchainNodeId = "blockchainNodeId-2023686607";
+   *   BlockchainNode response =
+   *       blockchainNodeEngineClient
+   *           .createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId)
+   *           .get();
+   * }
+   * }
+ * + * @param parent Required. Value for parent. + * @param blockchainNode Required. The resource being created. + * @param blockchainNodeId Required. ID of the requesting object. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createBlockchainNodeAsync( + String parent, BlockchainNode blockchainNode, String blockchainNodeId) { + CreateBlockchainNodeRequest request = + CreateBlockchainNodeRequest.newBuilder() + .setParent(parent) + .setBlockchainNode(blockchainNode) + .setBlockchainNodeId(blockchainNodeId) + .build(); + return createBlockchainNodeAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new blockchain node in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   CreateBlockchainNodeRequest request =
+   *       CreateBlockchainNodeRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setBlockchainNodeId("blockchainNodeId-2023686607")
+   *           .setBlockchainNode(BlockchainNode.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   BlockchainNode response = blockchainNodeEngineClient.createBlockchainNodeAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createBlockchainNodeAsync( + CreateBlockchainNodeRequest request) { + return createBlockchainNodeOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new blockchain node in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   CreateBlockchainNodeRequest request =
+   *       CreateBlockchainNodeRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setBlockchainNodeId("blockchainNodeId-2023686607")
+   *           .setBlockchainNode(BlockchainNode.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       blockchainNodeEngineClient.createBlockchainNodeOperationCallable().futureCall(request);
+   *   // Do something.
+   *   BlockchainNode response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + createBlockchainNodeOperationCallable() { + return stub.createBlockchainNodeOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new blockchain node in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   CreateBlockchainNodeRequest request =
+   *       CreateBlockchainNodeRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setBlockchainNodeId("blockchainNodeId-2023686607")
+   *           .setBlockchainNode(BlockchainNode.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.createBlockchainNodeCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + createBlockchainNodeCallable() { + return stub.createBlockchainNodeCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   BlockchainNode blockchainNode = BlockchainNode.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   BlockchainNode response =
+   *       blockchainNodeEngineClient.updateBlockchainNodeAsync(blockchainNode, updateMask).get();
+   * }
+   * }
+ * + * @param blockchainNode Required. The resource being updated. + * @param updateMask Required. Field mask is used to specify the fields to be overwritten in the + * Blockchain node resource by the update. The fields specified in the `update_mask` are + * relative to the resource, not the full request. A field will be overwritten if it is in the + * mask. If the user does not provide a mask then all fields will be overwritten. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture updateBlockchainNodeAsync( + BlockchainNode blockchainNode, FieldMask updateMask) { + UpdateBlockchainNodeRequest request = + UpdateBlockchainNodeRequest.newBuilder() + .setBlockchainNode(blockchainNode) + .setUpdateMask(updateMask) + .build(); + return updateBlockchainNodeAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   UpdateBlockchainNodeRequest request =
+   *       UpdateBlockchainNodeRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setBlockchainNode(BlockchainNode.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   BlockchainNode response = blockchainNodeEngineClient.updateBlockchainNodeAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture updateBlockchainNodeAsync( + UpdateBlockchainNodeRequest request) { + return updateBlockchainNodeOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   UpdateBlockchainNodeRequest request =
+   *       UpdateBlockchainNodeRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setBlockchainNode(BlockchainNode.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       blockchainNodeEngineClient.updateBlockchainNodeOperationCallable().futureCall(request);
+   *   // Do something.
+   *   BlockchainNode response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + updateBlockchainNodeOperationCallable() { + return stub.updateBlockchainNodeOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   UpdateBlockchainNodeRequest request =
+   *       UpdateBlockchainNodeRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setBlockchainNode(BlockchainNode.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.updateBlockchainNodeCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + updateBlockchainNodeCallable() { + return stub.updateBlockchainNodeCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   BlockchainNodeName name =
+   *       BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]");
+   *   blockchainNodeEngineClient.deleteBlockchainNodeAsync(name).get();
+   * }
+   * }
+ * + * @param name Required. The fully qualified name of the blockchain node to delete. e.g. + * `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteBlockchainNodeAsync( + @Nullable BlockchainNodeName name) { + DeleteBlockchainNodeRequest request = + DeleteBlockchainNodeRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + return deleteBlockchainNodeAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   String name =
+   *       BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString();
+   *   blockchainNodeEngineClient.deleteBlockchainNodeAsync(name).get();
+   * }
+   * }
+ * + * @param name Required. The fully qualified name of the blockchain node to delete. e.g. + * `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteBlockchainNodeAsync(String name) { + DeleteBlockchainNodeRequest request = + DeleteBlockchainNodeRequest.newBuilder().setName(name).build(); + return deleteBlockchainNodeAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   DeleteBlockchainNodeRequest request =
+   *       DeleteBlockchainNodeRequest.newBuilder()
+   *           .setName(
+   *               BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   blockchainNodeEngineClient.deleteBlockchainNodeAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteBlockchainNodeAsync( + DeleteBlockchainNodeRequest request) { + return deleteBlockchainNodeOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   DeleteBlockchainNodeRequest request =
+   *       DeleteBlockchainNodeRequest.newBuilder()
+   *           .setName(
+   *               BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       blockchainNodeEngineClient.deleteBlockchainNodeOperationCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final OperationCallable + deleteBlockchainNodeOperationCallable() { + return stub.deleteBlockchainNodeOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single blockchain node. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   DeleteBlockchainNodeRequest request =
+   *       DeleteBlockchainNodeRequest.newBuilder()
+   *           .setName(
+   *               BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.deleteBlockchainNodeCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + deleteBlockchainNodeCallable() { + return stub.deleteBlockchainNodeCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Location element : blockchainNodeEngineClient.listLocations(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListLocationsPagedResponse listLocations(ListLocationsRequest request) { + return listLocationsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.listLocationsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Location element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listLocationsPagedCallable() { + return stub.listLocationsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListLocationsResponse response =
+   *         blockchainNodeEngineClient.listLocationsCallable().call(request);
+   *     for (Location element : response.getLocationsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listLocationsCallable() { + return stub.listLocationsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   Location response = blockchainNodeEngineClient.getLocation(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Location getLocation(GetLocationRequest request) { + return getLocationCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+   *     BlockchainNodeEngineClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   ApiFuture future =
+   *       blockchainNodeEngineClient.getLocationCallable().futureCall(request);
+   *   // Do something.
+   *   Location response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getLocationCallable() { + return stub.getLocationCallable(); + } + + @Override + public final void close() { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } + + public static class ListBlockchainNodesPagedResponse + extends AbstractPagedListResponse< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + BlockchainNode, + ListBlockchainNodesPage, + ListBlockchainNodesFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext + context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListBlockchainNodesPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListBlockchainNodesPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListBlockchainNodesPagedResponse(ListBlockchainNodesPage page) { + super(page, ListBlockchainNodesFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListBlockchainNodesPage + extends AbstractPage< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + BlockchainNode, + ListBlockchainNodesPage> { + + private ListBlockchainNodesPage( + @Nullable + PageContext + context, + @Nullable ListBlockchainNodesResponse response) { + super(context, response); + } + + private static ListBlockchainNodesPage createEmptyPage() { + return new ListBlockchainNodesPage(null, null); + } + + @Override + protected ListBlockchainNodesPage createPage( + @Nullable + PageContext + context, + @Nullable ListBlockchainNodesResponse response) { + return new ListBlockchainNodesPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable + PageContext + context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListBlockchainNodesFixedSizeCollection + extends AbstractFixedSizeCollection< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + BlockchainNode, + ListBlockchainNodesPage, + ListBlockchainNodesFixedSizeCollection> { + + private ListBlockchainNodesFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListBlockchainNodesFixedSizeCollection createEmptyCollection() { + return new ListBlockchainNodesFixedSizeCollection(null, 0); + } + + @Override + protected ListBlockchainNodesFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListBlockchainNodesFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListLocationsPagedResponse + extends AbstractPagedListResponse< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListLocationsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListLocationsPagedResponse(ListLocationsPage page) { + super(page, ListLocationsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListLocationsPage + extends AbstractPage< + ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> { + + private ListLocationsPage( + @Nullable PageContext context, + @Nullable ListLocationsResponse response) { + super(context, response); + } + + private static ListLocationsPage createEmptyPage() { + return new ListLocationsPage(null, null); + } + + @Override + protected ListLocationsPage createPage( + @Nullable PageContext context, + @Nullable ListLocationsResponse response) { + return new ListLocationsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListLocationsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + private ListLocationsFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListLocationsFixedSizeCollection createEmptyCollection() { + return new ListLocationsFixedSizeCollection(null, 0); + } + + @Override + protected ListLocationsFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListLocationsFixedSizeCollection(pages, collectionSize); + } + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineSettings.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineSettings.java new file mode 100644 index 000000000000..faf57997a9c6 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineSettings.java @@ -0,0 +1,372 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.blockchainnodeengine.v1.stub.BlockchainNodeEngineStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link BlockchainNodeEngineClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (blockchainnodeengine.googleapis.com) and default port (443) + * are used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getBlockchainNode: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineSettings.Builder blockchainNodeEngineSettingsBuilder =
+ *     BlockchainNodeEngineSettings.newBuilder();
+ * blockchainNodeEngineSettingsBuilder
+ *     .getBlockchainNodeSettings()
+ *     .setRetrySettings(
+ *         blockchainNodeEngineSettingsBuilder
+ *             .getBlockchainNodeSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * BlockchainNodeEngineSettings blockchainNodeEngineSettings =
+ *     blockchainNodeEngineSettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + * + *

To configure the RetrySettings of a Long Running Operation method, create an + * OperationTimedPollAlgorithm object and update the RPC's polling algorithm. For example, to + * configure the RetrySettings for createBlockchainNode: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineSettings.Builder blockchainNodeEngineSettingsBuilder =
+ *     BlockchainNodeEngineSettings.newBuilder();
+ * TimedRetryAlgorithm timedRetryAlgorithm =
+ *     OperationalTimedPollAlgorithm.create(
+ *         RetrySettings.newBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofMillis(500))
+ *             .setRetryDelayMultiplier(1.5)
+ *             .setMaxRetryDelayDuration(Duration.ofMillis(5000))
+ *             .setTotalTimeoutDuration(Duration.ofHours(24))
+ *             .build());
+ * blockchainNodeEngineSettingsBuilder
+ *     .createClusterOperationSettings()
+ *     .setPollingAlgorithm(timedRetryAlgorithm)
+ *     .build();
+ * }
+ */ +@NullMarked +@Generated("by gapic-generator-java") +public class BlockchainNodeEngineSettings extends ClientSettings { + + /** Returns the object with the settings used for calls to listBlockchainNodes. */ + public PagedCallSettings< + ListBlockchainNodesRequest, ListBlockchainNodesResponse, ListBlockchainNodesPagedResponse> + listBlockchainNodesSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).listBlockchainNodesSettings(); + } + + /** Returns the object with the settings used for calls to getBlockchainNode. */ + public UnaryCallSettings getBlockchainNodeSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).getBlockchainNodeSettings(); + } + + /** Returns the object with the settings used for calls to createBlockchainNode. */ + public UnaryCallSettings createBlockchainNodeSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).createBlockchainNodeSettings(); + } + + /** Returns the object with the settings used for calls to createBlockchainNode. */ + public OperationCallSettings + createBlockchainNodeOperationSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()) + .createBlockchainNodeOperationSettings(); + } + + /** Returns the object with the settings used for calls to updateBlockchainNode. */ + public UnaryCallSettings updateBlockchainNodeSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).updateBlockchainNodeSettings(); + } + + /** Returns the object with the settings used for calls to updateBlockchainNode. */ + public OperationCallSettings + updateBlockchainNodeOperationSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()) + .updateBlockchainNodeOperationSettings(); + } + + /** Returns the object with the settings used for calls to deleteBlockchainNode. */ + public UnaryCallSettings deleteBlockchainNodeSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).deleteBlockchainNodeSettings(); + } + + /** Returns the object with the settings used for calls to deleteBlockchainNode. */ + public OperationCallSettings + deleteBlockchainNodeOperationSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()) + .deleteBlockchainNodeOperationSettings(); + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).listLocationsSettings(); + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return ((BlockchainNodeEngineStubSettings) getStubSettings()).getLocationSettings(); + } + + public static final BlockchainNodeEngineSettings create(BlockchainNodeEngineStubSettings stub) + throws IOException { + return new BlockchainNodeEngineSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return BlockchainNodeEngineStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return BlockchainNodeEngineStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return BlockchainNodeEngineStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return BlockchainNodeEngineStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return BlockchainNodeEngineStubSettings.defaultGrpcTransportProviderBuilder(); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return BlockchainNodeEngineStubSettings.defaultHttpJsonTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return BlockchainNodeEngineStubSettings.defaultTransportChannelProvider(); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return BlockchainNodeEngineStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(@Nullable ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected BlockchainNodeEngineSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for BlockchainNodeEngineSettings. */ + public static class Builder + extends ClientSettings.Builder { + + protected Builder() throws IOException { + this(((ClientContext) null)); + } + + protected Builder(@Nullable ClientContext clientContext) { + super(BlockchainNodeEngineStubSettings.newBuilder(clientContext)); + } + + protected Builder(BlockchainNodeEngineSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(BlockchainNodeEngineStubSettings.Builder stubSettings) { + super(stubSettings); + } + + private static Builder createDefault() { + return new Builder(BlockchainNodeEngineStubSettings.newBuilder()); + } + + private static Builder createHttpJsonDefault() { + return new Builder(BlockchainNodeEngineStubSettings.newHttpJsonBuilder()); + } + + public BlockchainNodeEngineStubSettings.Builder getStubSettingsBuilder() { + return ((BlockchainNodeEngineStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to listBlockchainNodes. */ + public PagedCallSettings.Builder< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + ListBlockchainNodesPagedResponse> + listBlockchainNodesSettings() { + return getStubSettingsBuilder().listBlockchainNodesSettings(); + } + + /** Returns the builder for the settings used for calls to getBlockchainNode. */ + public UnaryCallSettings.Builder + getBlockchainNodeSettings() { + return getStubSettingsBuilder().getBlockchainNodeSettings(); + } + + /** Returns the builder for the settings used for calls to createBlockchainNode. */ + public UnaryCallSettings.Builder + createBlockchainNodeSettings() { + return getStubSettingsBuilder().createBlockchainNodeSettings(); + } + + /** Returns the builder for the settings used for calls to createBlockchainNode. */ + public OperationCallSettings.Builder< + CreateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + createBlockchainNodeOperationSettings() { + return getStubSettingsBuilder().createBlockchainNodeOperationSettings(); + } + + /** Returns the builder for the settings used for calls to updateBlockchainNode. */ + public UnaryCallSettings.Builder + updateBlockchainNodeSettings() { + return getStubSettingsBuilder().updateBlockchainNodeSettings(); + } + + /** Returns the builder for the settings used for calls to updateBlockchainNode. */ + public OperationCallSettings.Builder< + UpdateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + updateBlockchainNodeOperationSettings() { + return getStubSettingsBuilder().updateBlockchainNodeOperationSettings(); + } + + /** Returns the builder for the settings used for calls to deleteBlockchainNode. */ + public UnaryCallSettings.Builder + deleteBlockchainNodeSettings() { + return getStubSettingsBuilder().deleteBlockchainNodeSettings(); + } + + /** Returns the builder for the settings used for calls to deleteBlockchainNode. */ + public OperationCallSettings.Builder + deleteBlockchainNodeOperationSettings() { + return getStubSettingsBuilder().deleteBlockchainNodeOperationSettings(); + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return getStubSettingsBuilder().listLocationsSettings(); + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getStubSettingsBuilder().getLocationSettings(); + } + + @Override + public BlockchainNodeEngineSettings build() throws IOException { + return new BlockchainNodeEngineSettings(this); + } + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/gapic_metadata.json b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/gapic_metadata.json new file mode 100644 index 000000000000..fe65462a228e --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/gapic_metadata.json @@ -0,0 +1,39 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "java", + "protoPackage": "google.cloud.blockchainnodeengine.v1", + "libraryPackage": "com.google.cloud.blockchainnodeengine.v1", + "services": { + "BlockchainNodeEngine": { + "clients": { + "grpc": { + "libraryClient": "BlockchainNodeEngineClient", + "rpcs": { + "CreateBlockchainNode": { + "methods": ["createBlockchainNodeAsync", "createBlockchainNodeAsync", "createBlockchainNodeAsync", "createBlockchainNodeOperationCallable", "createBlockchainNodeCallable"] + }, + "DeleteBlockchainNode": { + "methods": ["deleteBlockchainNodeAsync", "deleteBlockchainNodeAsync", "deleteBlockchainNodeAsync", "deleteBlockchainNodeOperationCallable", "deleteBlockchainNodeCallable"] + }, + "GetBlockchainNode": { + "methods": ["getBlockchainNode", "getBlockchainNode", "getBlockchainNode", "getBlockchainNodeCallable"] + }, + "GetLocation": { + "methods": ["getLocation", "getLocationCallable"] + }, + "ListBlockchainNodes": { + "methods": ["listBlockchainNodes", "listBlockchainNodes", "listBlockchainNodes", "listBlockchainNodesPagedCallable", "listBlockchainNodesCallable"] + }, + "ListLocations": { + "methods": ["listLocations", "listLocationsPagedCallable", "listLocationsCallable"] + }, + "UpdateBlockchainNode": { + "methods": ["updateBlockchainNodeAsync", "updateBlockchainNodeAsync", "updateBlockchainNodeOperationCallable", "updateBlockchainNodeCallable"] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/package-info.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/package-info.java new file mode 100644 index 000000000000..eaa4249b3293 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/package-info.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * A client to Blockchain Node Engine API + * + *

The interfaces provided are listed below, along with usage samples. + * + *

======================= BlockchainNodeEngineClient ======================= + * + *

Service Description: This service is the control plane API for Blockchain Node Engine, and can + * be used to create, read, and delete blockchain nodes. + * + *

Sample for BlockchainNodeEngineClient: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (BlockchainNodeEngineClient blockchainNodeEngineClient =
+ *     BlockchainNodeEngineClient.create()) {
+ *   BlockchainNodeName name =
+ *       BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]");
+ *   BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(name);
+ * }
+ * }
+ */ +@Generated("by gapic-generator-java") +package com.google.cloud.blockchainnodeengine.v1; + +import javax.annotation.Generated; diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStub.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStub.java new file mode 100644 index 000000000000..06e72d1bbaaa --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStub.java @@ -0,0 +1,122 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import com.google.protobuf.Empty; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Base stub class for the BlockchainNodeEngine service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@Generated("by gapic-generator-java") +public abstract class BlockchainNodeEngineStub implements BackgroundResource { + + public @Nullable OperationsStub getOperationsStub() { + return null; + } + + public com.google.api.gax.httpjson.longrunning.stub.@Nullable OperationsStub + getHttpJsonOperationsStub() { + return null; + } + + public UnaryCallable + listBlockchainNodesPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listBlockchainNodesPagedCallable()"); + } + + public UnaryCallable + listBlockchainNodesCallable() { + throw new UnsupportedOperationException("Not implemented: listBlockchainNodesCallable()"); + } + + public UnaryCallable getBlockchainNodeCallable() { + throw new UnsupportedOperationException("Not implemented: getBlockchainNodeCallable()"); + } + + public OperationCallable + createBlockchainNodeOperationCallable() { + throw new UnsupportedOperationException( + "Not implemented: createBlockchainNodeOperationCallable()"); + } + + public UnaryCallable createBlockchainNodeCallable() { + throw new UnsupportedOperationException("Not implemented: createBlockchainNodeCallable()"); + } + + public OperationCallable + updateBlockchainNodeOperationCallable() { + throw new UnsupportedOperationException( + "Not implemented: updateBlockchainNodeOperationCallable()"); + } + + public UnaryCallable updateBlockchainNodeCallable() { + throw new UnsupportedOperationException("Not implemented: updateBlockchainNodeCallable()"); + } + + public OperationCallable + deleteBlockchainNodeOperationCallable() { + throw new UnsupportedOperationException( + "Not implemented: deleteBlockchainNodeOperationCallable()"); + } + + public UnaryCallable deleteBlockchainNodeCallable() { + throw new UnsupportedOperationException("Not implemented: deleteBlockchainNodeCallable()"); + } + + public UnaryCallable + listLocationsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsPagedCallable()"); + } + + public UnaryCallable listLocationsCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsCallable()"); + } + + public UnaryCallable getLocationCallable() { + throw new UnsupportedOperationException("Not implemented: getLocationCallable()"); + } + + @Override + public abstract void close(); +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStubSettings.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStubSettings.java new file mode 100644 index 000000000000..09e9e0dde576 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/BlockchainNodeEngineStubSettings.java @@ -0,0 +1,833 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; +import com.google.api.core.BetaApi; +import com.google.api.core.ObsoleteApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.HttpJsonTransportChannel; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.LibraryMetadata; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.time.Duration; +import java.util.List; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link BlockchainNodeEngineStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (blockchainnodeengine.googleapis.com) and default port (443) + * are used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getBlockchainNode: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineStubSettings.Builder blockchainNodeEngineSettingsBuilder =
+ *     BlockchainNodeEngineStubSettings.newBuilder();
+ * blockchainNodeEngineSettingsBuilder
+ *     .getBlockchainNodeSettings()
+ *     .setRetrySettings(
+ *         blockchainNodeEngineSettingsBuilder
+ *             .getBlockchainNodeSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * BlockchainNodeEngineStubSettings blockchainNodeEngineSettings =
+ *     blockchainNodeEngineSettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + * + *

To configure the RetrySettings of a Long Running Operation method, create an + * OperationTimedPollAlgorithm object and update the RPC's polling algorithm. For example, to + * configure the RetrySettings for createBlockchainNode: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * BlockchainNodeEngineStubSettings.Builder blockchainNodeEngineSettingsBuilder =
+ *     BlockchainNodeEngineStubSettings.newBuilder();
+ * TimedRetryAlgorithm timedRetryAlgorithm =
+ *     OperationalTimedPollAlgorithm.create(
+ *         RetrySettings.newBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofMillis(500))
+ *             .setRetryDelayMultiplier(1.5)
+ *             .setMaxRetryDelayDuration(Duration.ofMillis(5000))
+ *             .setTotalTimeoutDuration(Duration.ofHours(24))
+ *             .build());
+ * blockchainNodeEngineSettingsBuilder
+ *     .createClusterOperationSettings()
+ *     .setPollingAlgorithm(timedRetryAlgorithm)
+ *     .build();
+ * }
+ */ +@NullMarked +@Generated("by gapic-generator-java") +@SuppressWarnings("CanonicalDuration") +public class BlockchainNodeEngineStubSettings + extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final PagedCallSettings< + ListBlockchainNodesRequest, ListBlockchainNodesResponse, ListBlockchainNodesPagedResponse> + listBlockchainNodesSettings; + private final UnaryCallSettings + getBlockchainNodeSettings; + private final UnaryCallSettings + createBlockchainNodeSettings; + private final OperationCallSettings< + CreateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + createBlockchainNodeOperationSettings; + private final UnaryCallSettings + updateBlockchainNodeSettings; + private final OperationCallSettings< + UpdateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + updateBlockchainNodeOperationSettings; + private final UnaryCallSettings + deleteBlockchainNodeSettings; + private final OperationCallSettings + deleteBlockchainNodeOperationSettings; + private final PagedCallSettings< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings getLocationSettings; + + private static final PagedListDescriptor< + ListBlockchainNodesRequest, ListBlockchainNodesResponse, BlockchainNode> + LIST_BLOCKCHAIN_NODES_PAGE_STR_DESC = + new PagedListDescriptor< + ListBlockchainNodesRequest, ListBlockchainNodesResponse, BlockchainNode>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListBlockchainNodesRequest injectToken( + ListBlockchainNodesRequest payload, String token) { + return ListBlockchainNodesRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListBlockchainNodesRequest injectPageSize( + ListBlockchainNodesRequest payload, int pageSize) { + return ListBlockchainNodesRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListBlockchainNodesRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListBlockchainNodesResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListBlockchainNodesResponse payload) { + return payload.getBlockchainNodesList(); + } + }; + + private static final PagedListDescriptor + LIST_LOCATIONS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListLocationsRequest injectToken(ListLocationsRequest payload, String token) { + return ListLocationsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListLocationsRequest injectPageSize(ListLocationsRequest payload, int pageSize) { + return ListLocationsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListLocationsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListLocationsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListLocationsResponse payload) { + return payload.getLocationsList(); + } + }; + + private static final PagedListResponseFactory< + ListBlockchainNodesRequest, ListBlockchainNodesResponse, ListBlockchainNodesPagedResponse> + LIST_BLOCKCHAIN_NODES_PAGE_STR_FACT = + new PagedListResponseFactory< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + ListBlockchainNodesPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListBlockchainNodesRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext + pageContext = + PageContext.create( + callable, LIST_BLOCKCHAIN_NODES_PAGE_STR_DESC, request, context); + return ListBlockchainNodesPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + LIST_LOCATIONS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListLocationsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_LOCATIONS_PAGE_STR_DESC, request, context); + return ListLocationsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + /** Returns the object with the settings used for calls to listBlockchainNodes. */ + public PagedCallSettings< + ListBlockchainNodesRequest, ListBlockchainNodesResponse, ListBlockchainNodesPagedResponse> + listBlockchainNodesSettings() { + return listBlockchainNodesSettings; + } + + /** Returns the object with the settings used for calls to getBlockchainNode. */ + public UnaryCallSettings getBlockchainNodeSettings() { + return getBlockchainNodeSettings; + } + + /** Returns the object with the settings used for calls to createBlockchainNode. */ + public UnaryCallSettings createBlockchainNodeSettings() { + return createBlockchainNodeSettings; + } + + /** Returns the object with the settings used for calls to createBlockchainNode. */ + public OperationCallSettings + createBlockchainNodeOperationSettings() { + return createBlockchainNodeOperationSettings; + } + + /** Returns the object with the settings used for calls to updateBlockchainNode. */ + public UnaryCallSettings updateBlockchainNodeSettings() { + return updateBlockchainNodeSettings; + } + + /** Returns the object with the settings used for calls to updateBlockchainNode. */ + public OperationCallSettings + updateBlockchainNodeOperationSettings() { + return updateBlockchainNodeOperationSettings; + } + + /** Returns the object with the settings used for calls to deleteBlockchainNode. */ + public UnaryCallSettings deleteBlockchainNodeSettings() { + return deleteBlockchainNodeSettings; + } + + /** Returns the object with the settings used for calls to deleteBlockchainNode. */ + public OperationCallSettings + deleteBlockchainNodeOperationSettings() { + return deleteBlockchainNodeOperationSettings; + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return getLocationSettings; + } + + public BlockchainNodeEngineStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcBlockchainNodeEngineStub.create(this); + } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonBlockchainNodeEngineStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); + } + + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "blockchainnodeengine"; + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + @ObsoleteApi("Use getEndpoint() instead") + public static String getDefaultEndpoint() { + return "blockchainnodeengine.googleapis.com:443"; + } + + /** Returns the default mTLS service endpoint. */ + public static String getDefaultMtlsEndpoint() { + return "blockchainnodeengine.mtls.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder() + .setScopesToApply(DEFAULT_SERVICE_SCOPES) + .setUseJwtAccessWithScope(true); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return InstantiatingHttpJsonChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(BlockchainNodeEngineStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(BlockchainNodeEngineStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return BlockchainNodeEngineStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(@Nullable ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected BlockchainNodeEngineStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + listBlockchainNodesSettings = settingsBuilder.listBlockchainNodesSettings().build(); + getBlockchainNodeSettings = settingsBuilder.getBlockchainNodeSettings().build(); + createBlockchainNodeSettings = settingsBuilder.createBlockchainNodeSettings().build(); + createBlockchainNodeOperationSettings = + settingsBuilder.createBlockchainNodeOperationSettings().build(); + updateBlockchainNodeSettings = settingsBuilder.updateBlockchainNodeSettings().build(); + updateBlockchainNodeOperationSettings = + settingsBuilder.updateBlockchainNodeOperationSettings().build(); + deleteBlockchainNodeSettings = settingsBuilder.deleteBlockchainNodeSettings().build(); + deleteBlockchainNodeOperationSettings = + settingsBuilder.deleteBlockchainNodeOperationSettings().build(); + listLocationsSettings = settingsBuilder.listLocationsSettings().build(); + getLocationSettings = settingsBuilder.getLocationSettings().build(); + } + + @Override + protected LibraryMetadata getLibraryMetadata() { + return LibraryMetadata.newBuilder() + .setArtifactName("com.google.cloud:google-cloud-blockchainnodeengine") + .setRepository("googleapis/google-cloud-java") + .setVersion(Version.VERSION) + .build(); + } + + /** Builder for BlockchainNodeEngineStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + private final PagedCallSettings.Builder< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + ListBlockchainNodesPagedResponse> + listBlockchainNodesSettings; + private final UnaryCallSettings.Builder + getBlockchainNodeSettings; + private final UnaryCallSettings.Builder + createBlockchainNodeSettings; + private final OperationCallSettings.Builder< + CreateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + createBlockchainNodeOperationSettings; + private final UnaryCallSettings.Builder + updateBlockchainNodeSettings; + private final OperationCallSettings.Builder< + UpdateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + updateBlockchainNodeOperationSettings; + private final UnaryCallSettings.Builder + deleteBlockchainNodeSettings; + private final OperationCallSettings.Builder< + DeleteBlockchainNodeRequest, Empty, OperationMetadata> + deleteBlockchainNodeOperationSettings; + private final PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings.Builder getLocationSettings; + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "retry_policy_0_codes", + ImmutableSet.copyOf(Lists.newArrayList(StatusCode.Code.UNAVAILABLE))); + definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(1.3) + .setMaxRetryDelayDuration(Duration.ofMillis(10000L)) + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(Duration.ofMillis(60000L)) + .build(); + definitions.put("retry_policy_0_params", settings); + settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build(); + definitions.put("no_retry_params", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this(((ClientContext) null)); + } + + protected Builder(@Nullable ClientContext clientContext) { + super(clientContext); + + listBlockchainNodesSettings = + PagedCallSettings.newBuilder(LIST_BLOCKCHAIN_NODES_PAGE_STR_FACT); + getBlockchainNodeSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createBlockchainNodeSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createBlockchainNodeOperationSettings = OperationCallSettings.newBuilder(); + updateBlockchainNodeSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updateBlockchainNodeOperationSettings = OperationCallSettings.newBuilder(); + deleteBlockchainNodeSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + deleteBlockchainNodeOperationSettings = OperationCallSettings.newBuilder(); + listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT); + getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + listBlockchainNodesSettings, + getBlockchainNodeSettings, + createBlockchainNodeSettings, + updateBlockchainNodeSettings, + deleteBlockchainNodeSettings, + listLocationsSettings, + getLocationSettings); + initDefaults(this); + } + + protected Builder(BlockchainNodeEngineStubSettings settings) { + super(settings); + + listBlockchainNodesSettings = settings.listBlockchainNodesSettings.toBuilder(); + getBlockchainNodeSettings = settings.getBlockchainNodeSettings.toBuilder(); + createBlockchainNodeSettings = settings.createBlockchainNodeSettings.toBuilder(); + createBlockchainNodeOperationSettings = + settings.createBlockchainNodeOperationSettings.toBuilder(); + updateBlockchainNodeSettings = settings.updateBlockchainNodeSettings.toBuilder(); + updateBlockchainNodeOperationSettings = + settings.updateBlockchainNodeOperationSettings.toBuilder(); + deleteBlockchainNodeSettings = settings.deleteBlockchainNodeSettings.toBuilder(); + deleteBlockchainNodeOperationSettings = + settings.deleteBlockchainNodeOperationSettings.toBuilder(); + listLocationsSettings = settings.listLocationsSettings.toBuilder(); + getLocationSettings = settings.getLocationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + listBlockchainNodesSettings, + getBlockchainNodeSettings, + createBlockchainNodeSettings, + updateBlockchainNodeSettings, + deleteBlockchainNodeSettings, + listLocationsSettings, + getLocationSettings); + } + + private static Builder createDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder createHttpJsonDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + builder + .listBlockchainNodesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getBlockchainNodeSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .createBlockchainNodeSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .updateBlockchainNodeSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .deleteBlockchainNodeSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listLocationsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .getLocationSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .createBlockchainNodeOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(BlockchainNode.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .updateBlockchainNodeOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(BlockchainNode.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .deleteBlockchainNodeOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + return builder; + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to listBlockchainNodes. */ + public PagedCallSettings.Builder< + ListBlockchainNodesRequest, + ListBlockchainNodesResponse, + ListBlockchainNodesPagedResponse> + listBlockchainNodesSettings() { + return listBlockchainNodesSettings; + } + + /** Returns the builder for the settings used for calls to getBlockchainNode. */ + public UnaryCallSettings.Builder + getBlockchainNodeSettings() { + return getBlockchainNodeSettings; + } + + /** Returns the builder for the settings used for calls to createBlockchainNode. */ + public UnaryCallSettings.Builder + createBlockchainNodeSettings() { + return createBlockchainNodeSettings; + } + + /** Returns the builder for the settings used for calls to createBlockchainNode. */ + public OperationCallSettings.Builder< + CreateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + createBlockchainNodeOperationSettings() { + return createBlockchainNodeOperationSettings; + } + + /** Returns the builder for the settings used for calls to updateBlockchainNode. */ + public UnaryCallSettings.Builder + updateBlockchainNodeSettings() { + return updateBlockchainNodeSettings; + } + + /** Returns the builder for the settings used for calls to updateBlockchainNode. */ + public OperationCallSettings.Builder< + UpdateBlockchainNodeRequest, BlockchainNode, OperationMetadata> + updateBlockchainNodeOperationSettings() { + return updateBlockchainNodeOperationSettings; + } + + /** Returns the builder for the settings used for calls to deleteBlockchainNode. */ + public UnaryCallSettings.Builder + deleteBlockchainNodeSettings() { + return deleteBlockchainNodeSettings; + } + + /** Returns the builder for the settings used for calls to deleteBlockchainNode. */ + public OperationCallSettings.Builder + deleteBlockchainNodeOperationSettings() { + return deleteBlockchainNodeOperationSettings; + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getLocationSettings; + } + + @Override + public BlockchainNodeEngineStubSettings build() throws IOException { + return new BlockchainNodeEngineStubSettings(this); + } + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineCallableFactory.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineCallableFactory.java new file mode 100644 index 000000000000..535c70ff0cbc --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineCallableFactory.java @@ -0,0 +1,115 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.BidiStreamingCallable; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientStreamingCallable; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.StreamingCallSettings; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC callable factory implementation for the BlockchainNodeEngine service API. + * + *

This class is for advanced usage. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class GrpcBlockchainNodeEngineCallableFactory implements GrpcStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + GrpcCallSettings grpcCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createUnaryCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + GrpcCallSettings grpcCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + GrpcCallSettings grpcCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBatchingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + GrpcCallSettings grpcCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + return GrpcCallableFactory.createOperationCallable( + grpcCallSettings, callSettings, clientContext, operationsStub); + } + + @Override + public + BidiStreamingCallable createBidiStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBidiStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + GrpcCallSettings grpcCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createServerStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ClientStreamingCallable createClientStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createClientStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineStub.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineStub.java new file mode 100644 index 000000000000..3efd6e917c74 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/GrpcBlockchainNodeEngineStub.java @@ -0,0 +1,451 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import com.google.protobuf.Empty; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC stub implementation for the BlockchainNodeEngine service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class GrpcBlockchainNodeEngineStub extends BlockchainNodeEngineStub { + private static final MethodDescriptor + listBlockchainNodesMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/ListBlockchainNodes") + .setRequestMarshaller( + ProtoUtils.marshaller(ListBlockchainNodesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListBlockchainNodesResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + getBlockchainNodeMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/GetBlockchainNode") + .setRequestMarshaller( + ProtoUtils.marshaller(GetBlockchainNodeRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(BlockchainNode.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + createBlockchainNodeMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/CreateBlockchainNode") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateBlockchainNodeRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + updateBlockchainNodeMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/UpdateBlockchainNode") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateBlockchainNodeRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + deleteBlockchainNodeMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/DeleteBlockchainNode") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteBlockchainNodeRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listLocationsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setRequestMarshaller( + ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getLocationMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private final UnaryCallable + listBlockchainNodesCallable; + private final UnaryCallable + listBlockchainNodesPagedCallable; + private final UnaryCallable getBlockchainNodeCallable; + private final UnaryCallable createBlockchainNodeCallable; + private final OperationCallable + createBlockchainNodeOperationCallable; + private final UnaryCallable updateBlockchainNodeCallable; + private final OperationCallable + updateBlockchainNodeOperationCallable; + private final UnaryCallable deleteBlockchainNodeCallable; + private final OperationCallable + deleteBlockchainNodeOperationCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + private final GrpcStubCallableFactory callableFactory; + + public static final GrpcBlockchainNodeEngineStub create(BlockchainNodeEngineStubSettings settings) + throws IOException { + return new GrpcBlockchainNodeEngineStub(settings, ClientContext.create(settings)); + } + + public static final GrpcBlockchainNodeEngineStub create(ClientContext clientContext) + throws IOException { + return new GrpcBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings.newBuilder().build(), clientContext); + } + + public static final GrpcBlockchainNodeEngineStub create( + ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { + return new GrpcBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings.newBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of GrpcBlockchainNodeEngineStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected GrpcBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new GrpcBlockchainNodeEngineCallableFactory()); + } + + /** + * Constructs an instance of GrpcBlockchainNodeEngineStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected GrpcBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings settings, + ClientContext clientContext, + GrpcStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); + + GrpcCallSettings + listBlockchainNodesTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listBlockchainNodesMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getBlockchainNodeTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getBlockchainNodeMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings createBlockchainNodeTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createBlockchainNodeMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings updateBlockchainNodeTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateBlockchainNodeMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "blockchain_node.name", + String.valueOf(request.getBlockchainNode().getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings deleteBlockchainNodeTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteBlockchainNodeMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings listLocationsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings getLocationTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.listBlockchainNodesCallable = + callableFactory.createUnaryCallable( + listBlockchainNodesTransportSettings, + settings.listBlockchainNodesSettings(), + clientContext); + this.listBlockchainNodesPagedCallable = + callableFactory.createPagedCallable( + listBlockchainNodesTransportSettings, + settings.listBlockchainNodesSettings(), + clientContext); + this.getBlockchainNodeCallable = + callableFactory.createUnaryCallable( + getBlockchainNodeTransportSettings, + settings.getBlockchainNodeSettings(), + clientContext); + this.createBlockchainNodeCallable = + callableFactory.createUnaryCallable( + createBlockchainNodeTransportSettings, + settings.createBlockchainNodeSettings(), + clientContext); + this.createBlockchainNodeOperationCallable = + callableFactory.createOperationCallable( + createBlockchainNodeTransportSettings, + settings.createBlockchainNodeOperationSettings(), + clientContext, + operationsStub); + this.updateBlockchainNodeCallable = + callableFactory.createUnaryCallable( + updateBlockchainNodeTransportSettings, + settings.updateBlockchainNodeSettings(), + clientContext); + this.updateBlockchainNodeOperationCallable = + callableFactory.createOperationCallable( + updateBlockchainNodeTransportSettings, + settings.updateBlockchainNodeOperationSettings(), + clientContext, + operationsStub); + this.deleteBlockchainNodeCallable = + callableFactory.createUnaryCallable( + deleteBlockchainNodeTransportSettings, + settings.deleteBlockchainNodeSettings(), + clientContext); + this.deleteBlockchainNodeOperationCallable = + callableFactory.createOperationCallable( + deleteBlockchainNodeTransportSettings, + settings.deleteBlockchainNodeOperationSettings(), + clientContext, + operationsStub); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + @Override + public UnaryCallable + listBlockchainNodesCallable() { + return listBlockchainNodesCallable; + } + + @Override + public UnaryCallable + listBlockchainNodesPagedCallable() { + return listBlockchainNodesPagedCallable; + } + + @Override + public UnaryCallable getBlockchainNodeCallable() { + return getBlockchainNodeCallable; + } + + @Override + public UnaryCallable createBlockchainNodeCallable() { + return createBlockchainNodeCallable; + } + + @Override + public OperationCallable + createBlockchainNodeOperationCallable() { + return createBlockchainNodeOperationCallable; + } + + @Override + public UnaryCallable updateBlockchainNodeCallable() { + return updateBlockchainNodeCallable; + } + + @Override + public OperationCallable + updateBlockchainNodeOperationCallable() { + return updateBlockchainNodeOperationCallable; + } + + @Override + public UnaryCallable deleteBlockchainNodeCallable() { + return deleteBlockchainNodeCallable; + } + + @Override + public OperationCallable + deleteBlockchainNodeOperationCallable() { + return deleteBlockchainNodeOperationCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineCallableFactory.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineCallableFactory.java new file mode 100644 index 000000000000..cc07fb05c991 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineCallableFactory.java @@ -0,0 +1,103 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonCallableFactory; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST callable factory implementation for the BlockchainNodeEngine service API. + * + *

This class is for advanced usage. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class HttpJsonBlockchainNodeEngineCallableFactory + implements HttpJsonStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + HttpJsonCallSettings httpJsonCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createUnaryCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + HttpJsonCallSettings httpJsonCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createPagedCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + HttpJsonCallSettings httpJsonCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createBatchingCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + HttpJsonCallSettings httpJsonCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + UnaryCallable innerCallable = + HttpJsonCallableFactory.createBaseUnaryCallable( + httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); + HttpJsonOperationSnapshotCallable initialCallable = + new HttpJsonOperationSnapshotCallable( + innerCallable, + httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); + return HttpJsonCallableFactory.createOperationCallable( + callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + HttpJsonCallSettings httpJsonCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createServerStreamingCallable( + httpJsonCallSettings, callSettings, clientContext); + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineStub.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineStub.java new file mode 100644 index 000000000000..cb60df948f01 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/HttpJsonBlockchainNodeEngineStub.java @@ -0,0 +1,712 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.HttpRule; +import com.google.api.core.InternalApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.httpjson.ApiMethodDescriptor; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshot; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; +import com.google.api.gax.httpjson.ProtoMessageResponseParser; +import com.google.api.gax.httpjson.ProtoRestSerializer; +import com.google.api.gax.httpjson.longrunning.stub.HttpJsonOperationsStub; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.ImmutableMap; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import com.google.protobuf.TypeRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST stub implementation for the BlockchainNodeEngine service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class HttpJsonBlockchainNodeEngineStub extends BlockchainNodeEngineStub { + private static final TypeRegistry typeRegistry = + TypeRegistry.newBuilder() + .add(Empty.getDescriptor()) + .add(OperationMetadata.getDescriptor()) + .add(BlockchainNode.getDescriptor()) + .build(); + + private static final ApiMethodDescriptor + listBlockchainNodesMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/ListBlockchainNodes") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/blockchainNodes", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListBlockchainNodesResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getBlockchainNodeMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/GetBlockchainNode") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/blockchainNodes/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(BlockchainNode.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createBlockchainNodeMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/CreateBlockchainNode") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/blockchainNodes", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam( + fields, "blockchainNodeId", request.getBlockchainNodeId()); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("blockchainNode", request.getBlockchainNode(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CreateBlockchainNodeRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateBlockchainNodeMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/UpdateBlockchainNode") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{blockchainNode.name=projects/*/locations/*/blockchainNodes/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, + "blockchainNode.name", + request.getBlockchainNode().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("blockchainNode", request.getBlockchainNode(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateBlockchainNodeRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteBlockchainNodeMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine/DeleteBlockchainNode") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/blockchainNodes/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteBlockchainNodeRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + listLocationsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*}/locations", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListLocationsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getLocationMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Location.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private final UnaryCallable + listBlockchainNodesCallable; + private final UnaryCallable + listBlockchainNodesPagedCallable; + private final UnaryCallable getBlockchainNodeCallable; + private final UnaryCallable createBlockchainNodeCallable; + private final OperationCallable + createBlockchainNodeOperationCallable; + private final UnaryCallable updateBlockchainNodeCallable; + private final OperationCallable + updateBlockchainNodeOperationCallable; + private final UnaryCallable deleteBlockchainNodeCallable; + private final OperationCallable + deleteBlockchainNodeOperationCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final HttpJsonOperationsStub httpJsonOperationsStub; + private final HttpJsonStubCallableFactory callableFactory; + + public static final HttpJsonBlockchainNodeEngineStub create( + BlockchainNodeEngineStubSettings settings) throws IOException { + return new HttpJsonBlockchainNodeEngineStub(settings, ClientContext.create(settings)); + } + + public static final HttpJsonBlockchainNodeEngineStub create(ClientContext clientContext) + throws IOException { + return new HttpJsonBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings.newHttpJsonBuilder().build(), clientContext); + } + + public static final HttpJsonBlockchainNodeEngineStub create( + ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { + return new HttpJsonBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings.newHttpJsonBuilder().build(), + clientContext, + callableFactory); + } + + /** + * Constructs an instance of HttpJsonBlockchainNodeEngineStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new HttpJsonBlockchainNodeEngineCallableFactory()); + } + + /** + * Constructs an instance of HttpJsonBlockchainNodeEngineStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonBlockchainNodeEngineStub( + BlockchainNodeEngineStubSettings settings, + ClientContext clientContext, + HttpJsonStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.httpJsonOperationsStub = + HttpJsonOperationsStub.create( + clientContext, + callableFactory, + typeRegistry, + ImmutableMap.builder() + .put( + "google.longrunning.Operations.CancelOperation", + HttpRule.newBuilder() + .setPost("/v1/{name=projects/*/locations/*/operations/*}:cancel") + .build()) + .put( + "google.longrunning.Operations.DeleteOperation", + HttpRule.newBuilder() + .setDelete("/v1/{name=projects/*/locations/*/operations/*}") + .build()) + .put( + "google.longrunning.Operations.GetOperation", + HttpRule.newBuilder() + .setGet("/v1/{name=projects/*/locations/*/operations/*}") + .build()) + .put( + "google.longrunning.Operations.ListOperations", + HttpRule.newBuilder() + .setGet("/v1/{name=projects/*/locations/*}/operations") + .build()) + .build()); + + HttpJsonCallSettings + listBlockchainNodesTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(listBlockchainNodesMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + getBlockchainNodeTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getBlockchainNodeMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + createBlockchainNodeTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createBlockchainNodeMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + updateBlockchainNodeTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateBlockchainNodeMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "blockchain_node.name", + String.valueOf(request.getBlockchainNode().getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings + deleteBlockchainNodeTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteBlockchainNodeMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listLocationsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings getLocationTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.listBlockchainNodesCallable = + callableFactory.createUnaryCallable( + listBlockchainNodesTransportSettings, + settings.listBlockchainNodesSettings(), + clientContext); + this.listBlockchainNodesPagedCallable = + callableFactory.createPagedCallable( + listBlockchainNodesTransportSettings, + settings.listBlockchainNodesSettings(), + clientContext); + this.getBlockchainNodeCallable = + callableFactory.createUnaryCallable( + getBlockchainNodeTransportSettings, + settings.getBlockchainNodeSettings(), + clientContext); + this.createBlockchainNodeCallable = + callableFactory.createUnaryCallable( + createBlockchainNodeTransportSettings, + settings.createBlockchainNodeSettings(), + clientContext); + this.createBlockchainNodeOperationCallable = + callableFactory.createOperationCallable( + createBlockchainNodeTransportSettings, + settings.createBlockchainNodeOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateBlockchainNodeCallable = + callableFactory.createUnaryCallable( + updateBlockchainNodeTransportSettings, + settings.updateBlockchainNodeSettings(), + clientContext); + this.updateBlockchainNodeOperationCallable = + callableFactory.createOperationCallable( + updateBlockchainNodeTransportSettings, + settings.updateBlockchainNodeOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteBlockchainNodeCallable = + callableFactory.createUnaryCallable( + deleteBlockchainNodeTransportSettings, + settings.deleteBlockchainNodeSettings(), + clientContext); + this.deleteBlockchainNodeOperationCallable = + callableFactory.createOperationCallable( + deleteBlockchainNodeTransportSettings, + settings.deleteBlockchainNodeOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + @InternalApi + public static List getMethodDescriptors() { + List methodDescriptors = new ArrayList<>(); + methodDescriptors.add(listBlockchainNodesMethodDescriptor); + methodDescriptors.add(getBlockchainNodeMethodDescriptor); + methodDescriptors.add(createBlockchainNodeMethodDescriptor); + methodDescriptors.add(updateBlockchainNodeMethodDescriptor); + methodDescriptors.add(deleteBlockchainNodeMethodDescriptor); + methodDescriptors.add(listLocationsMethodDescriptor); + methodDescriptors.add(getLocationMethodDescriptor); + return methodDescriptors; + } + + public HttpJsonOperationsStub getHttpJsonOperationsStub() { + return httpJsonOperationsStub; + } + + @Override + public UnaryCallable + listBlockchainNodesCallable() { + return listBlockchainNodesCallable; + } + + @Override + public UnaryCallable + listBlockchainNodesPagedCallable() { + return listBlockchainNodesPagedCallable; + } + + @Override + public UnaryCallable getBlockchainNodeCallable() { + return getBlockchainNodeCallable; + } + + @Override + public UnaryCallable createBlockchainNodeCallable() { + return createBlockchainNodeCallable; + } + + @Override + public OperationCallable + createBlockchainNodeOperationCallable() { + return createBlockchainNodeOperationCallable; + } + + @Override + public UnaryCallable updateBlockchainNodeCallable() { + return updateBlockchainNodeCallable; + } + + @Override + public OperationCallable + updateBlockchainNodeOperationCallable() { + return updateBlockchainNodeOperationCallable; + } + + @Override + public UnaryCallable deleteBlockchainNodeCallable() { + return deleteBlockchainNodeCallable; + } + + @Override + public OperationCallable + deleteBlockchainNodeOperationCallable() { + return deleteBlockchainNodeOperationCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/Version.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/Version.java new file mode 100644 index 000000000000..df09ae9d7297 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/java/com/google/cloud/blockchainnodeengine/v1/stub/Version.java @@ -0,0 +1,27 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub; + +import com.google.api.core.InternalApi; + +@InternalApi("For internal use only") +final class Version { + // {x-version-update-start:google-cloud-blockchainnodeengine:current} + static final String VERSION = "0.0.0-SNAPSHOT"; + // {x-version-update-end} + +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/resources/META-INF/native-image/com.google.cloud.blockchainnodeengine.v1/reflect-config.json b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/resources/META-INF/native-image/com.google.cloud.blockchainnodeengine.v1/reflect-config.json new file mode 100644 index 000000000000..321e17507ea1 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/main/resources/META-INF/native-image/com.google.cloud.blockchainnodeengine.v1/reflect-config.json @@ -0,0 +1,1910 @@ +[ + { + "name": "com.google.api.BatchingConfigProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingConfigProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryDestination", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryOrganization", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldBehavior", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FlowControlLimitExceededBehaviorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.LaunchStage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$History", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Style", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$BlockchainType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$ConnectionInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$ConnectionInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$ConnectionInfo$EndpointInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$ConnectionInfo$EndpointInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$ConsensusClient", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$EthereumEndpoints", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$EthereumEndpoints$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$ExecutionClient", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$GethDetails", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$GethDetails$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$GethDetails$GarbageCollectionMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$Network", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$NodeType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$ValidatorConfig", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$EthereumDetails$ValidatorConfig$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.BlockchainNode$State", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.OperationMetadata", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.OperationMetadata$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.CancelOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.CancelOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.DeleteOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.DeleteOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.GetOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.GetOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.Operation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.Operation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.OperationInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.OperationInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.WaitOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.WaitOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$Edition", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnforceNamingStyle", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnumType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$FieldPresence", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$JsonFormat", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$MessageEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$RepeatedFieldEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Utf8Validation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$DefaultSymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Label", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$CType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$JSType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionRetention", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionTargetType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$OptimizeMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Semantic", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$IdempotencyLevel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.FieldMask", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.FieldMask$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.rpc.Status", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.rpc.Status$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + } +] \ No newline at end of file diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientHttpJsonTest.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientHttpJsonTest.java new file mode 100644 index 000000000000..7b8e8525702b --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientHttpJsonTest.java @@ -0,0 +1,697 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiException; +import com.google.api.gax.rpc.ApiExceptionFactory; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.cloud.blockchainnodeengine.v1.stub.HttpJsonBlockchainNodeEngineStub; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Timestamp; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class BlockchainNodeEngineClientHttpJsonTest { + private static MockHttpService mockService; + private static BlockchainNodeEngineClient client; + + @BeforeClass + public static void startStaticServer() throws IOException { + mockService = + new MockHttpService( + HttpJsonBlockchainNodeEngineStub.getMethodDescriptors(), + BlockchainNodeEngineSettings.getDefaultEndpoint()); + BlockchainNodeEngineSettings settings = + BlockchainNodeEngineSettings.newHttpJsonBuilder() + .setTransportChannelProvider( + BlockchainNodeEngineSettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(mockService) + .build()) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = BlockchainNodeEngineClient.create(settings); + } + + @AfterClass + public static void stopServer() { + client.close(); + } + + @Before + public void setUp() {} + + @After + public void tearDown() throws Exception { + mockService.reset(); + } + + @Test + public void listBlockchainNodesTest() throws Exception { + BlockchainNode responsesElement = BlockchainNode.newBuilder().build(); + ListBlockchainNodesResponse expectedResponse = + ListBlockchainNodesResponse.newBuilder() + .setNextPageToken("") + .addAllBlockchainNodes(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListBlockchainNodesPagedResponse pagedListResponse = client.listBlockchainNodes(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBlockchainNodesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listBlockchainNodesExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listBlockchainNodes(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listBlockchainNodesTest2() throws Exception { + BlockchainNode responsesElement = BlockchainNode.newBuilder().build(); + ListBlockchainNodesResponse expectedResponse = + ListBlockchainNodesResponse.newBuilder() + .setNextPageToken("") + .addAllBlockchainNodes(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListBlockchainNodesPagedResponse pagedListResponse = client.listBlockchainNodes(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBlockchainNodesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listBlockchainNodesExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listBlockchainNodes(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBlockchainNodeTest() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + mockService.addResponse(expectedResponse); + + BlockchainNodeName name = BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + + BlockchainNode actualResponse = client.getBlockchainNode(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getBlockchainNodeExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + BlockchainNodeName name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + client.getBlockchainNode(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBlockchainNodeTest2() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + mockService.addResponse(expectedResponse); + + String name = + "projects/project-8781/locations/location-8781/blockchainNodes/blockchainNode-8781"; + + BlockchainNode actualResponse = client.getBlockchainNode(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getBlockchainNodeExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "projects/project-8781/locations/location-8781/blockchainNodes/blockchainNode-8781"; + client.getBlockchainNode(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createBlockchainNodeTest() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + + BlockchainNode actualResponse = + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createBlockchainNodeExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void createBlockchainNodeTest2() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = "projects/project-5833/locations/location-5833"; + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + + BlockchainNode actualResponse = + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createBlockchainNodeExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateBlockchainNodeTest() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + BlockchainNode blockchainNode = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + BlockchainNode actualResponse = + client.updateBlockchainNodeAsync(blockchainNode, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateBlockchainNodeExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + BlockchainNode blockchainNode = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateBlockchainNodeAsync(blockchainNode, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteBlockchainNodeTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + BlockchainNodeName name = BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + + client.deleteBlockchainNodeAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteBlockchainNodeExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + BlockchainNodeName name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + client.deleteBlockchainNodeAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteBlockchainNodeTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = + "projects/project-8781/locations/location-8781/blockchainNodes/blockchainNode-8781"; + + client.deleteBlockchainNodeAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteBlockchainNodeExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "projects/project-8781/locations/location-8781/blockchainNodes/blockchainNode-8781"; + client.deleteBlockchainNodeAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getLocationExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientTest.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientTest.java new file mode 100644 index 000000000000..3091e6b4833d --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineClientTest.java @@ -0,0 +1,638 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListBlockchainNodesPagedResponse; +import static com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.AbstractMessage; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Timestamp; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class BlockchainNodeEngineClientTest { + private static MockBlockchainNodeEngine mockBlockchainNodeEngine; + private static MockLocations mockLocations; + private static MockServiceHelper mockServiceHelper; + private LocalChannelProvider channelProvider; + private BlockchainNodeEngineClient client; + + @BeforeClass + public static void startStaticServer() { + mockBlockchainNodeEngine = new MockBlockchainNodeEngine(); + mockLocations = new MockLocations(); + mockServiceHelper = + new MockServiceHelper( + UUID.randomUUID().toString(), + Arrays.asList(mockBlockchainNodeEngine, mockLocations)); + mockServiceHelper.start(); + } + + @AfterClass + public static void stopServer() { + mockServiceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + mockServiceHelper.reset(); + channelProvider = mockServiceHelper.createChannelProvider(); + BlockchainNodeEngineSettings settings = + BlockchainNodeEngineSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = BlockchainNodeEngineClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + public void listBlockchainNodesTest() throws Exception { + BlockchainNode responsesElement = BlockchainNode.newBuilder().build(); + ListBlockchainNodesResponse expectedResponse = + ListBlockchainNodesResponse.newBuilder() + .setNextPageToken("") + .addAllBlockchainNodes(Arrays.asList(responsesElement)) + .build(); + mockBlockchainNodeEngine.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListBlockchainNodesPagedResponse pagedListResponse = client.listBlockchainNodes(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBlockchainNodesList().get(0), resources.get(0)); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListBlockchainNodesRequest actualRequest = ((ListBlockchainNodesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listBlockchainNodesExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listBlockchainNodes(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listBlockchainNodesTest2() throws Exception { + BlockchainNode responsesElement = BlockchainNode.newBuilder().build(); + ListBlockchainNodesResponse expectedResponse = + ListBlockchainNodesResponse.newBuilder() + .setNextPageToken("") + .addAllBlockchainNodes(Arrays.asList(responsesElement)) + .build(); + mockBlockchainNodeEngine.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListBlockchainNodesPagedResponse pagedListResponse = client.listBlockchainNodes(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBlockchainNodesList().get(0), resources.get(0)); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListBlockchainNodesRequest actualRequest = ((ListBlockchainNodesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listBlockchainNodesExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + String parent = "parent-995424086"; + client.listBlockchainNodes(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBlockchainNodeTest() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + mockBlockchainNodeEngine.addResponse(expectedResponse); + + BlockchainNodeName name = BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + + BlockchainNode actualResponse = client.getBlockchainNode(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetBlockchainNodeRequest actualRequest = ((GetBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getBlockchainNodeExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + BlockchainNodeName name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + client.getBlockchainNode(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBlockchainNodeTest2() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + mockBlockchainNodeEngine.addResponse(expectedResponse); + + String name = "name3373707"; + + BlockchainNode actualResponse = client.getBlockchainNode(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetBlockchainNodeRequest actualRequest = ((GetBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getBlockchainNodeExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + String name = "name3373707"; + client.getBlockchainNode(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createBlockchainNodeTest() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockBlockchainNodeEngine.addResponse(resultOperation); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + + BlockchainNode actualResponse = + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateBlockchainNodeRequest actualRequest = + ((CreateBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(blockchainNode, actualRequest.getBlockchainNode()); + Assert.assertEquals(blockchainNodeId, actualRequest.getBlockchainNodeId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createBlockchainNodeExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void createBlockchainNodeTest2() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockBlockchainNodeEngine.addResponse(resultOperation); + + String parent = "parent-995424086"; + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + + BlockchainNode actualResponse = + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateBlockchainNodeRequest actualRequest = + ((CreateBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(blockchainNode, actualRequest.getBlockchainNode()); + Assert.assertEquals(blockchainNodeId, actualRequest.getBlockchainNodeId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createBlockchainNodeExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + String parent = "parent-995424086"; + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + client.createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void updateBlockchainNodeTest() throws Exception { + BlockchainNode expectedResponse = + BlockchainNode.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllLabels(new HashMap()) + .setConnectionInfo(BlockchainNode.ConnectionInfo.newBuilder().build()) + .setPrivateServiceConnectEnabled(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockBlockchainNodeEngine.addResponse(resultOperation); + + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + BlockchainNode actualResponse = + client.updateBlockchainNodeAsync(blockchainNode, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateBlockchainNodeRequest actualRequest = + ((UpdateBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(blockchainNode, actualRequest.getBlockchainNode()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateBlockchainNodeExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateBlockchainNodeAsync(blockchainNode, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void deleteBlockchainNodeTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockBlockchainNodeEngine.addResponse(resultOperation); + + BlockchainNodeName name = BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + + client.deleteBlockchainNodeAsync(name).get(); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteBlockchainNodeRequest actualRequest = + ((DeleteBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteBlockchainNodeExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + BlockchainNodeName name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + client.deleteBlockchainNodeAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void deleteBlockchainNodeTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBlockchainNodeTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockBlockchainNodeEngine.addResponse(resultOperation); + + String name = "name3373707"; + + client.deleteBlockchainNodeAsync(name).get(); + + List actualRequests = mockBlockchainNodeEngine.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteBlockchainNodeRequest actualRequest = + ((DeleteBlockchainNodeRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteBlockchainNodeExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockBlockchainNodeEngine.addException(exception); + + try { + String name = "name3373707"; + client.deleteBlockchainNodeAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockLocations.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); + Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); + Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockLocations.addResponse(expectedResponse); + + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getLocationExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngine.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngine.java new file mode 100644 index 000000000000..c4dbb67562c7 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngine.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockBlockchainNodeEngine implements MockGrpcService { + private final MockBlockchainNodeEngineImpl serviceImpl; + + public MockBlockchainNodeEngine() { + serviceImpl = new MockBlockchainNodeEngineImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngineImpl.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngineImpl.java new file mode 100644 index 000000000000..4ec77aaaf355 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockBlockchainNodeEngineImpl.java @@ -0,0 +1,170 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineGrpc.BlockchainNodeEngineImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockBlockchainNodeEngineImpl extends BlockchainNodeEngineImplBase { + private List requests; + private Queue responses; + + public MockBlockchainNodeEngineImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listBlockchainNodes( + ListBlockchainNodesRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListBlockchainNodesResponse) { + requests.add(request); + responseObserver.onNext(((ListBlockchainNodesResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListBlockchainNodes, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListBlockchainNodesResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getBlockchainNode( + GetBlockchainNodeRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof BlockchainNode) { + requests.add(request); + responseObserver.onNext(((BlockchainNode) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetBlockchainNode, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + BlockchainNode.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void createBlockchainNode( + CreateBlockchainNodeRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateBlockchainNode, expected %s or" + + " %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updateBlockchainNode( + UpdateBlockchainNodeRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateBlockchainNode, expected %s or" + + " %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void deleteBlockchainNode( + DeleteBlockchainNodeRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method DeleteBlockchainNode, expected %s or" + + " %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocations.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocations.java new file mode 100644 index 000000000000..4398e3351cc5 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocations.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocations implements MockGrpcService { + private final MockLocationsImpl serviceImpl; + + public MockLocations() { + serviceImpl = new MockLocationsImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocationsImpl.java b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocationsImpl.java new file mode 100644 index 000000000000..c20a69dc0c41 --- /dev/null +++ b/java-blockchainnodeengine/google-cloud-blockchainnodeengine/src/test/java/com/google/cloud/blockchainnodeengine/v1/MockLocationsImpl.java @@ -0,0 +1,105 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.location.LocationsGrpc.LocationsImplBase; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocationsImpl extends LocationsImplBase { + private List requests; + private Queue responses; + + public MockLocationsImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listLocations( + ListLocationsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListLocationsResponse) { + requests.add(request); + responseObserver.onNext(((ListLocationsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListLocations, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListLocationsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getLocation(GetLocationRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Location) { + requests.add(request); + responseObserver.onNext(((Location) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetLocation, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Location.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/pom.xml b/java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/pom.xml new file mode 100644 index 000000000000..f05f9c0ba33d --- /dev/null +++ b/java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/pom.xml @@ -0,0 +1,45 @@ + + 4.0.0 + com.google.api.grpc + grpc-google-cloud-blockchainnodeengine-v1 + 0.1.0-SNAPSHOT + grpc-google-cloud-blockchainnodeengine-v1 + GRPC library for google-cloud-blockchainnodeengine + + com.google.cloud + google-cloud-blockchainnodeengine-parent + 0.1.0-SNAPSHOT + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-cloud-blockchainnodeengine-v1 + + + com.google.guava + guava + + + diff --git a/java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineGrpc.java b/java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineGrpc.java new file mode 100644 index 000000000000..50bde6a829be --- /dev/null +++ b/java-blockchainnodeengine/grpc-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeEngineGrpc.java @@ -0,0 +1,978 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.google.cloud.blockchainnodeengine.v1; + +import static io.grpc.MethodDescriptor.generateFullMethodName; + +/** + * + * + *
+ * This service is the control plane API for Blockchain Node Engine,
+ * and can be used to create, read, and delete blockchain nodes.
+ * 
+ */ +@io.grpc.stub.annotations.GrpcGenerated +public final class BlockchainNodeEngineGrpc { + + private BlockchainNodeEngineGrpc() {} + + public static final java.lang.String SERVICE_NAME = + "google.cloud.blockchainnodeengine.v1.BlockchainNodeEngine"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse> + getListBlockchainNodesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListBlockchainNodes", + requestType = com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest.class, + responseType = com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse> + getListBlockchainNodesMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse> + getListBlockchainNodesMethod; + if ((getListBlockchainNodesMethod = BlockchainNodeEngineGrpc.getListBlockchainNodesMethod) + == null) { + synchronized (BlockchainNodeEngineGrpc.class) { + if ((getListBlockchainNodesMethod = BlockchainNodeEngineGrpc.getListBlockchainNodesMethod) + == null) { + BlockchainNodeEngineGrpc.getListBlockchainNodesMethod = + getListBlockchainNodesMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "ListBlockchainNodes")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new BlockchainNodeEngineMethodDescriptorSupplier("ListBlockchainNodes")) + .build(); + } + } + } + return getListBlockchainNodesMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode> + getGetBlockchainNodeMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetBlockchainNode", + requestType = com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.class, + responseType = com.google.cloud.blockchainnodeengine.v1.BlockchainNode.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode> + getGetBlockchainNodeMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode> + getGetBlockchainNodeMethod; + if ((getGetBlockchainNodeMethod = BlockchainNodeEngineGrpc.getGetBlockchainNodeMethod) + == null) { + synchronized (BlockchainNodeEngineGrpc.class) { + if ((getGetBlockchainNodeMethod = BlockchainNodeEngineGrpc.getGetBlockchainNodeMethod) + == null) { + BlockchainNodeEngineGrpc.getGetBlockchainNodeMethod = + getGetBlockchainNodeMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetBlockchainNode")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode + .getDefaultInstance())) + .setSchemaDescriptor( + new BlockchainNodeEngineMethodDescriptorSupplier("GetBlockchainNode")) + .build(); + } + } + } + return getGetBlockchainNodeMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest, + com.google.longrunning.Operation> + getCreateBlockchainNodeMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreateBlockchainNode", + requestType = com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest, + com.google.longrunning.Operation> + getCreateBlockchainNodeMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest, + com.google.longrunning.Operation> + getCreateBlockchainNodeMethod; + if ((getCreateBlockchainNodeMethod = BlockchainNodeEngineGrpc.getCreateBlockchainNodeMethod) + == null) { + synchronized (BlockchainNodeEngineGrpc.class) { + if ((getCreateBlockchainNodeMethod = BlockchainNodeEngineGrpc.getCreateBlockchainNodeMethod) + == null) { + BlockchainNodeEngineGrpc.getCreateBlockchainNodeMethod = + getCreateBlockchainNodeMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "CreateBlockchainNode")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new BlockchainNodeEngineMethodDescriptorSupplier("CreateBlockchainNode")) + .build(); + } + } + } + return getCreateBlockchainNodeMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest, + com.google.longrunning.Operation> + getUpdateBlockchainNodeMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateBlockchainNode", + requestType = com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest, + com.google.longrunning.Operation> + getUpdateBlockchainNodeMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest, + com.google.longrunning.Operation> + getUpdateBlockchainNodeMethod; + if ((getUpdateBlockchainNodeMethod = BlockchainNodeEngineGrpc.getUpdateBlockchainNodeMethod) + == null) { + synchronized (BlockchainNodeEngineGrpc.class) { + if ((getUpdateBlockchainNodeMethod = BlockchainNodeEngineGrpc.getUpdateBlockchainNodeMethod) + == null) { + BlockchainNodeEngineGrpc.getUpdateBlockchainNodeMethod = + getUpdateBlockchainNodeMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "UpdateBlockchainNode")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new BlockchainNodeEngineMethodDescriptorSupplier("UpdateBlockchainNode")) + .build(); + } + } + } + return getUpdateBlockchainNodeMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest, + com.google.longrunning.Operation> + getDeleteBlockchainNodeMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteBlockchainNode", + requestType = com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest, + com.google.longrunning.Operation> + getDeleteBlockchainNodeMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest, + com.google.longrunning.Operation> + getDeleteBlockchainNodeMethod; + if ((getDeleteBlockchainNodeMethod = BlockchainNodeEngineGrpc.getDeleteBlockchainNodeMethod) + == null) { + synchronized (BlockchainNodeEngineGrpc.class) { + if ((getDeleteBlockchainNodeMethod = BlockchainNodeEngineGrpc.getDeleteBlockchainNodeMethod) + == null) { + BlockchainNodeEngineGrpc.getDeleteBlockchainNodeMethod = + getDeleteBlockchainNodeMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "DeleteBlockchainNode")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new BlockchainNodeEngineMethodDescriptorSupplier("DeleteBlockchainNode")) + .build(); + } + } + } + return getDeleteBlockchainNodeMethod; + } + + /** Creates a new async stub that supports all call types for the service */ + public static BlockchainNodeEngineStub newStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public BlockchainNodeEngineStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineStub(channel, callOptions); + } + }; + return BlockchainNodeEngineStub.newStub(factory, channel); + } + + /** Creates a new blocking-style stub that supports all types of calls on the service */ + public static BlockchainNodeEngineBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public BlockchainNodeEngineBlockingV2Stub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineBlockingV2Stub(channel, callOptions); + } + }; + return BlockchainNodeEngineBlockingV2Stub.newStub(factory, channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static BlockchainNodeEngineBlockingStub newBlockingStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public BlockchainNodeEngineBlockingStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineBlockingStub(channel, callOptions); + } + }; + return BlockchainNodeEngineBlockingStub.newStub(factory, channel); + } + + /** Creates a new ListenableFuture-style stub that supports unary calls on the service */ + public static BlockchainNodeEngineFutureStub newFutureStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public BlockchainNodeEngineFutureStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineFutureStub(channel, callOptions); + } + }; + return BlockchainNodeEngineFutureStub.newStub(factory, channel); + } + + /** + * + * + *
+   * This service is the control plane API for Blockchain Node Engine,
+   * and can be used to create, read, and delete blockchain nodes.
+   * 
+ */ + public interface AsyncService { + + /** + * + * + *
+     * Lists blockchain nodes in a given project and location.
+     * 
+ */ + default void listBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse> + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListBlockchainNodesMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single blockchain node.
+     * 
+ */ + default void getBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetBlockchainNodeMethod(), responseObserver); + } + + /** + * + * + *
+     * Creates a new blockchain node in a given project and location.
+     * 
+ */ + default void createBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreateBlockchainNodeMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates the parameters of a single blockchain node.
+     * 
+ */ + default void updateBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateBlockchainNodeMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes a single blockchain node.
+     * 
+ */ + default void deleteBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeleteBlockchainNodeMethod(), responseObserver); + } + } + + /** + * Base class for the server implementation of the service BlockchainNodeEngine. + * + *
+   * This service is the control plane API for Blockchain Node Engine,
+   * and can be used to create, read, and delete blockchain nodes.
+   * 
+ */ + public abstract static class BlockchainNodeEngineImplBase + implements io.grpc.BindableService, AsyncService { + + @java.lang.Override + public final io.grpc.ServerServiceDefinition bindService() { + return BlockchainNodeEngineGrpc.bindService(this); + } + } + + /** + * A stub to allow clients to do asynchronous rpc calls to service BlockchainNodeEngine. + * + *
+   * This service is the control plane API for Blockchain Node Engine,
+   * and can be used to create, read, and delete blockchain nodes.
+   * 
+ */ + public static final class BlockchainNodeEngineStub + extends io.grpc.stub.AbstractAsyncStub { + private BlockchainNodeEngineStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected BlockchainNodeEngineStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists blockchain nodes in a given project and location.
+     * 
+ */ + public void listBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse> + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListBlockchainNodesMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single blockchain node.
+     * 
+ */ + public void getBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetBlockchainNodeMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Creates a new blockchain node in a given project and location.
+     * 
+ */ + public void createBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreateBlockchainNodeMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates the parameters of a single blockchain node.
+     * 
+ */ + public void updateBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateBlockchainNodeMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes a single blockchain node.
+     * 
+ */ + public void deleteBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteBlockchainNodeMethod(), getCallOptions()), + request, + responseObserver); + } + } + + /** + * A stub to allow clients to do synchronous rpc calls to service BlockchainNodeEngine. + * + *
+   * This service is the control plane API for Blockchain Node Engine,
+   * and can be used to create, read, and delete blockchain nodes.
+   * 
+ */ + public static final class BlockchainNodeEngineBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private BlockchainNodeEngineBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected BlockchainNodeEngineBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineBlockingV2Stub(channel, callOptions); + } + + /** + * + * + *
+     * Lists blockchain nodes in a given project and location.
+     * 
+ */ + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse listBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListBlockchainNodesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single blockchain node.
+     * 
+ */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetBlockchainNodeMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new blockchain node in a given project and location.
+     * 
+ */ + public com.google.longrunning.Operation createBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCreateBlockchainNodeMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the parameters of a single blockchain node.
+     * 
+ */ + public com.google.longrunning.Operation updateBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdateBlockchainNodeMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes a single blockchain node.
+     * 
+ */ + public com.google.longrunning.Operation deleteBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getDeleteBlockchainNodeMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service BlockchainNodeEngine. + * + *
+   * This service is the control plane API for Blockchain Node Engine,
+   * and can be used to create, read, and delete blockchain nodes.
+   * 
+ */ + public static final class BlockchainNodeEngineBlockingStub + extends io.grpc.stub.AbstractBlockingStub { + private BlockchainNodeEngineBlockingStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected BlockchainNodeEngineBlockingStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineBlockingStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists blockchain nodes in a given project and location.
+     * 
+ */ + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse listBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListBlockchainNodesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single blockchain node.
+     * 
+ */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetBlockchainNodeMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new blockchain node in a given project and location.
+     * 
+ */ + public com.google.longrunning.Operation createBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateBlockchainNodeMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the parameters of a single blockchain node.
+     * 
+ */ + public com.google.longrunning.Operation updateBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateBlockchainNodeMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes a single blockchain node.
+     * 
+ */ + public com.google.longrunning.Operation deleteBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteBlockchainNodeMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do ListenableFuture-style rpc calls to service BlockchainNodeEngine. + * + *
+   * This service is the control plane API for Blockchain Node Engine,
+   * and can be used to create, read, and delete blockchain nodes.
+   * 
+ */ + public static final class BlockchainNodeEngineFutureStub + extends io.grpc.stub.AbstractFutureStub { + private BlockchainNodeEngineFutureStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected BlockchainNodeEngineFutureStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new BlockchainNodeEngineFutureStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists blockchain nodes in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse> + listBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListBlockchainNodesMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single blockchain node.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode> + getBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetBlockchainNodeMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Creates a new blockchain node in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + createBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreateBlockchainNodeMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates the parameters of a single blockchain node.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + updateBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateBlockchainNodeMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes a single blockchain node.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deleteBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteBlockchainNodeMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_LIST_BLOCKCHAIN_NODES = 0; + private static final int METHODID_GET_BLOCKCHAIN_NODE = 1; + private static final int METHODID_CREATE_BLOCKCHAIN_NODE = 2; + private static final int METHODID_UPDATE_BLOCKCHAIN_NODE = 3; + private static final int METHODID_DELETE_BLOCKCHAIN_NODE = 4; + + private static final class MethodHandlers + implements io.grpc.stub.ServerCalls.UnaryMethod, + io.grpc.stub.ServerCalls.ServerStreamingMethod, + io.grpc.stub.ServerCalls.ClientStreamingMethod, + io.grpc.stub.ServerCalls.BidiStreamingMethod { + private final AsyncService serviceImpl; + private final int methodId; + + MethodHandlers(AsyncService serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + case METHODID_LIST_BLOCKCHAIN_NODES: + serviceImpl.listBlockchainNodes( + (com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse>) + responseObserver); + break; + case METHODID_GET_BLOCKCHAIN_NODE: + serviceImpl.getBlockchainNode( + (com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_CREATE_BLOCKCHAIN_NODE: + serviceImpl.createBlockchainNode( + (com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_UPDATE_BLOCKCHAIN_NODE: + serviceImpl.updateBlockchainNode( + (com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_BLOCKCHAIN_NODE: + serviceImpl.deleteBlockchainNode( + (com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver invoke( + io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getListBlockchainNodesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse>( + service, METHODID_LIST_BLOCKCHAIN_NODES))) + .addMethod( + getGetBlockchainNodeMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode>( + service, METHODID_GET_BLOCKCHAIN_NODE))) + .addMethod( + getCreateBlockchainNodeMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest, + com.google.longrunning.Operation>(service, METHODID_CREATE_BLOCKCHAIN_NODE))) + .addMethod( + getUpdateBlockchainNodeMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest, + com.google.longrunning.Operation>(service, METHODID_UPDATE_BLOCKCHAIN_NODE))) + .addMethod( + getDeleteBlockchainNodeMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest, + com.google.longrunning.Operation>(service, METHODID_DELETE_BLOCKCHAIN_NODE))) + .build(); + } + + private abstract static class BlockchainNodeEngineBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, + io.grpc.protobuf.ProtoServiceDescriptorSupplier { + BlockchainNodeEngineBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("BlockchainNodeEngine"); + } + } + + private static final class BlockchainNodeEngineFileDescriptorSupplier + extends BlockchainNodeEngineBaseDescriptorSupplier { + BlockchainNodeEngineFileDescriptorSupplier() {} + } + + private static final class BlockchainNodeEngineMethodDescriptorSupplier + extends BlockchainNodeEngineBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final java.lang.String methodName; + + BlockchainNodeEngineMethodDescriptorSupplier(java.lang.String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (BlockchainNodeEngineGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = + result = + io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new BlockchainNodeEngineFileDescriptorSupplier()) + .addMethod(getListBlockchainNodesMethod()) + .addMethod(getGetBlockchainNodeMethod()) + .addMethod(getCreateBlockchainNodeMethod()) + .addMethod(getUpdateBlockchainNodeMethod()) + .addMethod(getDeleteBlockchainNodeMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/java-blockchainnodeengine/pom.xml b/java-blockchainnodeengine/pom.xml new file mode 100644 index 000000000000..e5c14bf23d49 --- /dev/null +++ b/java-blockchainnodeengine/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + com.google.cloud + google-cloud-blockchainnodeengine-parent + pom + 0.1.0-SNAPSHOT + Google Blockchain Node Engine Parent + + Java idiomatic client for Google Cloud Platform services. + + + + com.google.cloud + google-cloud-jar-parent + 1.90.0-SNAPSHOT + ../google-cloud-jar-parent/pom.xml + + + + UTF-8 + UTF-8 + github + google-cloud-blockchainnodeengine-parent + + + + + + + com.google.cloud + google-cloud-blockchainnodeengine + 0.1.0-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-blockchainnodeengine-v1 + 0.1.0-SNAPSHOT + + + com.google.api.grpc + proto-google-cloud-blockchainnodeengine-v1 + 0.1.0-SNAPSHOT + + + + + + + + google-cloud-blockchainnodeengine + grpc-google-cloud-blockchainnodeengine-v1 + proto-google-cloud-blockchainnodeengine-v1 + + google-cloud-blockchainnodeengine-bom + + + \ No newline at end of file diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/clirr-ignored-differences.xml b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/clirr-ignored-differences.xml new file mode 100644 index 000000000000..9703be4d3e6e --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/clirr-ignored-differences.xml @@ -0,0 +1,80 @@ + + + + + 7012 + com/google/cloud/blockchainnodeengine/v1/*OrBuilder + * get*(*) + + + 7012 + com/google/cloud/blockchainnodeengine/v1/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/cloud/blockchainnodeengine/v1/*OrBuilder + boolean has*(*) + + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * getDefaultInstanceForType() + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * addRepeatedField(*) + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * clear() + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * clearField(*) + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * clearOneof(*) + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * clone() + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * mergeUnknownFields(*) + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * setField(*) + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * setRepeatedField(*) + ** + + + 7006 + com/google/cloud/blockchainnodeengine/v1/** + * setUnknownFields(*) + ** + + diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/pom.xml b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/pom.xml new file mode 100644 index 000000000000..8b64f0304513 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/pom.xml @@ -0,0 +1,41 @@ + + 4.0.0 + com.google.api.grpc + proto-google-cloud-blockchainnodeengine-v1 + 0.1.0-SNAPSHOT + proto-google-cloud-blockchainnodeengine-v1 + Proto library for google-cloud-blockchainnodeengine + + com.google.cloud + google-cloud-blockchainnodeengine-parent + 0.1.0-SNAPSHOT + + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-iam-v1 + + + com.google.api + api-common + + + com.google.guava + guava + + + org.jspecify + jspecify + + + diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNode.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNode.java new file mode 100644 index 000000000000..17e033f8e3f0 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNode.java @@ -0,0 +1,12671 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * A representation of a blockchain node.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.BlockchainNode} + */ +@com.google.protobuf.Generated +public final class BlockchainNode extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode) + BlockchainNodeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "BlockchainNode"); + } + + // Use BlockchainNode.newBuilder() to construct. + private BlockchainNode(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private BlockchainNode() { + name_ = ""; + blockchainType_ = 0; + state_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 4: + return internalGetLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder.class); + } + + /** + * + * + *
+   * The blockchain type of the node.
+   * 
+ * + * Protobuf enum {@code google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType} + */ + public enum BlockchainType implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Blockchain type has not been specified, but should be.
+     * 
+ * + * BLOCKCHAIN_TYPE_UNSPECIFIED = 0; + */ + BLOCKCHAIN_TYPE_UNSPECIFIED(0), + /** + * + * + *
+     * The blockchain type is Ethereum.
+     * 
+ * + * ETHEREUM = 1; + */ + ETHEREUM(1), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "BlockchainType"); + } + + /** + * + * + *
+     * Blockchain type has not been specified, but should be.
+     * 
+ * + * BLOCKCHAIN_TYPE_UNSPECIFIED = 0; + */ + public static final int BLOCKCHAIN_TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * The blockchain type is Ethereum.
+     * 
+ * + * ETHEREUM = 1; + */ + public static final int ETHEREUM_VALUE = 1; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static BlockchainType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static BlockchainType forNumber(int value) { + switch (value) { + case 0: + return BLOCKCHAIN_TYPE_UNSPECIFIED; + case 1: + return ETHEREUM; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public BlockchainType findValueByNumber(int number) { + return BlockchainType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final BlockchainType[] VALUES = values(); + + public static BlockchainType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private BlockchainType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType) + } + + /** + * + * + *
+   * All possible states for a given blockchain node.
+   * 
+ * + * Protobuf enum {@code google.cloud.blockchainnodeengine.v1.BlockchainNode.State} + */ + public enum State implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * The state has not been specified.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + STATE_UNSPECIFIED(0), + /** + * + * + *
+     * The node has been requested and is in the process of being created.
+     * 
+ * + * CREATING = 1; + */ + CREATING(1), + /** + * + * + *
+     * The existing node is undergoing deletion, but is not yet finished.
+     * 
+ * + * DELETING = 2; + */ + DELETING(2), + /** + * + * + *
+     * The node is running and ready for use.
+     * 
+ * + * RUNNING = 4; + */ + RUNNING(4), + /** + * + * + *
+     * The node is in an unexpected or errored state.
+     * 
+ * + * ERROR = 5; + */ + ERROR(5), + /** + * + * + *
+     * The node is currently being updated.
+     * 
+ * + * UPDATING = 6; + */ + UPDATING(6), + /** + * + * + *
+     * The node is currently being repaired.
+     * 
+ * + * REPAIRING = 7; + */ + REPAIRING(7), + /** + * + * + *
+     * The node is currently being reconciled.
+     * 
+ * + * RECONCILING = 8; + */ + RECONCILING(8), + /** + * + * + *
+     * The node is syncing, which is the process by which it obtains the latest
+     * block and current global state.
+     * 
+ * + * SYNCING = 9; + */ + SYNCING(9), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "State"); + } + + /** + * + * + *
+     * The state has not been specified.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + public static final int STATE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * The node has been requested and is in the process of being created.
+     * 
+ * + * CREATING = 1; + */ + public static final int CREATING_VALUE = 1; + + /** + * + * + *
+     * The existing node is undergoing deletion, but is not yet finished.
+     * 
+ * + * DELETING = 2; + */ + public static final int DELETING_VALUE = 2; + + /** + * + * + *
+     * The node is running and ready for use.
+     * 
+ * + * RUNNING = 4; + */ + public static final int RUNNING_VALUE = 4; + + /** + * + * + *
+     * The node is in an unexpected or errored state.
+     * 
+ * + * ERROR = 5; + */ + public static final int ERROR_VALUE = 5; + + /** + * + * + *
+     * The node is currently being updated.
+     * 
+ * + * UPDATING = 6; + */ + public static final int UPDATING_VALUE = 6; + + /** + * + * + *
+     * The node is currently being repaired.
+     * 
+ * + * REPAIRING = 7; + */ + public static final int REPAIRING_VALUE = 7; + + /** + * + * + *
+     * The node is currently being reconciled.
+     * 
+ * + * RECONCILING = 8; + */ + public static final int RECONCILING_VALUE = 8; + + /** + * + * + *
+     * The node is syncing, which is the process by which it obtains the latest
+     * block and current global state.
+     * 
+ * + * SYNCING = 9; + */ + public static final int SYNCING_VALUE = 9; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static State valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static State forNumber(int value) { + switch (value) { + case 0: + return STATE_UNSPECIFIED; + case 1: + return CREATING; + case 2: + return DELETING; + case 4: + return RUNNING; + case 5: + return ERROR; + case 6: + return UPDATING; + case 7: + return REPAIRING; + case 8: + return RECONCILING; + case 9: + return SYNCING; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public State findValueByNumber(int number) { + return State.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final State[] VALUES = values(); + + public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private State(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.State) + } + + public interface ConnectionInfoOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. The endpoint information through which to interact with a
+     * blockchain node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endpointInfo field is set. + */ + boolean hasEndpointInfo(); + + /** + * + * + *
+     * Output only. The endpoint information through which to interact with a
+     * blockchain node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endpointInfo. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + getEndpointInfo(); + + /** + * + * + *
+     * Output only. The endpoint information through which to interact with a
+     * blockchain node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfoOrBuilder + getEndpointInfoOrBuilder(); + + /** + * + * + *
+     * Output only. A service attachment that exposes a node, and has the
+     * following format:
+     * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+     * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceAttachment. + */ + java.lang.String getServiceAttachment(); + + /** + * + * + *
+     * Output only. A service attachment that exposes a node, and has the
+     * following format:
+     * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+     * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceAttachment. + */ + com.google.protobuf.ByteString getServiceAttachmentBytes(); + } + + /** + * + * + *
+   * The connection information through which to interact with a blockchain
+   * node.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo} + */ + public static final class ConnectionInfo extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) + ConnectionInfoOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ConnectionInfo"); + } + + // Use ConnectionInfo.newBuilder() to construct. + private ConnectionInfo(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ConnectionInfo() { + serviceAttachment_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder.class); + } + + public interface EndpointInfoOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The assigned URL for the node JSON-RPC API endpoint.
+       * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The jsonRpcApiEndpoint. + */ + java.lang.String getJsonRpcApiEndpoint(); + + /** + * + * + *
+       * Output only. The assigned URL for the node JSON-RPC API endpoint.
+       * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for jsonRpcApiEndpoint. + */ + com.google.protobuf.ByteString getJsonRpcApiEndpointBytes(); + + /** + * + * + *
+       * Output only. The assigned URL for the node WebSockets API endpoint.
+       * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The websocketsApiEndpoint. + */ + java.lang.String getWebsocketsApiEndpoint(); + + /** + * + * + *
+       * Output only. The assigned URL for the node WebSockets API endpoint.
+       * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for websocketsApiEndpoint. + */ + com.google.protobuf.ByteString getWebsocketsApiEndpointBytes(); + } + + /** + * + * + *
+     * Contains endpoint information through which to interact with a blockchain
+     * node.
+     * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo} + */ + public static final class EndpointInfo extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) + EndpointInfoOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "EndpointInfo"); + } + + // Use EndpointInfo.newBuilder() to construct. + private EndpointInfo(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private EndpointInfo() { + jsonRpcApiEndpoint_ = ""; + websocketsApiEndpoint_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .Builder.class); + } + + public static final int JSON_RPC_API_ENDPOINT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object jsonRpcApiEndpoint_ = ""; + + /** + * + * + *
+       * Output only. The assigned URL for the node JSON-RPC API endpoint.
+       * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The jsonRpcApiEndpoint. + */ + @java.lang.Override + public java.lang.String getJsonRpcApiEndpoint() { + java.lang.Object ref = jsonRpcApiEndpoint_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + jsonRpcApiEndpoint_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The assigned URL for the node JSON-RPC API endpoint.
+       * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for jsonRpcApiEndpoint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getJsonRpcApiEndpointBytes() { + java.lang.Object ref = jsonRpcApiEndpoint_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + jsonRpcApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int WEBSOCKETS_API_ENDPOINT_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object websocketsApiEndpoint_ = ""; + + /** + * + * + *
+       * Output only. The assigned URL for the node WebSockets API endpoint.
+       * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The websocketsApiEndpoint. + */ + @java.lang.Override + public java.lang.String getWebsocketsApiEndpoint() { + java.lang.Object ref = websocketsApiEndpoint_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + websocketsApiEndpoint_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The assigned URL for the node WebSockets API endpoint.
+       * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for websocketsApiEndpoint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getWebsocketsApiEndpointBytes() { + java.lang.Object ref = websocketsApiEndpoint_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + websocketsApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(jsonRpcApiEndpoint_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, jsonRpcApiEndpoint_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(websocketsApiEndpoint_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, websocketsApiEndpoint_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(jsonRpcApiEndpoint_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, jsonRpcApiEndpoint_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(websocketsApiEndpoint_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, websocketsApiEndpoint_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) + obj; + + if (!getJsonRpcApiEndpoint().equals(other.getJsonRpcApiEndpoint())) return false; + if (!getWebsocketsApiEndpoint().equals(other.getWebsocketsApiEndpoint())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + JSON_RPC_API_ENDPOINT_FIELD_NUMBER; + hash = (53 * hash) + getJsonRpcApiEndpoint().hashCode(); + hash = (37 * hash) + WEBSOCKETS_API_ENDPOINT_FIELD_NUMBER; + hash = (53 * hash) + getWebsocketsApiEndpoint().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Contains endpoint information through which to interact with a blockchain
+       * node.
+       * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + jsonRpcApiEndpoint_ = ""; + websocketsApiEndpoint_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.jsonRpcApiEndpoint_ = jsonRpcApiEndpoint_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.websocketsApiEndpoint_ = websocketsApiEndpoint_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .getDefaultInstance()) return this; + if (!other.getJsonRpcApiEndpoint().isEmpty()) { + jsonRpcApiEndpoint_ = other.jsonRpcApiEndpoint_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getWebsocketsApiEndpoint().isEmpty()) { + websocketsApiEndpoint_ = other.websocketsApiEndpoint_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + jsonRpcApiEndpoint_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + websocketsApiEndpoint_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object jsonRpcApiEndpoint_ = ""; + + /** + * + * + *
+         * Output only. The assigned URL for the node JSON-RPC API endpoint.
+         * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The jsonRpcApiEndpoint. + */ + public java.lang.String getJsonRpcApiEndpoint() { + java.lang.Object ref = jsonRpcApiEndpoint_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + jsonRpcApiEndpoint_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node JSON-RPC API endpoint.
+         * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for jsonRpcApiEndpoint. + */ + public com.google.protobuf.ByteString getJsonRpcApiEndpointBytes() { + java.lang.Object ref = jsonRpcApiEndpoint_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + jsonRpcApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node JSON-RPC API endpoint.
+         * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The jsonRpcApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setJsonRpcApiEndpoint(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + jsonRpcApiEndpoint_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node JSON-RPC API endpoint.
+         * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearJsonRpcApiEndpoint() { + jsonRpcApiEndpoint_ = getDefaultInstance().getJsonRpcApiEndpoint(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node JSON-RPC API endpoint.
+         * 
+ * + * string json_rpc_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes for jsonRpcApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setJsonRpcApiEndpointBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + jsonRpcApiEndpoint_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object websocketsApiEndpoint_ = ""; + + /** + * + * + *
+         * Output only. The assigned URL for the node WebSockets API endpoint.
+         * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The websocketsApiEndpoint. + */ + public java.lang.String getWebsocketsApiEndpoint() { + java.lang.Object ref = websocketsApiEndpoint_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + websocketsApiEndpoint_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node WebSockets API endpoint.
+         * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for websocketsApiEndpoint. + */ + public com.google.protobuf.ByteString getWebsocketsApiEndpointBytes() { + java.lang.Object ref = websocketsApiEndpoint_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + websocketsApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node WebSockets API endpoint.
+         * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The websocketsApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setWebsocketsApiEndpoint(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + websocketsApiEndpoint_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node WebSockets API endpoint.
+         * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearWebsocketsApiEndpoint() { + websocketsApiEndpoint_ = getDefaultInstance().getWebsocketsApiEndpoint(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node WebSockets API endpoint.
+         * 
+ * + * string websockets_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes for websocketsApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setWebsocketsApiEndpointBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + websocketsApiEndpoint_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public EndpointInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int ENDPOINT_INFO_FIELD_NUMBER = 2; + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + endpointInfo_; + + /** + * + * + *
+     * Output only. The endpoint information through which to interact with a
+     * blockchain node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endpointInfo field is set. + */ + @java.lang.Override + public boolean hasEndpointInfo() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The endpoint information through which to interact with a
+     * blockchain node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endpointInfo. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + getEndpointInfo() { + return endpointInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .getDefaultInstance() + : endpointInfo_; + } + + /** + * + * + *
+     * Output only. The endpoint information through which to interact with a
+     * blockchain node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfoOrBuilder + getEndpointInfoOrBuilder() { + return endpointInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .getDefaultInstance() + : endpointInfo_; + } + + public static final int SERVICE_ATTACHMENT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceAttachment_ = ""; + + /** + * + * + *
+     * Output only. A service attachment that exposes a node, and has the
+     * following format:
+     * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+     * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceAttachment. + */ + @java.lang.Override + public java.lang.String getServiceAttachment() { + java.lang.Object ref = serviceAttachment_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAttachment_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. A service attachment that exposes a node, and has the
+     * following format:
+     * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+     * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceAttachment. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceAttachmentBytes() { + java.lang.Object ref = serviceAttachment_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAttachment_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getEndpointInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceAttachment_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, serviceAttachment_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEndpointInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceAttachment_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, serviceAttachment_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) obj; + + if (hasEndpointInfo() != other.hasEndpointInfo()) return false; + if (hasEndpointInfo()) { + if (!getEndpointInfo().equals(other.getEndpointInfo())) return false; + } + if (!getServiceAttachment().equals(other.getServiceAttachment())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEndpointInfo()) { + hash = (37 * hash) + ENDPOINT_INFO_FIELD_NUMBER; + hash = (53 * hash) + getEndpointInfo().hashCode(); + } + hash = (37 * hash) + SERVICE_ATTACHMENT_FIELD_NUMBER; + hash = (53 * hash) + getServiceAttachment().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The connection information through which to interact with a blockchain
+     * node.
+     * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder + .class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetEndpointInfoFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + endpointInfo_ = null; + if (endpointInfoBuilder_ != null) { + endpointInfoBuilder_.dispose(); + endpointInfoBuilder_ = null; + } + serviceAttachment_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.endpointInfo_ = + endpointInfoBuilder_ == null ? endpointInfo_ : endpointInfoBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.serviceAttachment_ = serviceAttachment_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance()) return this; + if (other.hasEndpointInfo()) { + mergeEndpointInfo(other.getEndpointInfo()); + } + if (!other.getServiceAttachment().isEmpty()) { + serviceAttachment_ = other.serviceAttachment_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: + { + input.readMessage( + internalGetEndpointInfoFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 18 + case 26: + { + serviceAttachment_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + endpointInfo_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfoOrBuilder> + endpointInfoBuilder_; + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endpointInfo field is set. + */ + public boolean hasEndpointInfo() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endpointInfo. + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + getEndpointInfo() { + if (endpointInfoBuilder_ == null) { + return endpointInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .getDefaultInstance() + : endpointInfo_; + } else { + return endpointInfoBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndpointInfo( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + value) { + if (endpointInfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endpointInfo_ = value; + } else { + endpointInfoBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndpointInfo( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .Builder + builderForValue) { + if (endpointInfoBuilder_ == null) { + endpointInfo_ = builderForValue.build(); + } else { + endpointInfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEndpointInfo( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + value) { + if (endpointInfoBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && endpointInfo_ != null + && endpointInfo_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo.getDefaultInstance()) { + getEndpointInfoBuilder().mergeFrom(value); + } else { + endpointInfo_ = value; + } + } else { + endpointInfoBuilder_.mergeFrom(value); + } + if (endpointInfo_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEndpointInfo() { + bitField0_ = (bitField0_ & ~0x00000001); + endpointInfo_ = null; + if (endpointInfoBuilder_ != null) { + endpointInfoBuilder_.dispose(); + endpointInfoBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .Builder + getEndpointInfoBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetEndpointInfoFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfoOrBuilder + getEndpointInfoOrBuilder() { + if (endpointInfoBuilder_ != null) { + return endpointInfoBuilder_.getMessageOrBuilder(); + } else { + return endpointInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .getDefaultInstance() + : endpointInfo_; + } + } + + /** + * + * + *
+       * Output only. The endpoint information through which to interact with a
+       * blockchain node.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo endpoint_info = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.EndpointInfo + .Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfoOrBuilder> + internalGetEndpointInfoFieldBuilder() { + if (endpointInfoBuilder_ == null) { + endpointInfoBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfo.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .EndpointInfoOrBuilder>(getEndpointInfo(), getParentForChildren(), isClean()); + endpointInfo_ = null; + } + return endpointInfoBuilder_; + } + + private java.lang.Object serviceAttachment_ = ""; + + /** + * + * + *
+       * Output only. A service attachment that exposes a node, and has the
+       * following format:
+       * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+       * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceAttachment. + */ + public java.lang.String getServiceAttachment() { + java.lang.Object ref = serviceAttachment_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAttachment_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. A service attachment that exposes a node, and has the
+       * following format:
+       * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+       * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceAttachment. + */ + public com.google.protobuf.ByteString getServiceAttachmentBytes() { + java.lang.Object ref = serviceAttachment_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAttachment_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. A service attachment that exposes a node, and has the
+       * following format:
+       * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+       * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The serviceAttachment to set. + * @return This builder for chaining. + */ + public Builder setServiceAttachment(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceAttachment_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A service attachment that exposes a node, and has the
+       * following format:
+       * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+       * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearServiceAttachment() { + serviceAttachment_ = getDefaultInstance().getServiceAttachment(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A service attachment that exposes a node, and has the
+       * following format:
+       * projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
+       * 
+ * + * string service_attachment = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for serviceAttachment to set. + * @return This builder for chaining. + */ + public Builder setServiceAttachmentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceAttachment_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface EthereumDetailsOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Details for the Geth execution client.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + * + * @return Whether the gethDetails field is set. + */ + boolean hasGethDetails(); + + /** + * + * + *
+     * Details for the Geth execution client.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + * + * @return The gethDetails. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + getGethDetails(); + + /** + * + * + *
+     * Details for the Geth execution client.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetailsOrBuilder + getGethDetailsOrBuilder(); + + /** + * + * + *
+     * Immutable. The Ethereum environment being accessed.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the network field is set. + */ + boolean hasNetwork(); + + /** + * + * + *
+     * Immutable. The Ethereum environment being accessed.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for network. + */ + int getNetworkValue(); + + /** + * + * + *
+     * Immutable. The Ethereum environment being accessed.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The network. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network getNetwork(); + + /** + * + * + *
+     * Immutable. The type of Ethereum node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the nodeType field is set. + */ + boolean hasNodeType(); + + /** + * + * + *
+     * Immutable. The type of Ethereum node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for nodeType. + */ + int getNodeTypeValue(); + + /** + * + * + *
+     * Immutable. The type of Ethereum node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The nodeType. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType getNodeType(); + + /** + * + * + *
+     * Immutable. The execution client
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the executionClient field is set. + */ + boolean hasExecutionClient(); + + /** + * + * + *
+     * Immutable. The execution client
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for executionClient. + */ + int getExecutionClientValue(); + + /** + * + * + *
+     * Immutable. The execution client
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The executionClient. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + getExecutionClient(); + + /** + * + * + *
+     * Immutable. The consensus client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the consensusClient field is set. + */ + boolean hasConsensusClient(); + + /** + * + * + *
+     * Immutable. The consensus client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for consensusClient. + */ + int getConsensusClientValue(); + + /** + * + * + *
+     * Immutable. The consensus client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The consensusClient. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + getConsensusClient(); + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the apiEnableAdmin field is set. + */ + boolean hasApiEnableAdmin(); + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The apiEnableAdmin. + */ + boolean getApiEnableAdmin(); + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the apiEnableDebug field is set. + */ + boolean hasApiEnableDebug(); + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The apiEnableDebug. + */ + boolean getApiEnableDebug(); + + /** + * + * + *
+     * Output only. Ethereum-specific endpoint information.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the additionalEndpoints field is set. + */ + boolean hasAdditionalEndpoints(); + + /** + * + * + *
+     * Output only. Ethereum-specific endpoint information.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The additionalEndpoints. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + getAdditionalEndpoints(); + + /** + * + * + *
+     * Output only. Ethereum-specific endpoint information.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder + getAdditionalEndpointsOrBuilder(); + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + * + * @return Whether the validatorConfig field is set. + */ + boolean hasValidatorConfig(); + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + * + * @return The validatorConfig. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + getValidatorConfig(); + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfigOrBuilder + getValidatorConfigOrBuilder(); + + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ExecutionClientDetailsCase + getExecutionClientDetailsCase(); + } + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails} + */ + public static final class EthereumDetails extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + EthereumDetailsOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "EthereumDetails"); + } + + // Use EthereumDetails.newBuilder() to construct. + private EthereumDetails(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private EthereumDetails() { + network_ = 0; + nodeType_ = 0; + executionClient_ = 0; + consensusClient_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder + .class); + } + + /** + * + * + *
+     * The Ethereum environment being accessed.
+     *
+     * See [Networks](https://ethereum.org/en/developers/docs/networks)
+     * for more details.
+     * 
+ * + * Protobuf enum {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network} + */ + public enum Network implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * The network has not been specified, but should be.
+       * 
+ * + * NETWORK_UNSPECIFIED = 0; + */ + NETWORK_UNSPECIFIED(0), + /** + * + * + *
+       * The Ethereum Mainnet.
+       * 
+ * + * MAINNET = 1; + */ + MAINNET(1), + /** + * + * + *
+       * Deprecated: The Ethereum Testnet based on Goerli protocol. Please
+       * use another test network.
+       * 
+ * + * TESTNET_GOERLI_PRATER = 2 [deprecated = true]; + */ + @java.lang.Deprecated + TESTNET_GOERLI_PRATER(2), + /** + * + * + *
+       * The Ethereum Testnet based on Sepolia/Bepolia protocol.
+       * See https://github.com/eth-clients/sepolia.
+       * 
+ * + * TESTNET_SEPOLIA = 3; + */ + TESTNET_SEPOLIA(3), + /** + * + * + *
+       * The Ethereum Testnet based on Holesky specification.
+       * See https://github.com/eth-clients/holesky.
+       * 
+ * + * TESTNET_HOLESKY = 4; + */ + TESTNET_HOLESKY(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "Network"); + } + + /** + * + * + *
+       * The network has not been specified, but should be.
+       * 
+ * + * NETWORK_UNSPECIFIED = 0; + */ + public static final int NETWORK_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * The Ethereum Mainnet.
+       * 
+ * + * MAINNET = 1; + */ + public static final int MAINNET_VALUE = 1; + + /** + * + * + *
+       * Deprecated: The Ethereum Testnet based on Goerli protocol. Please
+       * use another test network.
+       * 
+ * + * TESTNET_GOERLI_PRATER = 2 [deprecated = true]; + */ + @java.lang.Deprecated public static final int TESTNET_GOERLI_PRATER_VALUE = 2; + + /** + * + * + *
+       * The Ethereum Testnet based on Sepolia/Bepolia protocol.
+       * See https://github.com/eth-clients/sepolia.
+       * 
+ * + * TESTNET_SEPOLIA = 3; + */ + public static final int TESTNET_SEPOLIA_VALUE = 3; + + /** + * + * + *
+       * The Ethereum Testnet based on Holesky specification.
+       * See https://github.com/eth-clients/holesky.
+       * 
+ * + * TESTNET_HOLESKY = 4; + */ + public static final int TESTNET_HOLESKY_VALUE = 4; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Network valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Network forNumber(int value) { + switch (value) { + case 0: + return NETWORK_UNSPECIFIED; + case 1: + return MAINNET; + case 2: + return TESTNET_GOERLI_PRATER; + case 3: + return TESTNET_SEPOLIA; + case 4: + return TESTNET_HOLESKY; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Network findValueByNumber(int number) { + return Network.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Network[] VALUES = values(); + + public static Network valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Network(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network) + } + + /** + * + * + *
+     * The type of Ethereum node.
+     *
+     * See
+     * [Node
+     * Types](https://ethereum.org/en/developers/docs/nodes-and-clients/#node-types)
+     * for more details.
+     * 
+ * + * Protobuf enum {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType} + */ + public enum NodeType implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Node type has not been specified, but should be.
+       * 
+ * + * NODE_TYPE_UNSPECIFIED = 0; + */ + NODE_TYPE_UNSPECIFIED(0), + /** + * + * + *
+       * An Ethereum node that only downloads Ethereum block headers.
+       * 
+ * + * LIGHT = 1; + */ + LIGHT(1), + /** + * + * + *
+       * Keeps a complete copy of the blockchain data, and contributes to the
+       * network by receiving, validating, and forwarding transactions.
+       * 
+ * + * FULL = 2; + */ + FULL(2), + /** + * + * + *
+       * Holds the same data as full node as well as all of the blockchain's
+       * history state data dating back to the Genesis Block.
+       * 
+ * + * ARCHIVE = 3; + */ + ARCHIVE(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "NodeType"); + } + + /** + * + * + *
+       * Node type has not been specified, but should be.
+       * 
+ * + * NODE_TYPE_UNSPECIFIED = 0; + */ + public static final int NODE_TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * An Ethereum node that only downloads Ethereum block headers.
+       * 
+ * + * LIGHT = 1; + */ + public static final int LIGHT_VALUE = 1; + + /** + * + * + *
+       * Keeps a complete copy of the blockchain data, and contributes to the
+       * network by receiving, validating, and forwarding transactions.
+       * 
+ * + * FULL = 2; + */ + public static final int FULL_VALUE = 2; + + /** + * + * + *
+       * Holds the same data as full node as well as all of the blockchain's
+       * history state data dating back to the Genesis Block.
+       * 
+ * + * ARCHIVE = 3; + */ + public static final int ARCHIVE_VALUE = 3; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static NodeType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static NodeType forNumber(int value) { + switch (value) { + case 0: + return NODE_TYPE_UNSPECIFIED; + case 1: + return LIGHT; + case 2: + return FULL; + case 3: + return ARCHIVE; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public NodeType findValueByNumber(int number) { + return NodeType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final NodeType[] VALUES = values(); + + public static NodeType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private NodeType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType) + } + + /** + * + * + *
+     * The execution client (i.e., Execution Engine or EL client) listens to new
+     * transactions broadcast in the network, executes them in EVM, and holds
+     * the latest state and database of all current Ethereum data.
+     *
+     * See
+     * [What are nodes and
+     * clients?](https://ethereum.org/en/developers/docs/nodes-and-clients/#what-are-nodes-and-clients)
+     * for more details.
+     * 
+ * + * Protobuf enum {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient} + */ + public enum ExecutionClient implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Execution client has not been specified, but should be.
+       * 
+ * + * EXECUTION_CLIENT_UNSPECIFIED = 0; + */ + EXECUTION_CLIENT_UNSPECIFIED(0), + /** + * + * + *
+       * Official Go implementation of the Ethereum protocol.
+       * See [go-ethereum](https://geth.ethereum.org/) for details.
+       * 
+ * + * GETH = 1; + */ + GETH(1), + /** + * + * + *
+       * An implementation of Ethereum (execution client), on the efficiency
+       * frontier, written in Go. See [Erigon on
+       * GitHub](https://github.com/ledgerwatch/erigon) for details.
+       * 
+ * + * ERIGON = 2; + */ + ERIGON(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ExecutionClient"); + } + + /** + * + * + *
+       * Execution client has not been specified, but should be.
+       * 
+ * + * EXECUTION_CLIENT_UNSPECIFIED = 0; + */ + public static final int EXECUTION_CLIENT_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * Official Go implementation of the Ethereum protocol.
+       * See [go-ethereum](https://geth.ethereum.org/) for details.
+       * 
+ * + * GETH = 1; + */ + public static final int GETH_VALUE = 1; + + /** + * + * + *
+       * An implementation of Ethereum (execution client), on the efficiency
+       * frontier, written in Go. See [Erigon on
+       * GitHub](https://github.com/ledgerwatch/erigon) for details.
+       * 
+ * + * ERIGON = 2; + */ + public static final int ERIGON_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ExecutionClient valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static ExecutionClient forNumber(int value) { + switch (value) { + case 0: + return EXECUTION_CLIENT_UNSPECIFIED; + case 1: + return GETH; + case 2: + return ERIGON; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ExecutionClient findValueByNumber(int number) { + return ExecutionClient.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDescriptor() + .getEnumTypes() + .get(2); + } + + private static final ExecutionClient[] VALUES = values(); + + public static ExecutionClient valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private ExecutionClient(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient) + } + + /** + * + * + *
+     * The consensus client (also referred to as beacon node or CL client)
+     * implements the proof-of-stake consensus algorithm, which enables the
+     * network to achieve agreement based on validated data from the
+     * execution client.
+     *
+     * See
+     * [What are nodes and
+     * clients?](https://ethereum.org/en/developers/docs/nodes-and-clients/#what-are-nodes-and-clients)
+     * for more details.
+     * 
+ * + * Protobuf enum {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient} + */ + public enum ConsensusClient implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Consensus client has not been specified, but should be.
+       * 
+ * + * CONSENSUS_CLIENT_UNSPECIFIED = 0; + */ + CONSENSUS_CLIENT_UNSPECIFIED(0), + /** + * + * + *
+       * Consensus client implementation written in Rust, maintained by Sigma
+       * Prime. See [Lighthouse - Sigma
+       * Prime](https://lighthouse.sigmaprime.io/) for details.
+       * 
+ * + * LIGHTHOUSE = 1; + */ + LIGHTHOUSE(1), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ConsensusClient"); + } + + /** + * + * + *
+       * Consensus client has not been specified, but should be.
+       * 
+ * + * CONSENSUS_CLIENT_UNSPECIFIED = 0; + */ + public static final int CONSENSUS_CLIENT_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * Consensus client implementation written in Rust, maintained by Sigma
+       * Prime. See [Lighthouse - Sigma
+       * Prime](https://lighthouse.sigmaprime.io/) for details.
+       * 
+ * + * LIGHTHOUSE = 1; + */ + public static final int LIGHTHOUSE_VALUE = 1; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ConsensusClient valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static ConsensusClient forNumber(int value) { + switch (value) { + case 0: + return CONSENSUS_CLIENT_UNSPECIFIED; + case 1: + return LIGHTHOUSE; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ConsensusClient findValueByNumber(int number) { + return ConsensusClient.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDescriptor() + .getEnumTypes() + .get(3); + } + + private static final ConsensusClient[] VALUES = values(); + + public static ConsensusClient valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private ConsensusClient(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient) + } + + public interface GethDetailsOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Immutable. Blockchain garbage collection mode.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the garbageCollectionMode field is set. + */ + boolean hasGarbageCollectionMode(); + + /** + * + * + *
+       * Immutable. Blockchain garbage collection mode.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for garbageCollectionMode. + */ + int getGarbageCollectionModeValue(); + + /** + * + * + *
+       * Immutable. Blockchain garbage collection mode.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The garbageCollectionMode. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode + getGarbageCollectionMode(); + } + + /** + * + * + *
+     * Options for the Geth execution client.
+     *
+     * See [Command-line
+     * Options](https://geth.ethereum.org/docs/fundamentals/command-line-options)
+     * for more details.
+     * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails} + */ + public static final class GethDetails extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + GethDetailsOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "GethDetails"); + } + + // Use GethDetails.newBuilder() to construct. + private GethDetails(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GethDetails() { + garbageCollectionMode_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .Builder.class); + } + + /** + * + * + *
+       * Blockchain garbage collection modes. Only applicable when `NodeType` is
+       * `FULL` or `ARCHIVE`.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode} + */ + public enum GarbageCollectionMode implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * The garbage collection has not been specified.
+         * 
+ * + * GARBAGE_COLLECTION_MODE_UNSPECIFIED = 0; + */ + GARBAGE_COLLECTION_MODE_UNSPECIFIED(0), + /** + * + * + *
+         * Configures Geth's garbage collection so that older data not needed
+         * for a full node is deleted. This is the default mode when creating a
+         * full node.
+         * 
+ * + * FULL = 1; + */ + FULL(1), + /** + * + * + *
+         * Configures Geth's garbage collection so that old data is never
+         * deleted. This is the default mode when creating an archive node. This
+         * value can also be chosen when creating a full node in order to create
+         * a partial/recent archive node. See
+         * [Sync modes](https://geth.ethereum.org/docs/fundamentals/sync-modes)
+         * for more details.
+         * 
+ * + * ARCHIVE = 2; + */ + ARCHIVE(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "GarbageCollectionMode"); + } + + /** + * + * + *
+         * The garbage collection has not been specified.
+         * 
+ * + * GARBAGE_COLLECTION_MODE_UNSPECIFIED = 0; + */ + public static final int GARBAGE_COLLECTION_MODE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * Configures Geth's garbage collection so that older data not needed
+         * for a full node is deleted. This is the default mode when creating a
+         * full node.
+         * 
+ * + * FULL = 1; + */ + public static final int FULL_VALUE = 1; + + /** + * + * + *
+         * Configures Geth's garbage collection so that old data is never
+         * deleted. This is the default mode when creating an archive node. This
+         * value can also be chosen when creating a full node in order to create
+         * a partial/recent archive node. See
+         * [Sync modes](https://geth.ethereum.org/docs/fundamentals/sync-modes)
+         * for more details.
+         * 
+ * + * ARCHIVE = 2; + */ + public static final int ARCHIVE_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static GarbageCollectionMode valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static GarbageCollectionMode forNumber(int value) { + switch (value) { + case 0: + return GARBAGE_COLLECTION_MODE_UNSPECIFIED; + case 1: + return FULL; + case 2: + return ARCHIVE; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public GarbageCollectionMode findValueByNumber(int number) { + return GarbageCollectionMode.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final GarbageCollectionMode[] VALUES = values(); + + public static GarbageCollectionMode valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private GarbageCollectionMode(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode) + } + + private int bitField0_; + public static final int GARBAGE_COLLECTION_MODE_FIELD_NUMBER = 1; + private int garbageCollectionMode_ = 0; + + /** + * + * + *
+       * Immutable. Blockchain garbage collection mode.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the garbageCollectionMode field is set. + */ + @java.lang.Override + public boolean hasGarbageCollectionMode() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Immutable. Blockchain garbage collection mode.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for garbageCollectionMode. + */ + @java.lang.Override + public int getGarbageCollectionModeValue() { + return garbageCollectionMode_; + } + + /** + * + * + *
+       * Immutable. Blockchain garbage collection mode.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The garbageCollectionMode. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode + getGarbageCollectionMode() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode + result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode.forNumber(garbageCollectionMode_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode.UNRECOGNIZED + : result; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeEnum(1, garbageCollectionMode_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, garbageCollectionMode_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + obj; + + if (hasGarbageCollectionMode() != other.hasGarbageCollectionMode()) return false; + if (hasGarbageCollectionMode()) { + if (garbageCollectionMode_ != other.garbageCollectionMode_) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasGarbageCollectionMode()) { + hash = (37 * hash) + GARBAGE_COLLECTION_MODE_FIELD_NUMBER; + hash = (53 * hash) + garbageCollectionMode_; + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Options for the Geth execution client.
+       *
+       * See [Command-line
+       * Options](https://geth.ethereum.org/docs/fundamentals/command-line-options)
+       * for more details.
+       * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetailsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + garbageCollectionMode_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.garbageCollectionMode_ = garbageCollectionMode_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance()) return this; + if (other.hasGarbageCollectionMode()) { + setGarbageCollectionModeValue(other.getGarbageCollectionModeValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + garbageCollectionMode_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int garbageCollectionMode_ = 0; + + /** + * + * + *
+         * Immutable. Blockchain garbage collection mode.
+         * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the garbageCollectionMode field is set. + */ + @java.lang.Override + public boolean hasGarbageCollectionMode() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Immutable. Blockchain garbage collection mode.
+         * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for garbageCollectionMode. + */ + @java.lang.Override + public int getGarbageCollectionModeValue() { + return garbageCollectionMode_; + } + + /** + * + * + *
+         * Immutable. Blockchain garbage collection mode.
+         * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The enum numeric value on the wire for garbageCollectionMode to set. + * @return This builder for chaining. + */ + public Builder setGarbageCollectionModeValue(int value) { + garbageCollectionMode_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Immutable. Blockchain garbage collection mode.
+         * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The garbageCollectionMode. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode + getGarbageCollectionMode() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode + result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails.GarbageCollectionMode.forNumber(garbageCollectionMode_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Immutable. Blockchain garbage collection mode.
+         * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The garbageCollectionMode to set. + * @return This builder for chaining. + */ + public Builder setGarbageCollectionMode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .GarbageCollectionMode + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + garbageCollectionMode_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Immutable. Blockchain garbage collection mode.
+         * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails.GarbageCollectionMode garbage_collection_mode = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return This builder for chaining. + */ + public Builder clearGarbageCollectionMode() { + bitField0_ = (bitField0_ & ~0x00000001); + garbageCollectionMode_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GethDetails parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface EthereumEndpointsOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon API endpoint.
+       * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The beaconApiEndpoint. + */ + java.lang.String getBeaconApiEndpoint(); + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon API endpoint.
+       * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for beaconApiEndpoint. + */ + com.google.protobuf.ByteString getBeaconApiEndpointBytes(); + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon Prometheus metrics
+       * endpoint. See [Prometheus
+       * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+       * for more details.
+       * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The beaconPrometheusMetricsApiEndpoint. + */ + java.lang.String getBeaconPrometheusMetricsApiEndpoint(); + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon Prometheus metrics
+       * endpoint. See [Prometheus
+       * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+       * for more details.
+       * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for beaconPrometheusMetricsApiEndpoint. + */ + com.google.protobuf.ByteString getBeaconPrometheusMetricsApiEndpointBytes(); + + /** + * + * + *
+       * Output only. The assigned URL for the node's execution client's
+       * Prometheus metrics endpoint.
+       * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The executionClientPrometheusMetricsApiEndpoint. + */ + java.lang.String getExecutionClientPrometheusMetricsApiEndpoint(); + + /** + * + * + *
+       * Output only. The assigned URL for the node's execution client's
+       * Prometheus metrics endpoint.
+       * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for executionClientPrometheusMetricsApiEndpoint. + */ + com.google.protobuf.ByteString getExecutionClientPrometheusMetricsApiEndpointBytes(); + } + + /** + * + * + *
+     * Contains endpoint information specific to Ethereum nodes.
+     * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints} + */ + public static final class EthereumEndpoints extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints) + EthereumEndpointsOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "EthereumEndpoints"); + } + + // Use EthereumEndpoints.newBuilder() to construct. + private EthereumEndpoints(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private EthereumEndpoints() { + beaconApiEndpoint_ = ""; + beaconPrometheusMetricsApiEndpoint_ = ""; + executionClientPrometheusMetricsApiEndpoint_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.Builder.class); + } + + public static final int BEACON_API_ENDPOINT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object beaconApiEndpoint_ = ""; + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon API endpoint.
+       * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The beaconApiEndpoint. + */ + @java.lang.Override + public java.lang.String getBeaconApiEndpoint() { + java.lang.Object ref = beaconApiEndpoint_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + beaconApiEndpoint_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon API endpoint.
+       * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for beaconApiEndpoint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBeaconApiEndpointBytes() { + java.lang.Object ref = beaconApiEndpoint_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + beaconApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BEACON_PROMETHEUS_METRICS_API_ENDPOINT_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object beaconPrometheusMetricsApiEndpoint_ = ""; + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon Prometheus metrics
+       * endpoint. See [Prometheus
+       * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+       * for more details.
+       * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The beaconPrometheusMetricsApiEndpoint. + */ + @java.lang.Override + public java.lang.String getBeaconPrometheusMetricsApiEndpoint() { + java.lang.Object ref = beaconPrometheusMetricsApiEndpoint_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + beaconPrometheusMetricsApiEndpoint_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The assigned URL for the node's Beacon Prometheus metrics
+       * endpoint. See [Prometheus
+       * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+       * for more details.
+       * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for beaconPrometheusMetricsApiEndpoint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBeaconPrometheusMetricsApiEndpointBytes() { + java.lang.Object ref = beaconPrometheusMetricsApiEndpoint_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + beaconPrometheusMetricsApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EXECUTION_CLIENT_PROMETHEUS_METRICS_API_ENDPOINT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object executionClientPrometheusMetricsApiEndpoint_ = ""; + + /** + * + * + *
+       * Output only. The assigned URL for the node's execution client's
+       * Prometheus metrics endpoint.
+       * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The executionClientPrometheusMetricsApiEndpoint. + */ + @java.lang.Override + public java.lang.String getExecutionClientPrometheusMetricsApiEndpoint() { + java.lang.Object ref = executionClientPrometheusMetricsApiEndpoint_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + executionClientPrometheusMetricsApiEndpoint_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The assigned URL for the node's execution client's
+       * Prometheus metrics endpoint.
+       * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for executionClientPrometheusMetricsApiEndpoint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getExecutionClientPrometheusMetricsApiEndpointBytes() { + java.lang.Object ref = executionClientPrometheusMetricsApiEndpoint_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + executionClientPrometheusMetricsApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(beaconApiEndpoint_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, beaconApiEndpoint_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty( + beaconPrometheusMetricsApiEndpoint_)) { + com.google.protobuf.GeneratedMessage.writeString( + output, 2, beaconPrometheusMetricsApiEndpoint_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty( + executionClientPrometheusMetricsApiEndpoint_)) { + com.google.protobuf.GeneratedMessage.writeString( + output, 3, executionClientPrometheusMetricsApiEndpoint_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(beaconApiEndpoint_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, beaconApiEndpoint_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty( + beaconPrometheusMetricsApiEndpoint_)) { + size += + com.google.protobuf.GeneratedMessage.computeStringSize( + 2, beaconPrometheusMetricsApiEndpoint_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty( + executionClientPrometheusMetricsApiEndpoint_)) { + size += + com.google.protobuf.GeneratedMessage.computeStringSize( + 3, executionClientPrometheusMetricsApiEndpoint_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints) + obj; + + if (!getBeaconApiEndpoint().equals(other.getBeaconApiEndpoint())) return false; + if (!getBeaconPrometheusMetricsApiEndpoint() + .equals(other.getBeaconPrometheusMetricsApiEndpoint())) return false; + if (!getExecutionClientPrometheusMetricsApiEndpoint() + .equals(other.getExecutionClientPrometheusMetricsApiEndpoint())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + BEACON_API_ENDPOINT_FIELD_NUMBER; + hash = (53 * hash) + getBeaconApiEndpoint().hashCode(); + hash = (37 * hash) + BEACON_PROMETHEUS_METRICS_API_ENDPOINT_FIELD_NUMBER; + hash = (53 * hash) + getBeaconPrometheusMetricsApiEndpoint().hashCode(); + hash = (37 * hash) + EXECUTION_CLIENT_PROMETHEUS_METRICS_API_ENDPOINT_FIELD_NUMBER; + hash = (53 * hash) + getExecutionClientPrometheusMetricsApiEndpoint().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Contains endpoint information specific to Ethereum nodes.
+       * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints) + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + beaconApiEndpoint_ = ""; + beaconPrometheusMetricsApiEndpoint_ = ""; + executionClientPrometheusMetricsApiEndpoint_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.beaconApiEndpoint_ = beaconApiEndpoint_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.beaconPrometheusMetricsApiEndpoint_ = beaconPrometheusMetricsApiEndpoint_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.executionClientPrometheusMetricsApiEndpoint_ = + executionClientPrometheusMetricsApiEndpoint_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance()) return this; + if (!other.getBeaconApiEndpoint().isEmpty()) { + beaconApiEndpoint_ = other.beaconApiEndpoint_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getBeaconPrometheusMetricsApiEndpoint().isEmpty()) { + beaconPrometheusMetricsApiEndpoint_ = other.beaconPrometheusMetricsApiEndpoint_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getExecutionClientPrometheusMetricsApiEndpoint().isEmpty()) { + executionClientPrometheusMetricsApiEndpoint_ = + other.executionClientPrometheusMetricsApiEndpoint_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + beaconApiEndpoint_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + beaconPrometheusMetricsApiEndpoint_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + executionClientPrometheusMetricsApiEndpoint_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object beaconApiEndpoint_ = ""; + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon API endpoint.
+         * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The beaconApiEndpoint. + */ + public java.lang.String getBeaconApiEndpoint() { + java.lang.Object ref = beaconApiEndpoint_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + beaconApiEndpoint_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon API endpoint.
+         * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for beaconApiEndpoint. + */ + public com.google.protobuf.ByteString getBeaconApiEndpointBytes() { + java.lang.Object ref = beaconApiEndpoint_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + beaconApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon API endpoint.
+         * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The beaconApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setBeaconApiEndpoint(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + beaconApiEndpoint_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon API endpoint.
+         * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearBeaconApiEndpoint() { + beaconApiEndpoint_ = getDefaultInstance().getBeaconApiEndpoint(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon API endpoint.
+         * 
+ * + * string beacon_api_endpoint = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for beaconApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setBeaconApiEndpointBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + beaconApiEndpoint_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object beaconPrometheusMetricsApiEndpoint_ = ""; + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon Prometheus metrics
+         * endpoint. See [Prometheus
+         * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+         * for more details.
+         * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The beaconPrometheusMetricsApiEndpoint. + */ + public java.lang.String getBeaconPrometheusMetricsApiEndpoint() { + java.lang.Object ref = beaconPrometheusMetricsApiEndpoint_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + beaconPrometheusMetricsApiEndpoint_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon Prometheus metrics
+         * endpoint. See [Prometheus
+         * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+         * for more details.
+         * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for beaconPrometheusMetricsApiEndpoint. + */ + public com.google.protobuf.ByteString getBeaconPrometheusMetricsApiEndpointBytes() { + java.lang.Object ref = beaconPrometheusMetricsApiEndpoint_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + beaconPrometheusMetricsApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon Prometheus metrics
+         * endpoint. See [Prometheus
+         * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+         * for more details.
+         * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The beaconPrometheusMetricsApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setBeaconPrometheusMetricsApiEndpoint(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + beaconPrometheusMetricsApiEndpoint_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon Prometheus metrics
+         * endpoint. See [Prometheus
+         * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+         * for more details.
+         * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearBeaconPrometheusMetricsApiEndpoint() { + beaconPrometheusMetricsApiEndpoint_ = + getDefaultInstance().getBeaconPrometheusMetricsApiEndpoint(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's Beacon Prometheus metrics
+         * endpoint. See [Prometheus
+         * Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html)
+         * for more details.
+         * 
+ * + * + * string beacon_prometheus_metrics_api_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes for beaconPrometheusMetricsApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setBeaconPrometheusMetricsApiEndpointBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + beaconPrometheusMetricsApiEndpoint_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object executionClientPrometheusMetricsApiEndpoint_ = ""; + + /** + * + * + *
+         * Output only. The assigned URL for the node's execution client's
+         * Prometheus metrics endpoint.
+         * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The executionClientPrometheusMetricsApiEndpoint. + */ + public java.lang.String getExecutionClientPrometheusMetricsApiEndpoint() { + java.lang.Object ref = executionClientPrometheusMetricsApiEndpoint_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + executionClientPrometheusMetricsApiEndpoint_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's execution client's
+         * Prometheus metrics endpoint.
+         * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for executionClientPrometheusMetricsApiEndpoint. + */ + public com.google.protobuf.ByteString + getExecutionClientPrometheusMetricsApiEndpointBytes() { + java.lang.Object ref = executionClientPrometheusMetricsApiEndpoint_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + executionClientPrometheusMetricsApiEndpoint_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's execution client's
+         * Prometheus metrics endpoint.
+         * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The executionClientPrometheusMetricsApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setExecutionClientPrometheusMetricsApiEndpoint(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + executionClientPrometheusMetricsApiEndpoint_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's execution client's
+         * Prometheus metrics endpoint.
+         * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearExecutionClientPrometheusMetricsApiEndpoint() { + executionClientPrometheusMetricsApiEndpoint_ = + getDefaultInstance().getExecutionClientPrometheusMetricsApiEndpoint(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The assigned URL for the node's execution client's
+         * Prometheus metrics endpoint.
+         * 
+ * + * + * string execution_client_prometheus_metrics_api_endpoint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes for executionClientPrometheusMetricsApiEndpoint to set. + * @return This builder for chaining. + */ + public Builder setExecutionClientPrometheusMetricsApiEndpointBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + executionClientPrometheusMetricsApiEndpoint_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public EthereumEndpoints parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface ValidatorConfigOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return A list containing the mevRelayUrls. + */ + java.util.List getMevRelayUrlsList(); + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return The count of mevRelayUrls. + */ + int getMevRelayUrlsCount(); + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index of the element to return. + * @return The mevRelayUrls at the given index. + */ + java.lang.String getMevRelayUrls(int index); + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index of the value to return. + * @return The bytes of the mevRelayUrls at the given index. + */ + com.google.protobuf.ByteString getMevRelayUrlsBytes(int index); + + /** + * + * + *
+       * Immutable. When true, deploys a GCP-managed validator client alongside
+       * the beacon client.
+       * 
+ * + * + * bool managed_validator_client = 2 [deprecated = true, (.google.api.field_behavior) = IMMUTABLE]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig.managed_validator_client + * is deprecated. See + * google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=195 + * @return The managedValidatorClient. + */ + @java.lang.Deprecated + boolean getManagedValidatorClient(); + + /** + * + * + *
+       * An Ethereum address which the beacon client will send fee rewards to if
+       * no recipient is configured in the validator client.
+       *
+       * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+       * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+       * examples of how this is used.
+       *
+       * Note that while this is often described as "suggested", as we run the
+       * execution node we can trust the execution node, and therefore this is
+       * considered enforced.
+       * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return Whether the beaconFeeRecipient field is set. + */ + boolean hasBeaconFeeRecipient(); + + /** + * + * + *
+       * An Ethereum address which the beacon client will send fee rewards to if
+       * no recipient is configured in the validator client.
+       *
+       * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+       * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+       * examples of how this is used.
+       *
+       * Note that while this is often described as "suggested", as we run the
+       * execution node we can trust the execution node, and therefore this is
+       * considered enforced.
+       * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return The beaconFeeRecipient. + */ + java.lang.String getBeaconFeeRecipient(); + + /** + * + * + *
+       * An Ethereum address which the beacon client will send fee rewards to if
+       * no recipient is configured in the validator client.
+       *
+       * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+       * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+       * examples of how this is used.
+       *
+       * Note that while this is often described as "suggested", as we run the
+       * execution node we can trust the execution node, and therefore this is
+       * considered enforced.
+       * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return The bytes for beaconFeeRecipient. + */ + com.google.protobuf.ByteString getBeaconFeeRecipientBytes(); + } + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig} + */ + public static final class ValidatorConfig extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig) + ValidatorConfigOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ValidatorConfig"); + } + + // Use ValidatorConfig.newBuilder() to construct. + private ValidatorConfig(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ValidatorConfig() { + mevRelayUrls_ = com.google.protobuf.LazyStringArrayList.emptyList(); + beaconFeeRecipient_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.Builder.class); + } + + private int bitField0_; + public static final int MEV_RELAY_URLS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList mevRelayUrls_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return A list containing the mevRelayUrls. + */ + public com.google.protobuf.ProtocolStringList getMevRelayUrlsList() { + return mevRelayUrls_; + } + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return The count of mevRelayUrls. + */ + public int getMevRelayUrlsCount() { + return mevRelayUrls_.size(); + } + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index of the element to return. + * @return The mevRelayUrls at the given index. + */ + public java.lang.String getMevRelayUrls(int index) { + return mevRelayUrls_.get(index); + } + + /** + * + * + *
+       * URLs for MEV-relay services to use for block building. When set, a
+       * GCP-managed MEV-boost service is configured on the beacon client.
+       * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index of the value to return. + * @return The bytes of the mevRelayUrls at the given index. + */ + public com.google.protobuf.ByteString getMevRelayUrlsBytes(int index) { + return mevRelayUrls_.getByteString(index); + } + + public static final int MANAGED_VALIDATOR_CLIENT_FIELD_NUMBER = 2; + private boolean managedValidatorClient_ = false; + + /** + * + * + *
+       * Immutable. When true, deploys a GCP-managed validator client alongside
+       * the beacon client.
+       * 
+ * + * + * bool managed_validator_client = 2 [deprecated = true, (.google.api.field_behavior) = IMMUTABLE]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig.managed_validator_client + * is deprecated. See + * google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=195 + * @return The managedValidatorClient. + */ + @java.lang.Override + @java.lang.Deprecated + public boolean getManagedValidatorClient() { + return managedValidatorClient_; + } + + public static final int BEACON_FEE_RECIPIENT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object beaconFeeRecipient_ = ""; + + /** + * + * + *
+       * An Ethereum address which the beacon client will send fee rewards to if
+       * no recipient is configured in the validator client.
+       *
+       * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+       * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+       * examples of how this is used.
+       *
+       * Note that while this is often described as "suggested", as we run the
+       * execution node we can trust the execution node, and therefore this is
+       * considered enforced.
+       * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return Whether the beaconFeeRecipient field is set. + */ + @java.lang.Override + public boolean hasBeaconFeeRecipient() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * An Ethereum address which the beacon client will send fee rewards to if
+       * no recipient is configured in the validator client.
+       *
+       * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+       * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+       * examples of how this is used.
+       *
+       * Note that while this is often described as "suggested", as we run the
+       * execution node we can trust the execution node, and therefore this is
+       * considered enforced.
+       * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return The beaconFeeRecipient. + */ + @java.lang.Override + public java.lang.String getBeaconFeeRecipient() { + java.lang.Object ref = beaconFeeRecipient_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + beaconFeeRecipient_ = s; + return s; + } + } + + /** + * + * + *
+       * An Ethereum address which the beacon client will send fee rewards to if
+       * no recipient is configured in the validator client.
+       *
+       * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+       * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+       * examples of how this is used.
+       *
+       * Note that while this is often described as "suggested", as we run the
+       * execution node we can trust the execution node, and therefore this is
+       * considered enforced.
+       * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return The bytes for beaconFeeRecipient. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBeaconFeeRecipientBytes() { + java.lang.Object ref = beaconFeeRecipient_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + beaconFeeRecipient_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < mevRelayUrls_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, mevRelayUrls_.getRaw(i)); + } + if (managedValidatorClient_ != false) { + output.writeBool(2, managedValidatorClient_); + } + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, beaconFeeRecipient_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < mevRelayUrls_.size(); i++) { + dataSize += computeStringSizeNoTag(mevRelayUrls_.getRaw(i)); + } + size += dataSize; + size += 1 * getMevRelayUrlsList().size(); + } + if (managedValidatorClient_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, managedValidatorClient_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, beaconFeeRecipient_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig) + obj; + + if (!getMevRelayUrlsList().equals(other.getMevRelayUrlsList())) return false; + if (getManagedValidatorClient() != other.getManagedValidatorClient()) return false; + if (hasBeaconFeeRecipient() != other.hasBeaconFeeRecipient()) return false; + if (hasBeaconFeeRecipient()) { + if (!getBeaconFeeRecipient().equals(other.getBeaconFeeRecipient())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getMevRelayUrlsCount() > 0) { + hash = (37 * hash) + MEV_RELAY_URLS_FIELD_NUMBER; + hash = (53 * hash) + getMevRelayUrlsList().hashCode(); + } + hash = (37 * hash) + MANAGED_VALIDATOR_CLIENT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getManagedValidatorClient()); + if (hasBeaconFeeRecipient()) { + hash = (37 * hash) + BEACON_FEE_RECIPIENT_FIELD_NUMBER; + hash = (53 * hash) + getBeaconFeeRecipient().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * Protobuf type {@code + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig) + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + mevRelayUrls_ = com.google.protobuf.LazyStringArrayList.emptyList(); + managedValidatorClient_ = false; + beaconFeeRecipient_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + mevRelayUrls_.makeImmutable(); + result.mevRelayUrls_ = mevRelayUrls_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.managedValidatorClient_ = managedValidatorClient_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.beaconFeeRecipient_ = beaconFeeRecipient_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.getDefaultInstance()) return this; + if (!other.mevRelayUrls_.isEmpty()) { + if (mevRelayUrls_.isEmpty()) { + mevRelayUrls_ = other.mevRelayUrls_; + bitField0_ |= 0x00000001; + } else { + ensureMevRelayUrlsIsMutable(); + mevRelayUrls_.addAll(other.mevRelayUrls_); + } + onChanged(); + } + if (other.getManagedValidatorClient() != false) { + setManagedValidatorClient(other.getManagedValidatorClient()); + } + if (other.hasBeaconFeeRecipient()) { + beaconFeeRecipient_ = other.beaconFeeRecipient_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureMevRelayUrlsIsMutable(); + mevRelayUrls_.add(s); + break; + } // case 10 + case 16: + { + managedValidatorClient_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + beaconFeeRecipient_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.LazyStringArrayList mevRelayUrls_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureMevRelayUrlsIsMutable() { + if (!mevRelayUrls_.isModifiable()) { + mevRelayUrls_ = new com.google.protobuf.LazyStringArrayList(mevRelayUrls_); + } + bitField0_ |= 0x00000001; + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return A list containing the mevRelayUrls. + */ + public com.google.protobuf.ProtocolStringList getMevRelayUrlsList() { + mevRelayUrls_.makeImmutable(); + return mevRelayUrls_; + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return The count of mevRelayUrls. + */ + public int getMevRelayUrlsCount() { + return mevRelayUrls_.size(); + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index of the element to return. + * @return The mevRelayUrls at the given index. + */ + public java.lang.String getMevRelayUrls(int index) { + return mevRelayUrls_.get(index); + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index of the value to return. + * @return The bytes of the mevRelayUrls at the given index. + */ + public com.google.protobuf.ByteString getMevRelayUrlsBytes(int index) { + return mevRelayUrls_.getByteString(index); + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param index The index to set the value at. + * @param value The mevRelayUrls to set. + * @return This builder for chaining. + */ + public Builder setMevRelayUrls(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMevRelayUrlsIsMutable(); + mevRelayUrls_.set(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param value The mevRelayUrls to add. + * @return This builder for chaining. + */ + public Builder addMevRelayUrls(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMevRelayUrlsIsMutable(); + mevRelayUrls_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param values The mevRelayUrls to add. + * @return This builder for chaining. + */ + public Builder addAllMevRelayUrls(java.lang.Iterable values) { + ensureMevRelayUrlsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, mevRelayUrls_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @return This builder for chaining. + */ + public Builder clearMevRelayUrls() { + mevRelayUrls_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + ; + onChanged(); + return this; + } + + /** + * + * + *
+         * URLs for MEV-relay services to use for block building. When set, a
+         * GCP-managed MEV-boost service is configured on the beacon client.
+         * 
+ * + * repeated string mev_relay_urls = 1; + * + * @param value The bytes of the mevRelayUrls to add. + * @return This builder for chaining. + */ + public Builder addMevRelayUrlsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureMevRelayUrlsIsMutable(); + mevRelayUrls_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean managedValidatorClient_; + + /** + * + * + *
+         * Immutable. When true, deploys a GCP-managed validator client alongside
+         * the beacon client.
+         * 
+ * + * + * bool managed_validator_client = 2 [deprecated = true, (.google.api.field_behavior) = IMMUTABLE]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig.managed_validator_client + * is deprecated. See + * google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=195 + * @return The managedValidatorClient. + */ + @java.lang.Override + @java.lang.Deprecated + public boolean getManagedValidatorClient() { + return managedValidatorClient_; + } + + /** + * + * + *
+         * Immutable. When true, deploys a GCP-managed validator client alongside
+         * the beacon client.
+         * 
+ * + * + * bool managed_validator_client = 2 [deprecated = true, (.google.api.field_behavior) = IMMUTABLE]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig.managed_validator_client + * is deprecated. See + * google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=195 + * @param value The managedValidatorClient to set. + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder setManagedValidatorClient(boolean value) { + + managedValidatorClient_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Immutable. When true, deploys a GCP-managed validator client alongside
+         * the beacon client.
+         * 
+ * + * + * bool managed_validator_client = 2 [deprecated = true, (.google.api.field_behavior) = IMMUTABLE]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig.managed_validator_client + * is deprecated. See + * google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=195 + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder clearManagedValidatorClient() { + bitField0_ = (bitField0_ & ~0x00000002); + managedValidatorClient_ = false; + onChanged(); + return this; + } + + private java.lang.Object beaconFeeRecipient_ = ""; + + /** + * + * + *
+         * An Ethereum address which the beacon client will send fee rewards to if
+         * no recipient is configured in the validator client.
+         *
+         * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+         * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+         * examples of how this is used.
+         *
+         * Note that while this is often described as "suggested", as we run the
+         * execution node we can trust the execution node, and therefore this is
+         * considered enforced.
+         * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return Whether the beaconFeeRecipient field is set. + */ + public boolean hasBeaconFeeRecipient() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * An Ethereum address which the beacon client will send fee rewards to if
+         * no recipient is configured in the validator client.
+         *
+         * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+         * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+         * examples of how this is used.
+         *
+         * Note that while this is often described as "suggested", as we run the
+         * execution node we can trust the execution node, and therefore this is
+         * considered enforced.
+         * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return The beaconFeeRecipient. + */ + public java.lang.String getBeaconFeeRecipient() { + java.lang.Object ref = beaconFeeRecipient_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + beaconFeeRecipient_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * An Ethereum address which the beacon client will send fee rewards to if
+         * no recipient is configured in the validator client.
+         *
+         * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+         * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+         * examples of how this is used.
+         *
+         * Note that while this is often described as "suggested", as we run the
+         * execution node we can trust the execution node, and therefore this is
+         * considered enforced.
+         * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return The bytes for beaconFeeRecipient. + */ + public com.google.protobuf.ByteString getBeaconFeeRecipientBytes() { + java.lang.Object ref = beaconFeeRecipient_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + beaconFeeRecipient_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * An Ethereum address which the beacon client will send fee rewards to if
+         * no recipient is configured in the validator client.
+         *
+         * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+         * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+         * examples of how this is used.
+         *
+         * Note that while this is often described as "suggested", as we run the
+         * execution node we can trust the execution node, and therefore this is
+         * considered enforced.
+         * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @param value The beaconFeeRecipient to set. + * @return This builder for chaining. + */ + public Builder setBeaconFeeRecipient(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + beaconFeeRecipient_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * An Ethereum address which the beacon client will send fee rewards to if
+         * no recipient is configured in the validator client.
+         *
+         * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+         * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+         * examples of how this is used.
+         *
+         * Note that while this is often described as "suggested", as we run the
+         * execution node we can trust the execution node, and therefore this is
+         * considered enforced.
+         * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @return This builder for chaining. + */ + public Builder clearBeaconFeeRecipient() { + beaconFeeRecipient_ = getDefaultInstance().getBeaconFeeRecipient(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+         * An Ethereum address which the beacon client will send fee rewards to if
+         * no recipient is configured in the validator client.
+         *
+         * See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html
+         * or https://docs.prylabs.network/docs/execution-node/fee-recipient for
+         * examples of how this is used.
+         *
+         * Note that while this is often described as "suggested", as we run the
+         * execution node we can trust the execution node, and therefore this is
+         * considered enforced.
+         * 
+ * + * optional string beacon_fee_recipient = 3; + * + * @param value The bytes for beaconFeeRecipient to set. + * @return This builder for chaining. + */ + public Builder setBeaconFeeRecipientBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + beaconFeeRecipient_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ValidatorConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int executionClientDetailsCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object executionClientDetails_; + + public enum ExecutionClientDetailsCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + GETH_DETAILS(8), + EXECUTIONCLIENTDETAILS_NOT_SET(0); + private final int value; + + private ExecutionClientDetailsCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ExecutionClientDetailsCase valueOf(int value) { + return forNumber(value); + } + + public static ExecutionClientDetailsCase forNumber(int value) { + switch (value) { + case 8: + return GETH_DETAILS; + case 0: + return EXECUTIONCLIENTDETAILS_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public ExecutionClientDetailsCase getExecutionClientDetailsCase() { + return ExecutionClientDetailsCase.forNumber(executionClientDetailsCase_); + } + + public static final int GETH_DETAILS_FIELD_NUMBER = 8; + + /** + * + * + *
+     * Details for the Geth execution client.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + * + * @return Whether the gethDetails field is set. + */ + @java.lang.Override + public boolean hasGethDetails() { + return executionClientDetailsCase_ == 8; + } + + /** + * + * + *
+     * Details for the Geth execution client.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + * + * @return The gethDetails. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + getGethDetails() { + if (executionClientDetailsCase_ == 8) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + executionClientDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } + + /** + * + * + *
+     * Details for the Geth execution client.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetailsOrBuilder + getGethDetailsOrBuilder() { + if (executionClientDetailsCase_ == 8) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + executionClientDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } + + public static final int NETWORK_FIELD_NUMBER = 1; + private int network_ = 0; + + /** + * + * + *
+     * Immutable. The Ethereum environment being accessed.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the network field is set. + */ + @java.lang.Override + public boolean hasNetwork() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Immutable. The Ethereum environment being accessed.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for network. + */ + @java.lang.Override + public int getNetworkValue() { + return network_; + } + + /** + * + * + *
+     * Immutable. The Ethereum environment being accessed.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The network. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network + getNetwork() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network.forNumber( + network_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network + .UNRECOGNIZED + : result; + } + + public static final int NODE_TYPE_FIELD_NUMBER = 2; + private int nodeType_ = 0; + + /** + * + * + *
+     * Immutable. The type of Ethereum node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the nodeType field is set. + */ + @java.lang.Override + public boolean hasNodeType() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Immutable. The type of Ethereum node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for nodeType. + */ + @java.lang.Override + public int getNodeTypeValue() { + return nodeType_; + } + + /** + * + * + *
+     * Immutable. The type of Ethereum node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The nodeType. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType + getNodeType() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType + .forNumber(nodeType_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType + .UNRECOGNIZED + : result; + } + + public static final int EXECUTION_CLIENT_FIELD_NUMBER = 3; + private int executionClient_ = 0; + + /** + * + * + *
+     * Immutable. The execution client
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the executionClient field is set. + */ + @java.lang.Override + public boolean hasExecutionClient() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Immutable. The execution client
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for executionClient. + */ + @java.lang.Override + public int getExecutionClientValue() { + return executionClient_; + } + + /** + * + * + *
+     * Immutable. The execution client
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The executionClient. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + getExecutionClient() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ExecutionClient.forNumber(executionClient_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + .UNRECOGNIZED + : result; + } + + public static final int CONSENSUS_CLIENT_FIELD_NUMBER = 4; + private int consensusClient_ = 0; + + /** + * + * + *
+     * Immutable. The consensus client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the consensusClient field is set. + */ + @java.lang.Override + public boolean hasConsensusClient() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+     * Immutable. The consensus client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for consensusClient. + */ + @java.lang.Override + public int getConsensusClientValue() { + return consensusClient_; + } + + /** + * + * + *
+     * Immutable. The consensus client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The consensusClient. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + getConsensusClient() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ConsensusClient.forNumber(consensusClient_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + .UNRECOGNIZED + : result; + } + + public static final int API_ENABLE_ADMIN_FIELD_NUMBER = 5; + private boolean apiEnableAdmin_ = false; + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the apiEnableAdmin field is set. + */ + @java.lang.Override + public boolean hasApiEnableAdmin() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The apiEnableAdmin. + */ + @java.lang.Override + public boolean getApiEnableAdmin() { + return apiEnableAdmin_; + } + + public static final int API_ENABLE_DEBUG_FIELD_NUMBER = 6; + private boolean apiEnableDebug_ = false; + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the apiEnableDebug field is set. + */ + @java.lang.Override + public boolean hasApiEnableDebug() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+     * Defaults to `false`.
+     * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The apiEnableDebug. + */ + @java.lang.Override + public boolean getApiEnableDebug() { + return apiEnableDebug_; + } + + public static final int ADDITIONAL_ENDPOINTS_FIELD_NUMBER = 7; + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + additionalEndpoints_; + + /** + * + * + *
+     * Output only. Ethereum-specific endpoint information.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the additionalEndpoints field is set. + */ + @java.lang.Override + public boolean hasAdditionalEndpoints() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. Ethereum-specific endpoint information.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The additionalEndpoints. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + getAdditionalEndpoints() { + return additionalEndpoints_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance() + : additionalEndpoints_; + } + + /** + * + * + *
+     * Output only. Ethereum-specific endpoint information.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder + getAdditionalEndpointsOrBuilder() { + return additionalEndpoints_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance() + : additionalEndpoints_; + } + + public static final int VALIDATOR_CONFIG_FIELD_NUMBER = 10; + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + validatorConfig_; + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + * + * @return Whether the validatorConfig field is set. + */ + @java.lang.Override + public boolean hasValidatorConfig() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + * + * @return The validatorConfig. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + getValidatorConfig() { + return validatorConfig_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + .getDefaultInstance() + : validatorConfig_; + } + + /** + * + * + *
+     * Configuration for validator-related parameters on the beacon client,
+     * and for any GCP-managed validator client.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfigOrBuilder + getValidatorConfigOrBuilder() { + return validatorConfig_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + .getDefaultInstance() + : validatorConfig_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeEnum(1, network_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeEnum(2, nodeType_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeEnum(3, executionClient_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeEnum(4, consensusClient_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeBool(5, apiEnableAdmin_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeBool(6, apiEnableDebug_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeMessage(7, getAdditionalEndpoints()); + } + if (executionClientDetailsCase_ == 8) { + output.writeMessage( + 8, + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails) + executionClientDetails_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeMessage(10, getValidatorConfig()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, network_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, nodeType_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, executionClient_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, consensusClient_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, apiEnableAdmin_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, apiEnableDebug_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(7, getAdditionalEndpoints()); + } + if (executionClientDetailsCase_ == 8) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 8, + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails) + executionClientDetails_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getValidatorConfig()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) obj; + + if (hasNetwork() != other.hasNetwork()) return false; + if (hasNetwork()) { + if (network_ != other.network_) return false; + } + if (hasNodeType() != other.hasNodeType()) return false; + if (hasNodeType()) { + if (nodeType_ != other.nodeType_) return false; + } + if (hasExecutionClient() != other.hasExecutionClient()) return false; + if (hasExecutionClient()) { + if (executionClient_ != other.executionClient_) return false; + } + if (hasConsensusClient() != other.hasConsensusClient()) return false; + if (hasConsensusClient()) { + if (consensusClient_ != other.consensusClient_) return false; + } + if (hasApiEnableAdmin() != other.hasApiEnableAdmin()) return false; + if (hasApiEnableAdmin()) { + if (getApiEnableAdmin() != other.getApiEnableAdmin()) return false; + } + if (hasApiEnableDebug() != other.hasApiEnableDebug()) return false; + if (hasApiEnableDebug()) { + if (getApiEnableDebug() != other.getApiEnableDebug()) return false; + } + if (hasAdditionalEndpoints() != other.hasAdditionalEndpoints()) return false; + if (hasAdditionalEndpoints()) { + if (!getAdditionalEndpoints().equals(other.getAdditionalEndpoints())) return false; + } + if (hasValidatorConfig() != other.hasValidatorConfig()) return false; + if (hasValidatorConfig()) { + if (!getValidatorConfig().equals(other.getValidatorConfig())) return false; + } + if (!getExecutionClientDetailsCase().equals(other.getExecutionClientDetailsCase())) + return false; + switch (executionClientDetailsCase_) { + case 8: + if (!getGethDetails().equals(other.getGethDetails())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasNetwork()) { + hash = (37 * hash) + NETWORK_FIELD_NUMBER; + hash = (53 * hash) + network_; + } + if (hasNodeType()) { + hash = (37 * hash) + NODE_TYPE_FIELD_NUMBER; + hash = (53 * hash) + nodeType_; + } + if (hasExecutionClient()) { + hash = (37 * hash) + EXECUTION_CLIENT_FIELD_NUMBER; + hash = (53 * hash) + executionClient_; + } + if (hasConsensusClient()) { + hash = (37 * hash) + CONSENSUS_CLIENT_FIELD_NUMBER; + hash = (53 * hash) + consensusClient_; + } + if (hasApiEnableAdmin()) { + hash = (37 * hash) + API_ENABLE_ADMIN_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getApiEnableAdmin()); + } + if (hasApiEnableDebug()) { + hash = (37 * hash) + API_ENABLE_DEBUG_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getApiEnableDebug()); + } + if (hasAdditionalEndpoints()) { + hash = (37 * hash) + ADDITIONAL_ENDPOINTS_FIELD_NUMBER; + hash = (53 * hash) + getAdditionalEndpoints().hashCode(); + } + if (hasValidatorConfig()) { + hash = (37 * hash) + VALIDATOR_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getValidatorConfig().hashCode(); + } + switch (executionClientDetailsCase_) { + case 8: + hash = (37 * hash) + GETH_DETAILS_FIELD_NUMBER; + hash = (53 * hash) + getGethDetails().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder + .class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetAdditionalEndpointsFieldBuilder(); + internalGetValidatorConfigFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (gethDetailsBuilder_ != null) { + gethDetailsBuilder_.clear(); + } + network_ = 0; + nodeType_ = 0; + executionClient_ = 0; + consensusClient_ = 0; + apiEnableAdmin_ = false; + apiEnableDebug_ = false; + additionalEndpoints_ = null; + if (additionalEndpointsBuilder_ != null) { + additionalEndpointsBuilder_.dispose(); + additionalEndpointsBuilder_ = null; + } + validatorConfig_ = null; + if (validatorConfigBuilder_ != null) { + validatorConfigBuilder_.dispose(); + validatorConfigBuilder_ = null; + } + executionClientDetailsCase_ = 0; + executionClientDetails_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.network_ = network_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.nodeType_ = nodeType_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.executionClient_ = executionClient_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.consensusClient_ = consensusClient_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.apiEnableAdmin_ = apiEnableAdmin_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.apiEnableDebug_ = apiEnableDebug_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.additionalEndpoints_ = + additionalEndpointsBuilder_ == null + ? additionalEndpoints_ + : additionalEndpointsBuilder_.build(); + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.validatorConfig_ = + validatorConfigBuilder_ == null ? validatorConfig_ : validatorConfigBuilder_.build(); + to_bitField0_ |= 0x00000080; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails result) { + result.executionClientDetailsCase_ = executionClientDetailsCase_; + result.executionClientDetails_ = this.executionClientDetails_; + if (executionClientDetailsCase_ == 8 && gethDetailsBuilder_ != null) { + result.executionClientDetails_ = gethDetailsBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance()) return this; + if (other.hasNetwork()) { + setNetworkValue(other.getNetworkValue()); + } + if (other.hasNodeType()) { + setNodeTypeValue(other.getNodeTypeValue()); + } + if (other.hasExecutionClient()) { + setExecutionClientValue(other.getExecutionClientValue()); + } + if (other.hasConsensusClient()) { + setConsensusClientValue(other.getConsensusClientValue()); + } + if (other.hasApiEnableAdmin()) { + setApiEnableAdmin(other.getApiEnableAdmin()); + } + if (other.hasApiEnableDebug()) { + setApiEnableDebug(other.getApiEnableDebug()); + } + if (other.hasAdditionalEndpoints()) { + mergeAdditionalEndpoints(other.getAdditionalEndpoints()); + } + if (other.hasValidatorConfig()) { + mergeValidatorConfig(other.getValidatorConfig()); + } + switch (other.getExecutionClientDetailsCase()) { + case GETH_DETAILS: + { + mergeGethDetails(other.getGethDetails()); + break; + } + case EXECUTIONCLIENTDETAILS_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + network_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 8 + case 16: + { + nodeType_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 16 + case 24: + { + executionClient_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 24 + case 32: + { + consensusClient_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 32 + case 40: + { + apiEnableAdmin_ = input.readBool(); + bitField0_ |= 0x00000020; + break; + } // case 40 + case 48: + { + apiEnableDebug_ = input.readBool(); + bitField0_ |= 0x00000040; + break; + } // case 48 + case 58: + { + input.readMessage( + internalGetAdditionalEndpointsFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000080; + break; + } // case 58 + case 66: + { + input.readMessage( + internalGetGethDetailsFieldBuilder().getBuilder(), extensionRegistry); + executionClientDetailsCase_ = 8; + break; + } // case 66 + case 82: + { + input.readMessage( + internalGetValidatorConfigFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000100; + break; + } // case 82 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int executionClientDetailsCase_ = 0; + private java.lang.Object executionClientDetails_; + + public ExecutionClientDetailsCase getExecutionClientDetailsCase() { + return ExecutionClientDetailsCase.forNumber(executionClientDetailsCase_); + } + + public Builder clearExecutionClientDetails() { + executionClientDetailsCase_ = 0; + executionClientDetails_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetailsOrBuilder> + gethDetailsBuilder_; + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + * + * @return Whether the gethDetails field is set. + */ + @java.lang.Override + public boolean hasGethDetails() { + return executionClientDetailsCase_ == 8; + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + * + * @return The gethDetails. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + getGethDetails() { + if (gethDetailsBuilder_ == null) { + if (executionClientDetailsCase_ == 8) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails) + executionClientDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } else { + if (executionClientDetailsCase_ == 8) { + return gethDetailsBuilder_.getMessage(); + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + public Builder setGethDetails( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + value) { + if (gethDetailsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + executionClientDetails_ = value; + onChanged(); + } else { + gethDetailsBuilder_.setMessage(value); + } + executionClientDetailsCase_ = 8; + return this; + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + public Builder setGethDetails( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .Builder + builderForValue) { + if (gethDetailsBuilder_ == null) { + executionClientDetails_ = builderForValue.build(); + onChanged(); + } else { + gethDetailsBuilder_.setMessage(builderForValue.build()); + } + executionClientDetailsCase_ = 8; + return this; + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + public Builder mergeGethDetails( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + value) { + if (gethDetailsBuilder_ == null) { + if (executionClientDetailsCase_ == 8 + && executionClientDetails_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails.getDefaultInstance()) { + executionClientDetails_ = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .newBuilder( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails) + executionClientDetails_) + .mergeFrom(value) + .buildPartial(); + } else { + executionClientDetails_ = value; + } + onChanged(); + } else { + if (executionClientDetailsCase_ == 8) { + gethDetailsBuilder_.mergeFrom(value); + } else { + gethDetailsBuilder_.setMessage(value); + } + } + executionClientDetailsCase_ = 8; + return this; + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + public Builder clearGethDetails() { + if (gethDetailsBuilder_ == null) { + if (executionClientDetailsCase_ == 8) { + executionClientDetailsCase_ = 0; + executionClientDetails_ = null; + onChanged(); + } + } else { + if (executionClientDetailsCase_ == 8) { + executionClientDetailsCase_ = 0; + executionClientDetails_ = null; + } + gethDetailsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .Builder + getGethDetailsBuilder() { + return internalGetGethDetailsFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetailsOrBuilder + getGethDetailsOrBuilder() { + if ((executionClientDetailsCase_ == 8) && (gethDetailsBuilder_ != null)) { + return gethDetailsBuilder_.getMessageOrBuilder(); + } else { + if (executionClientDetailsCase_ == 8) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails) + executionClientDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Details for the Geth execution client.
+       * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails geth_details = 8; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetailsOrBuilder> + internalGetGethDetailsFieldBuilder() { + if (gethDetailsBuilder_ == null) { + if (!(executionClientDetailsCase_ == 8)) { + executionClientDetails_ = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetails + .getDefaultInstance(); + } + gethDetailsBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetailsOrBuilder>( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .GethDetails) + executionClientDetails_, + getParentForChildren(), + isClean()); + executionClientDetails_ = null; + } + executionClientDetailsCase_ = 8; + onChanged(); + return gethDetailsBuilder_; + } + + private int network_ = 0; + + /** + * + * + *
+       * Immutable. The Ethereum environment being accessed.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the network field is set. + */ + @java.lang.Override + public boolean hasNetwork() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Immutable. The Ethereum environment being accessed.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for network. + */ + @java.lang.Override + public int getNetworkValue() { + return network_; + } + + /** + * + * + *
+       * Immutable. The Ethereum environment being accessed.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The enum numeric value on the wire for network to set. + * @return This builder for chaining. + */ + public Builder setNetworkValue(int value) { + network_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The Ethereum environment being accessed.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The network. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network + getNetwork() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network + .forNumber(network_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network + .UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Immutable. The Ethereum environment being accessed.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The network to set. + * @return This builder for chaining. + */ + public Builder setNetwork( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + network_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The Ethereum environment being accessed.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Network network = 1 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return This builder for chaining. + */ + public Builder clearNetwork() { + bitField0_ = (bitField0_ & ~0x00000002); + network_ = 0; + onChanged(); + return this; + } + + private int nodeType_ = 0; + + /** + * + * + *
+       * Immutable. The type of Ethereum node.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the nodeType field is set. + */ + @java.lang.Override + public boolean hasNodeType() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+       * Immutable. The type of Ethereum node.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for nodeType. + */ + @java.lang.Override + public int getNodeTypeValue() { + return nodeType_; + } + + /** + * + * + *
+       * Immutable. The type of Ethereum node.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The enum numeric value on the wire for nodeType to set. + * @return This builder for chaining. + */ + public Builder setNodeTypeValue(int value) { + nodeType_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The type of Ethereum node.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The nodeType. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType + getNodeType() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType + .forNumber(nodeType_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType + .UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Immutable. The type of Ethereum node.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The nodeType to set. + * @return This builder for chaining. + */ + public Builder setNodeType( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + nodeType_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The type of Ethereum node.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.NodeType node_type = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return This builder for chaining. + */ + public Builder clearNodeType() { + bitField0_ = (bitField0_ & ~0x00000004); + nodeType_ = 0; + onChanged(); + return this; + } + + private int executionClient_ = 0; + + /** + * + * + *
+       * Immutable. The execution client
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the executionClient field is set. + */ + @java.lang.Override + public boolean hasExecutionClient() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+       * Immutable. The execution client
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for executionClient. + */ + @java.lang.Override + public int getExecutionClientValue() { + return executionClient_; + } + + /** + * + * + *
+       * Immutable. The execution client
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The enum numeric value on the wire for executionClient to set. + * @return This builder for chaining. + */ + public Builder setExecutionClientValue(int value) { + executionClient_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The execution client
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The executionClient. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + getExecutionClient() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ExecutionClient.forNumber(executionClient_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ExecutionClient.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Immutable. The execution client
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The executionClient to set. + * @return This builder for chaining. + */ + public Builder setExecutionClient( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + executionClient_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The execution client
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ExecutionClient execution_client = 3 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return This builder for chaining. + */ + public Builder clearExecutionClient() { + bitField0_ = (bitField0_ & ~0x00000008); + executionClient_ = 0; + onChanged(); + return this; + } + + private int consensusClient_ = 0; + + /** + * + * + *
+       * Immutable. The consensus client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the consensusClient field is set. + */ + @java.lang.Override + public boolean hasConsensusClient() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+       * Immutable. The consensus client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for consensusClient. + */ + @java.lang.Override + public int getConsensusClientValue() { + return consensusClient_; + } + + /** + * + * + *
+       * Immutable. The consensus client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The enum numeric value on the wire for consensusClient to set. + * @return This builder for chaining. + */ + public Builder setConsensusClientValue(int value) { + consensusClient_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The consensus client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The consensusClient. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + getConsensusClient() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ConsensusClient.forNumber(consensusClient_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ConsensusClient.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Immutable. The consensus client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The consensusClient to set. + * @return This builder for chaining. + */ + public Builder setConsensusClient( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + consensusClient_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The consensus client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ConsensusClient consensus_client = 4 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return This builder for chaining. + */ + public Builder clearConsensusClient() { + bitField0_ = (bitField0_ & ~0x00000010); + consensusClient_ = 0; + onChanged(); + return this; + } + + private boolean apiEnableAdmin_; + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the apiEnableAdmin field is set. + */ + @java.lang.Override + public boolean hasApiEnableAdmin() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The apiEnableAdmin. + */ + @java.lang.Override + public boolean getApiEnableAdmin() { + return apiEnableAdmin_; + } + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @param value The apiEnableAdmin to set. + * @return This builder for chaining. + */ + public Builder setApiEnableAdmin(boolean value) { + + apiEnableAdmin_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `admin` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_admin = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return This builder for chaining. + */ + public Builder clearApiEnableAdmin() { + bitField0_ = (bitField0_ & ~0x00000020); + apiEnableAdmin_ = false; + onChanged(); + return this; + } + + private boolean apiEnableDebug_; + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the apiEnableDebug field is set. + */ + @java.lang.Override + public boolean hasApiEnableDebug() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The apiEnableDebug. + */ + @java.lang.Override + public boolean getApiEnableDebug() { + return apiEnableDebug_; + } + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @param value The apiEnableDebug to set. + * @return This builder for chaining. + */ + public Builder setApiEnableDebug(boolean value) { + + apiEnableDebug_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. Enables JSON-RPC access to functions in the `debug` namespace.
+       * Defaults to `false`.
+       * 
+ * + * optional bool api_enable_debug = 6 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return This builder for chaining. + */ + public Builder clearApiEnableDebug() { + bitField0_ = (bitField0_ & ~0x00000040); + apiEnableDebug_ = false; + onChanged(); + return this; + } + + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + additionalEndpoints_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder> + additionalEndpointsBuilder_; + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the additionalEndpoints field is set. + */ + public boolean hasAdditionalEndpoints() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The additionalEndpoints. + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints + getAdditionalEndpoints() { + if (additionalEndpointsBuilder_ == null) { + return additionalEndpoints_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance() + : additionalEndpoints_; + } else { + return additionalEndpointsBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAdditionalEndpoints( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + value) { + if (additionalEndpointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + additionalEndpoints_ = value; + } else { + additionalEndpointsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAdditionalEndpoints( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + .Builder + builderForValue) { + if (additionalEndpointsBuilder_ == null) { + additionalEndpoints_ = builderForValue.build(); + } else { + additionalEndpointsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeAdditionalEndpoints( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints + value) { + if (additionalEndpointsBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) + && additionalEndpoints_ != null + && additionalEndpoints_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance()) { + getAdditionalEndpointsBuilder().mergeFrom(value); + } else { + additionalEndpoints_ = value; + } + } else { + additionalEndpointsBuilder_.mergeFrom(value); + } + if (additionalEndpoints_ != null) { + bitField0_ |= 0x00000080; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearAdditionalEndpoints() { + bitField0_ = (bitField0_ & ~0x00000080); + additionalEndpoints_ = null; + if (additionalEndpointsBuilder_ != null) { + additionalEndpointsBuilder_.dispose(); + additionalEndpointsBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.Builder + getAdditionalEndpointsBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return internalGetAdditionalEndpointsFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder + getAdditionalEndpointsOrBuilder() { + if (additionalEndpointsBuilder_ != null) { + return additionalEndpointsBuilder_.getMessageOrBuilder(); + } else { + return additionalEndpoints_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.getDefaultInstance() + : additionalEndpoints_; + } + } + + /** + * + * + *
+       * Output only. Ethereum-specific endpoint information.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.EthereumEndpoints additional_endpoints = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder> + internalGetAdditionalEndpointsFieldBuilder() { + if (additionalEndpointsBuilder_ == null) { + additionalEndpointsBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpoints.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .EthereumEndpointsOrBuilder>( + getAdditionalEndpoints(), getParentForChildren(), isClean()); + additionalEndpoints_ = null; + } + return additionalEndpointsBuilder_; + } + + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig + validatorConfig_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfigOrBuilder> + validatorConfigBuilder_; + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + * + * @return Whether the validatorConfig field is set. + */ + public boolean hasValidatorConfig() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + * + * @return The validatorConfig. + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + getValidatorConfig() { + if (validatorConfigBuilder_ == null) { + return validatorConfig_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.getDefaultInstance() + : validatorConfig_; + } else { + return validatorConfigBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + public Builder setValidatorConfig( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + value) { + if (validatorConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + validatorConfig_ = value; + } else { + validatorConfigBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + public Builder setValidatorConfig( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + .Builder + builderForValue) { + if (validatorConfigBuilder_ == null) { + validatorConfig_ = builderForValue.build(); + } else { + validatorConfigBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + public Builder mergeValidatorConfig( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + value) { + if (validatorConfigBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0) + && validatorConfig_ != null + && validatorConfig_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.getDefaultInstance()) { + getValidatorConfigBuilder().mergeFrom(value); + } else { + validatorConfig_ = value; + } + } else { + validatorConfigBuilder_.mergeFrom(value); + } + if (validatorConfig_ != null) { + bitField0_ |= 0x00000100; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + public Builder clearValidatorConfig() { + bitField0_ = (bitField0_ & ~0x00000100); + validatorConfig_ = null; + if (validatorConfigBuilder_ != null) { + validatorConfigBuilder_.dispose(); + validatorConfigBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig + .Builder + getValidatorConfigBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return internalGetValidatorConfigFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfigOrBuilder + getValidatorConfigOrBuilder() { + if (validatorConfigBuilder_ != null) { + return validatorConfigBuilder_.getMessageOrBuilder(); + } else { + return validatorConfig_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.getDefaultInstance() + : validatorConfig_; + } + } + + /** + * + * + *
+       * Configuration for validator-related parameters on the beacon client,
+       * and for any GCP-managed validator client.
+       * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.ValidatorConfig validator_config = 10; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfigOrBuilder> + internalGetValidatorConfigFieldBuilder() { + if (validatorConfigBuilder_ == null) { + validatorConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfig.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .ValidatorConfigOrBuilder>( + getValidatorConfig(), getParentForChildren(), isClean()); + validatorConfig_ = null; + } + return validatorConfigBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public EthereumDetails parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int blockchainTypeDetailsCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object blockchainTypeDetails_; + + public enum BlockchainTypeDetailsCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + ETHEREUM_DETAILS(7), + BLOCKCHAINTYPEDETAILS_NOT_SET(0); + private final int value; + + private BlockchainTypeDetailsCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static BlockchainTypeDetailsCase valueOf(int value) { + return forNumber(value); + } + + public static BlockchainTypeDetailsCase forNumber(int value) { + switch (value) { + case 7: + return ETHEREUM_DETAILS; + case 0: + return BLOCKCHAINTYPEDETAILS_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public BlockchainTypeDetailsCase getBlockchainTypeDetailsCase() { + return BlockchainTypeDetailsCase.forNumber(blockchainTypeDetailsCase_); + } + + public static final int ETHEREUM_DETAILS_FIELD_NUMBER = 7; + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + * + * @return Whether the ethereumDetails field is set. + */ + @java.lang.Override + public boolean hasEthereumDetails() { + return blockchainTypeDetailsCase_ == 7; + } + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + * + * @return The ethereumDetails. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + getEthereumDetails() { + if (blockchainTypeDetailsCase_ == 7) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder + getEthereumDetailsOrBuilder() { + if (blockchainTypeDetailsCase_ == 7) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Output only. The fully qualified name of the blockchain node.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The fully qualified name of the blockchain node.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CREATE_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was first created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was first created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was first created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int LABELS_FIELD_NUMBER = 4; + + private static final class LabelsDefaultEntryHolder { + static final com.google.protobuf.MapEntry defaultEntry = + com.google.protobuf.MapEntry.newDefaultInstance( + com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_LabelsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + + @SuppressWarnings("serial") + private com.google.protobuf.MapField labels_; + + private com.google.protobuf.MapField internalGetLabels() { + if (labels_ == null) { + return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry); + } + return labels_; + } + + public int getLabelsCount() { + return internalGetLabels().getMap().size(); + } + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public boolean containsLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetLabels().getMap().containsKey(key); + } + + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getLabels() { + return getLabelsMap(); + } + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public java.util.Map getLabelsMap() { + return internalGetLabels().getMap(); + } + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public /* nullable */ java.lang.String getLabelsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public java.lang.String getLabelsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int BLOCKCHAIN_TYPE_FIELD_NUMBER = 5; + private int blockchainType_ = 0; + + /** + * + * + *
+   * Immutable. The blockchain type of the node.
+   * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the blockchainType field is set. + */ + @java.lang.Override + public boolean hasBlockchainType() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Immutable. The blockchain type of the node.
+   * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for blockchainType. + */ + @java.lang.Override + public int getBlockchainTypeValue() { + return blockchainType_; + } + + /** + * + * + *
+   * Immutable. The blockchain type of the node.
+   * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The blockchainType. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType + getBlockchainType() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType.forNumber( + blockchainType_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType.UNRECOGNIZED + : result; + } + + public static final int CONNECTION_INFO_FIELD_NUMBER = 6; + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connectionInfo_; + + /** + * + * + *
+   * Output only. The connection information used to interact with a blockchain
+   * node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the connectionInfo field is set. + */ + @java.lang.Override + public boolean hasConnectionInfo() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+   * Output only. The connection information used to interact with a blockchain
+   * node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The connectionInfo. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + getConnectionInfo() { + return connectionInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance() + : connectionInfo_; + } + + /** + * + * + *
+   * Output only. The connection information used to interact with a blockchain
+   * node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder + getConnectionInfoOrBuilder() { + return connectionInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance() + : connectionInfo_; + } + + public static final int STATE_FIELD_NUMBER = 8; + private int state_ = 0; + + /** + * + * + *
+   * Output only. A status representing the state of the node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + + /** + * + * + *
+   * Output only. A status representing the state of the node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State getState() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State.forNumber(state_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State.UNRECOGNIZED + : result; + } + + public static final int PRIVATE_SERVICE_CONNECT_ENABLED_FIELD_NUMBER = 12; + private boolean privateServiceConnectEnabled_ = false; + + /** + * + * + *
+   * Optional. When true, the node is only accessible via Private Service
+   * Connect; no public endpoints are exposed. Otherwise, the node is only
+   * accessible via public endpoints. Warning: These nodes are deprecated,
+   * please use public endpoints instead.
+   * 
+ * + * + * bool private_service_connect_enabled = 12 [deprecated = true, (.google.api.field_behavior) = OPTIONAL]; + * + * + * @deprecated google.cloud.blockchainnodeengine.v1.BlockchainNode.private_service_connect_enabled + * is deprecated. See google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=414 + * @return The privateServiceConnectEnabled. + */ + @java.lang.Override + @java.lang.Deprecated + public boolean getPrivateServiceConnectEnabled() { + return privateServiceConnectEnabled_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(3, getUpdateTime()); + } + com.google.protobuf.GeneratedMessage.serializeStringMapTo( + output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 4); + if (((bitField0_ & 0x00000004) != 0)) { + output.writeEnum(5, blockchainType_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(6, getConnectionInfo()); + } + if (blockchainTypeDetailsCase_ == 7) { + output.writeMessage( + 7, + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_); + } + if (state_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State.STATE_UNSPECIFIED + .getNumber()) { + output.writeEnum(8, state_); + } + if (privateServiceConnectEnabled_ != false) { + output.writeBool(12, privateServiceConnectEnabled_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getUpdateTime()); + } + for (java.util.Map.Entry entry : + internalGetLabels().getMap().entrySet()) { + com.google.protobuf.MapEntry labels__ = + LabelsDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, labels__); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(5, blockchainType_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getConnectionInfo()); + } + if (blockchainTypeDetailsCase_ == 7) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 7, + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_); + } + if (state_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State.STATE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(8, state_); + } + if (privateServiceConnectEnabled_ != false) { + size += + com.google.protobuf.CodedOutputStream.computeBoolSize(12, privateServiceConnectEnabled_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.BlockchainNode)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.BlockchainNode other = + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode) obj; + + if (!getName().equals(other.getName())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (!internalGetLabels().equals(other.internalGetLabels())) return false; + if (hasBlockchainType() != other.hasBlockchainType()) return false; + if (hasBlockchainType()) { + if (blockchainType_ != other.blockchainType_) return false; + } + if (hasConnectionInfo() != other.hasConnectionInfo()) return false; + if (hasConnectionInfo()) { + if (!getConnectionInfo().equals(other.getConnectionInfo())) return false; + } + if (state_ != other.state_) return false; + if (getPrivateServiceConnectEnabled() != other.getPrivateServiceConnectEnabled()) return false; + if (!getBlockchainTypeDetailsCase().equals(other.getBlockchainTypeDetailsCase())) return false; + switch (blockchainTypeDetailsCase_) { + case 7: + if (!getEthereumDetails().equals(other.getEthereumDetails())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (!internalGetLabels().getMap().isEmpty()) { + hash = (37 * hash) + LABELS_FIELD_NUMBER; + hash = (53 * hash) + internalGetLabels().hashCode(); + } + if (hasBlockchainType()) { + hash = (37 * hash) + BLOCKCHAIN_TYPE_FIELD_NUMBER; + hash = (53 * hash) + blockchainType_; + } + if (hasConnectionInfo()) { + hash = (37 * hash) + CONNECTION_INFO_FIELD_NUMBER; + hash = (53 * hash) + getConnectionInfo().hashCode(); + } + hash = (37 * hash) + STATE_FIELD_NUMBER; + hash = (53 * hash) + state_; + hash = (37 * hash) + PRIVATE_SERVICE_CONNECT_ENABLED_FIELD_NUMBER; + hash = + (53 * hash) + com.google.protobuf.Internal.hashBoolean(getPrivateServiceConnectEnabled()); + switch (blockchainTypeDetailsCase_) { + case 7: + hash = (37 * hash) + ETHEREUM_DETAILS_FIELD_NUMBER; + hash = (53 * hash) + getEthereumDetails().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * A representation of a blockchain node.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.BlockchainNode} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.BlockchainNode) + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 4: + return internalGetLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 4: + return internalGetMutableLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.class, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder.class); + } + + // Construct using com.google.cloud.blockchainnodeengine.v1.BlockchainNode.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + internalGetConnectionInfoFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (ethereumDetailsBuilder_ != null) { + ethereumDetailsBuilder_.clear(); + } + name_ = ""; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + internalGetMutableLabels().clear(); + blockchainType_ = 0; + connectionInfo_ = null; + if (connectionInfoBuilder_ != null) { + connectionInfoBuilder_.dispose(); + connectionInfoBuilder_ = null; + } + state_ = 0; + privateServiceConnectEnabled_ = false; + blockchainTypeDetailsCase_ = 0; + blockchainTypeDetails_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode build() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode buildPartial() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode result = + new com.google.cloud.blockchainnodeengine.v1.BlockchainNode(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.blockchainnodeengine.v1.BlockchainNode result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.labels_ = internalGetLabels(); + result.labels_.makeImmutable(); + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.blockchainType_ = blockchainType_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.connectionInfo_ = + connectionInfoBuilder_ == null ? connectionInfo_ : connectionInfoBuilder_.build(); + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.state_ = state_; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.privateServiceConnectEnabled_ = privateServiceConnectEnabled_; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode result) { + result.blockchainTypeDetailsCase_ = blockchainTypeDetailsCase_; + result.blockchainTypeDetails_ = this.blockchainTypeDetails_; + if (blockchainTypeDetailsCase_ == 7 && ethereumDetailsBuilder_ != null) { + result.blockchainTypeDetails_ = ethereumDetailsBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.BlockchainNode) { + return mergeFrom((com.google.cloud.blockchainnodeengine.v1.BlockchainNode) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.blockchainnodeengine.v1.BlockchainNode other) { + if (other == com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + internalGetMutableLabels().mergeFrom(other.internalGetLabels()); + bitField0_ |= 0x00000010; + if (other.hasBlockchainType()) { + setBlockchainTypeValue(other.getBlockchainTypeValue()); + } + if (other.hasConnectionInfo()) { + mergeConnectionInfo(other.getConnectionInfo()); + } + if (other.state_ != 0) { + setStateValue(other.getStateValue()); + } + if (other.getPrivateServiceConnectEnabled() != false) { + setPrivateServiceConnectEnabled(other.getPrivateServiceConnectEnabled()); + } + switch (other.getBlockchainTypeDetailsCase()) { + case ETHEREUM_DETAILS: + { + mergeEthereumDetails(other.getEthereumDetails()); + break; + } + case BLOCKCHAINTYPEDETAILS_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 34: + { + com.google.protobuf.MapEntry labels__ = + input.readMessage( + LabelsDefaultEntryHolder.defaultEntry.getParserForType(), + extensionRegistry); + internalGetMutableLabels() + .getMutableMap() + .put(labels__.getKey(), labels__.getValue()); + bitField0_ |= 0x00000010; + break; + } // case 34 + case 40: + { + blockchainType_ = input.readEnum(); + bitField0_ |= 0x00000020; + break; + } // case 40 + case 50: + { + input.readMessage( + internalGetConnectionInfoFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000040; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetEthereumDetailsFieldBuilder().getBuilder(), extensionRegistry); + blockchainTypeDetailsCase_ = 7; + break; + } // case 58 + case 64: + { + state_ = input.readEnum(); + bitField0_ |= 0x00000080; + break; + } // case 64 + case 96: + { + privateServiceConnectEnabled_ = input.readBool(); + bitField0_ |= 0x00000100; + break; + } // case 96 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int blockchainTypeDetailsCase_ = 0; + private java.lang.Object blockchainTypeDetails_; + + public BlockchainTypeDetailsCase getBlockchainTypeDetailsCase() { + return BlockchainTypeDetailsCase.forNumber(blockchainTypeDetailsCase_); + } + + public Builder clearBlockchainTypeDetails() { + blockchainTypeDetailsCase_ = 0; + blockchainTypeDetails_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder> + ethereumDetailsBuilder_; + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + * + * @return Whether the ethereumDetails field is set. + */ + @java.lang.Override + public boolean hasEthereumDetails() { + return blockchainTypeDetailsCase_ == 7; + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + * + * @return The ethereumDetails. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + getEthereumDetails() { + if (ethereumDetailsBuilder_ == null) { + if (blockchainTypeDetailsCase_ == 7) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } else { + if (blockchainTypeDetailsCase_ == 7) { + return ethereumDetailsBuilder_.getMessage(); + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + public Builder setEthereumDetails( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails value) { + if (ethereumDetailsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + blockchainTypeDetails_ = value; + onChanged(); + } else { + ethereumDetailsBuilder_.setMessage(value); + } + blockchainTypeDetailsCase_ = 7; + return this; + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + public Builder setEthereumDetails( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder + builderForValue) { + if (ethereumDetailsBuilder_ == null) { + blockchainTypeDetails_ = builderForValue.build(); + onChanged(); + } else { + ethereumDetailsBuilder_.setMessage(builderForValue.build()); + } + blockchainTypeDetailsCase_ = 7; + return this; + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + public Builder mergeEthereumDetails( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails value) { + if (ethereumDetailsBuilder_ == null) { + if (blockchainTypeDetailsCase_ == 7 + && blockchainTypeDetails_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance()) { + blockchainTypeDetails_ = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.newBuilder( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_) + .mergeFrom(value) + .buildPartial(); + } else { + blockchainTypeDetails_ = value; + } + onChanged(); + } else { + if (blockchainTypeDetailsCase_ == 7) { + ethereumDetailsBuilder_.mergeFrom(value); + } else { + ethereumDetailsBuilder_.setMessage(value); + } + } + blockchainTypeDetailsCase_ = 7; + return this; + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + public Builder clearEthereumDetails() { + if (ethereumDetailsBuilder_ == null) { + if (blockchainTypeDetailsCase_ == 7) { + blockchainTypeDetailsCase_ = 0; + blockchainTypeDetails_ = null; + onChanged(); + } + } else { + if (blockchainTypeDetailsCase_ == 7) { + blockchainTypeDetailsCase_ = 0; + blockchainTypeDetails_ = null; + } + ethereumDetailsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder + getEthereumDetailsBuilder() { + return internalGetEthereumDetailsFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder + getEthereumDetailsOrBuilder() { + if ((blockchainTypeDetailsCase_ == 7) && (ethereumDetailsBuilder_ != null)) { + return ethereumDetailsBuilder_.getMessageOrBuilder(); + } else { + if (blockchainTypeDetailsCase_ == 7) { + return (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_; + } + return com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } + } + + /** + * + * + *
+     * Ethereum-specific blockchain node details.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder> + internalGetEthereumDetailsFieldBuilder() { + if (ethereumDetailsBuilder_ == null) { + if (!(blockchainTypeDetailsCase_ == 7)) { + blockchainTypeDetails_ = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails + .getDefaultInstance(); + } + ethereumDetailsBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder>( + (com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails) + blockchainTypeDetails_, + getParentForChildren(), + isClean()); + blockchainTypeDetails_ = null; + } + blockchainTypeDetailsCase_ = 7; + onChanged(); + return ethereumDetailsBuilder_; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Output only. The fully qualified name of the blockchain node.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The fully qualified name of the blockchain node.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The fully qualified name of the blockchain node.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The fully qualified name of the blockchain node.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The fully qualified name of the blockchain node.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000004); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was first created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000008); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The timestamp at which the blockchain node was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private com.google.protobuf.MapField labels_; + + private com.google.protobuf.MapField internalGetLabels() { + if (labels_ == null) { + return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry); + } + return labels_; + } + + private com.google.protobuf.MapField + internalGetMutableLabels() { + if (labels_ == null) { + labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry); + } + if (!labels_.isMutable()) { + labels_ = labels_.copy(); + } + bitField0_ |= 0x00000010; + onChanged(); + return labels_; + } + + public int getLabelsCount() { + return internalGetLabels().getMap().size(); + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public boolean containsLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetLabels().getMap().containsKey(key); + } + + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getLabels() { + return getLabelsMap(); + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public java.util.Map getLabelsMap() { + return internalGetLabels().getMap(); + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public /* nullable */ java.lang.String getLabelsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + @java.lang.Override + public java.lang.String getLabelsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearLabels() { + bitField0_ = (bitField0_ & ~0x00000010); + internalGetMutableLabels().getMutableMap().clear(); + return this; + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + public Builder removeLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableLabels().getMutableMap().remove(key); + return this; + } + + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableLabels() { + bitField0_ |= 0x00000010; + return internalGetMutableLabels().getMutableMap(); + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + public Builder putLabels(java.lang.String key, java.lang.String value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + internalGetMutableLabels().getMutableMap().put(key, value); + bitField0_ |= 0x00000010; + return this; + } + + /** + * + * + *
+     * User-provided key-value pairs.
+     * 
+ * + * map<string, string> labels = 4; + */ + public Builder putAllLabels(java.util.Map values) { + internalGetMutableLabels().getMutableMap().putAll(values); + bitField0_ |= 0x00000010; + return this; + } + + private int blockchainType_ = 0; + + /** + * + * + *
+     * Immutable. The blockchain type of the node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the blockchainType field is set. + */ + @java.lang.Override + public boolean hasBlockchainType() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Immutable. The blockchain type of the node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for blockchainType. + */ + @java.lang.Override + public int getBlockchainTypeValue() { + return blockchainType_; + } + + /** + * + * + *
+     * Immutable. The blockchain type of the node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The enum numeric value on the wire for blockchainType to set. + * @return This builder for chaining. + */ + public Builder setBlockchainTypeValue(int value) { + blockchainType_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Immutable. The blockchain type of the node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The blockchainType. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType + getBlockchainType() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType.forNumber( + blockchainType_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Immutable. The blockchain type of the node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @param value The blockchainType to set. + * @return This builder for chaining. + */ + public Builder setBlockchainType( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + blockchainType_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Immutable. The blockchain type of the node.
+     * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return This builder for chaining. + */ + public Builder clearBlockchainType() { + bitField0_ = (bitField0_ & ~0x00000020); + blockchainType_ = 0; + onChanged(); + return this; + } + + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connectionInfo_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder> + connectionInfoBuilder_; + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the connectionInfo field is set. + */ + public boolean hasConnectionInfo() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The connectionInfo. + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + getConnectionInfo() { + if (connectionInfoBuilder_ == null) { + return connectionInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance() + : connectionInfo_; + } else { + return connectionInfoBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setConnectionInfo( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo value) { + if (connectionInfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + connectionInfo_ = value; + } else { + connectionInfoBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setConnectionInfo( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder + builderForValue) { + if (connectionInfoBuilder_ == null) { + connectionInfo_ = builderForValue.build(); + } else { + connectionInfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeConnectionInfo( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo value) { + if (connectionInfoBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) + && connectionInfo_ != null + && connectionInfo_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance()) { + getConnectionInfoBuilder().mergeFrom(value); + } else { + connectionInfo_ = value; + } + } else { + connectionInfoBuilder_.mergeFrom(value); + } + if (connectionInfo_ != null) { + bitField0_ |= 0x00000040; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearConnectionInfo() { + bitField0_ = (bitField0_ & ~0x00000040); + connectionInfo_ = null; + if (connectionInfoBuilder_ != null) { + connectionInfoBuilder_.dispose(); + connectionInfoBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder + getConnectionInfoBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return internalGetConnectionInfoFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder + getConnectionInfoOrBuilder() { + if (connectionInfoBuilder_ != null) { + return connectionInfoBuilder_.getMessageOrBuilder(); + } else { + return connectionInfo_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo + .getDefaultInstance() + : connectionInfo_; + } + } + + /** + * + * + *
+     * Output only. The connection information used to interact with a blockchain
+     * node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder> + internalGetConnectionInfoFieldBuilder() { + if (connectionInfoBuilder_ == null) { + connectionInfoBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder>( + getConnectionInfo(), getParentForChildren(), isClean()); + connectionInfo_ = null; + } + return connectionInfoBuilder_; + } + + private int state_ = 0; + + /** + * + * + *
+     * Output only. A status representing the state of the node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + + /** + * + * + *
+     * Output only. A status representing the state of the node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for state to set. + * @return This builder for chaining. + */ + public Builder setStateValue(int value) { + state_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A status representing the state of the node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State getState() { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State result = + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State.forNumber(state_); + return result == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Output only. A status representing the state of the node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The state to set. + * @return This builder for chaining. + */ + public Builder setState(com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000080; + state_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A status representing the state of the node.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearState() { + bitField0_ = (bitField0_ & ~0x00000080); + state_ = 0; + onChanged(); + return this; + } + + private boolean privateServiceConnectEnabled_; + + /** + * + * + *
+     * Optional. When true, the node is only accessible via Private Service
+     * Connect; no public endpoints are exposed. Otherwise, the node is only
+     * accessible via public endpoints. Warning: These nodes are deprecated,
+     * please use public endpoints instead.
+     * 
+ * + * + * bool private_service_connect_enabled = 12 [deprecated = true, (.google.api.field_behavior) = OPTIONAL]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.private_service_connect_enabled is + * deprecated. See google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=414 + * @return The privateServiceConnectEnabled. + */ + @java.lang.Override + @java.lang.Deprecated + public boolean getPrivateServiceConnectEnabled() { + return privateServiceConnectEnabled_; + } + + /** + * + * + *
+     * Optional. When true, the node is only accessible via Private Service
+     * Connect; no public endpoints are exposed. Otherwise, the node is only
+     * accessible via public endpoints. Warning: These nodes are deprecated,
+     * please use public endpoints instead.
+     * 
+ * + * + * bool private_service_connect_enabled = 12 [deprecated = true, (.google.api.field_behavior) = OPTIONAL]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.private_service_connect_enabled is + * deprecated. See google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=414 + * @param value The privateServiceConnectEnabled to set. + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder setPrivateServiceConnectEnabled(boolean value) { + + privateServiceConnectEnabled_ = value; + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. When true, the node is only accessible via Private Service
+     * Connect; no public endpoints are exposed. Otherwise, the node is only
+     * accessible via public endpoints. Warning: These nodes are deprecated,
+     * please use public endpoints instead.
+     * 
+ * + * + * bool private_service_connect_enabled = 12 [deprecated = true, (.google.api.field_behavior) = OPTIONAL]; + * + * + * @deprecated + * google.cloud.blockchainnodeengine.v1.BlockchainNode.private_service_connect_enabled is + * deprecated. See google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=414 + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder clearPrivateServiceConnectEnabled() { + bitField0_ = (bitField0_ & ~0x00000100); + privateServiceConnectEnabled_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.BlockchainNode) + private static final com.google.cloud.blockchainnodeengine.v1.BlockchainNode DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.BlockchainNode(); + } + + public static com.google.cloud.blockchainnodeengine.v1.BlockchainNode getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BlockchainNode parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeName.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeName.java new file mode 100644 index 000000000000..94e12ec563a5 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeName.java @@ -0,0 +1,230 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class BlockchainNodeName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_BLOCKCHAIN_NODE = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/blockchainNodes/{blockchain_node}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String blockchainNode; + + @Deprecated + protected BlockchainNodeName() { + project = null; + location = null; + blockchainNode = null; + } + + private BlockchainNodeName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + blockchainNode = Preconditions.checkNotNull(builder.getBlockchainNode()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getBlockchainNode() { + return blockchainNode; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static BlockchainNodeName of(String project, String location, String blockchainNode) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setBlockchainNode(blockchainNode) + .build(); + } + + public static String format(String project, String location, String blockchainNode) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setBlockchainNode(blockchainNode) + .build() + .toString(); + } + + public static @Nullable BlockchainNodeName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_BLOCKCHAIN_NODE.validatedMatch( + formattedString, "BlockchainNodeName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("blockchain_node")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable BlockchainNodeName> values) { + List list = new ArrayList<>(values.size()); + for (BlockchainNodeName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_BLOCKCHAIN_NODE.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (blockchainNode != null) { + fieldMapBuilder.put("blockchain_node", blockchainNode); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_BLOCKCHAIN_NODE.instantiate( + "project", project, "location", location, "blockchain_node", blockchainNode); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + BlockchainNodeName that = ((BlockchainNodeName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.blockchainNode, that.blockchainNode); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(blockchainNode); + return h; + } + + /** Builder for projects/{project}/locations/{location}/blockchainNodes/{blockchain_node}. */ + public static class Builder { + private String project; + private String location; + private String blockchainNode; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getBlockchainNode() { + return blockchainNode; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setBlockchainNode(String blockchainNode) { + this.blockchainNode = blockchainNode; + return this; + } + + private Builder(BlockchainNodeName blockchainNodeName) { + this.project = blockchainNodeName.project; + this.location = blockchainNodeName.location; + this.blockchainNode = blockchainNodeName.blockchainNode; + } + + public BlockchainNodeName build() { + return new BlockchainNodeName(this); + } + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeOrBuilder.java new file mode 100644 index 000000000000..c4594afd46d4 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainNodeOrBuilder.java @@ -0,0 +1,389 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface BlockchainNodeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.BlockchainNode) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + * + * @return Whether the ethereumDetails field is set. + */ + boolean hasEthereumDetails(); + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + * + * @return The ethereumDetails. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails getEthereumDetails(); + + /** + * + * + *
+   * Ethereum-specific blockchain node details.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetails ethereum_details = 7; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsOrBuilder + getEthereumDetailsOrBuilder(); + + /** + * + * + *
+   * Output only. The fully qualified name of the blockchain node.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Output only. The fully qualified name of the blockchain node.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was first created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was first created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was first created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The timestamp at which the blockchain node was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + int getLabelsCount(); + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + boolean containsLabels(java.lang.String key); + + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Deprecated + java.util.Map getLabels(); + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + java.util.Map getLabelsMap(); + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + /* nullable */ + java.lang.String getLabelsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue); + + /** + * + * + *
+   * User-provided key-value pairs.
+   * 
+ * + * map<string, string> labels = 4; + */ + java.lang.String getLabelsOrThrow(java.lang.String key); + + /** + * + * + *
+   * Immutable. The blockchain type of the node.
+   * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return Whether the blockchainType field is set. + */ + boolean hasBlockchainType(); + + /** + * + * + *
+   * Immutable. The blockchain type of the node.
+   * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The enum numeric value on the wire for blockchainType. + */ + int getBlockchainTypeValue(); + + /** + * + * + *
+   * Immutable. The blockchain type of the node.
+   * 
+ * + * + * optional .google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType blockchain_type = 5 [(.google.api.field_behavior) = IMMUTABLE]; + * + * + * @return The blockchainType. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainType getBlockchainType(); + + /** + * + * + *
+   * Output only. The connection information used to interact with a blockchain
+   * node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the connectionInfo field is set. + */ + boolean hasConnectionInfo(); + + /** + * + * + *
+   * Output only. The connection information used to interact with a blockchain
+   * node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The connectionInfo. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo getConnectionInfo(); + + /** + * + * + *
+   * Output only. The connection information used to interact with a blockchain
+   * node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfo connection_info = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.ConnectionInfoOrBuilder + getConnectionInfoOrBuilder(); + + /** + * + * + *
+   * Output only. A status representing the state of the node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + int getStateValue(); + + /** + * + * + *
+   * Output only. A status representing the state of the node.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.State getState(); + + /** + * + * + *
+   * Optional. When true, the node is only accessible via Private Service
+   * Connect; no public endpoints are exposed. Otherwise, the node is only
+   * accessible via public endpoints. Warning: These nodes are deprecated,
+   * please use public endpoints instead.
+   * 
+ * + * + * bool private_service_connect_enabled = 12 [deprecated = true, (.google.api.field_behavior) = OPTIONAL]; + * + * + * @deprecated google.cloud.blockchainnodeengine.v1.BlockchainNode.private_service_connect_enabled + * is deprecated. See google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto;l=414 + * @return The privateServiceConnectEnabled. + */ + @java.lang.Deprecated + boolean getPrivateServiceConnectEnabled(); + + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.BlockchainTypeDetailsCase + getBlockchainTypeDetailsCase(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainnodeengineProto.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainnodeengineProto.java new file mode 100644 index 000000000000..b86f12c53ab5 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/BlockchainnodeengineProto.java @@ -0,0 +1,491 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public final class BlockchainnodeengineProto extends com.google.protobuf.GeneratedFile { + private BlockchainnodeengineProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "BlockchainnodeengineProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_LabelsEntry_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_LabelsEntry_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "?google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto\022$google.cloud." + + "blockchainnodeengine.v1\032\034google/api/anno" + + "tations.proto\032\027google/api/client.proto\032\037" + + "google/api/field_behavior.proto\032\031google/" + + "api/resource.proto\032#google/longrunning/o" + + "perations.proto\032\033google/protobuf/empty.proto\032" + + " google/protobuf/field_mask.proto\032\037google/protobuf/timestamp.proto\"\243\032\n" + + "\016BlockchainNode\022`\n" + + "\020ethereum_details\030\007 \001(\0132D.g" + + "oogle.cloud.blockchainnodeengine.v1.BlockchainNode.EthereumDetailsH\000\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\003\0224\n" + + "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022P\n" + + "\006labels\030\004" + + " \003(\0132@.google.cloud.blockchainnodeengine.v1.BlockchainNode.LabelsEntry\022f\n" + + "\017blockchain_type\030\005 \001(\0162C.google.cloud.bl" + + "ockchainnodeengine.v1.BlockchainNode.BlockchainTypeB\003\340A\005H\001\210\001\001\022a\n" + + "\017connection_info\030\006 \001(\0132C.google.cloud.blockchainnodeengi" + + "ne.v1.BlockchainNode.ConnectionInfoB\003\340A\003\022N\n" + + "\005state\030\010 \001(\0162:.google.cloud.blockchai" + + "nnodeengine.v1.BlockchainNode.StateB\003\340A\003\022.\n" + + "\037private_service_connect_enabled\030\014" + + " \001(\010B\005\030\001\340A\001\032\371\001\n" + + "\016ConnectionInfo\022l\n\r" + + "endpoint_info\030\002 \001(\0132P.google.cloud.blockchainnode" + + "engine.v1.BlockchainNode.ConnectionInfo.EndpointInfoB\003\340A\003\022\037\n" + + "\022service_attachment\030\003 \001(\tB\003\340A\003\032X\n" + + "\014EndpointInfo\022\"\n" + + "\025json_rpc_api_endpoint\030\001 \001(\tB\003\340A\003\022$\n" + + "\027websockets_api_endpoint\030\002 \001(\tB\003\340A\003\032\342\017\n" + + "\017EthereumDetails\022h\n" + + "\014geth_details\030\010 \001(\0132P.google.cloud.bl" + + "ockchainnodeengine.v1.BlockchainNode.EthereumDetails.GethDetailsH\000\022g\n" + + "\007network\030\001 \001(\0162L.google.cloud.blockchainnodeengine." + + "v1.BlockchainNode.EthereumDetails.NetworkB\003\340A\005H\001\210\001\001\022j\n" + + "\tnode_type\030\002 \001(\0162M.google.cloud.blockchainnodeengine.v1.Blockchain" + + "Node.EthereumDetails.NodeTypeB\003\340A\005H\002\210\001\001\022x\n" + + "\020execution_client\030\003 \001(\0162T.google.cloud" + + ".blockchainnodeengine.v1.BlockchainNode." + + "EthereumDetails.ExecutionClientB\003\340A\005H\003\210\001\001\022x\n" + + "\020consensus_client\030\004 \001(\0162T.google.clo" + + "ud.blockchainnodeengine.v1.BlockchainNod" + + "e.EthereumDetails.ConsensusClientB\003\340A\005H\004\210\001\001\022\"\n" + + "\020api_enable_admin\030\005 \001(\010B\003\340A\005H\005\210\001\001\022\"\n" + + "\020api_enable_debug\030\006 \001(\010B\003\340A\005H\006\210\001\001\022~\n" + + "\024additional_endpoints\030\007 \001(\0132V.google.cloud" + + ".blockchainnodeengine.v1.BlockchainNode." + + "EthereumDetails.EthereumEndpointsB\003\340A\003H\007\210\001\001\022s\n" + + "\020validator_config\030\n" + + " \001(\0132T.google.cloud.blockchainnodeengine.v1.BlockchainN" + + "ode.EthereumDetails.ValidatorConfigH\010\210\001\001\032\226\002\n" + + "\013GethDetails\022\221\001\n" + + "\027garbage_collection_mode\030\001 \001(\0162f.google.cloud.blockchainnode" + + "engine.v1.BlockchainNode.EthereumDetails" + + ".GethDetails.GarbageCollectionModeB\003\340A\005H\000\210\001\001\"W\n" + + "\025GarbageCollectionMode\022\'\n" + + "#GARBAGE_COLLECTION_MODE_UNSPECIFIED\020\000\022\010\n" + + "\004FULL\020\001\022\013\n" + + "\007ARCHIVE\020\002B\032\n" + + "\030_garbage_collection_mode\032\251\001\n" + + "\021EthereumEndpoints\022 \n" + + "\023beacon_api_endpoint\030\001 \001(\tB\003\340A\003\0223\n" + + "&beacon_prometheus_metrics_api_endpoint\030\002 \001(\tB\003\340A\003\022=\n" + + "0execution_client_prometheus_metrics_api_endpoint\030\003 \001(" + + "\tB\003\340A\003\032\216\001\n" + + "\017ValidatorConfig\022\026\n" + + "\016mev_relay_urls\030\001 \003(\t\022\'\n" + + "\030managed_validator_client\030\002 \001(\010B\005\030\001\340A\005\022!\n" + + "\024beacon_fee_recipient\030\003 \001(\tH\000\210\001\001B\027\n" + + "\025_beacon_fee_recipient\"x\n" + + "\007Network\022\027\n" + + "\023NETWORK_UNSPECIFIED\020\000\022\013\n" + + "\007MAINNET\020\001\022\035\n" + + "\025TESTNET_GOERLI_PRATER\020\002\032\002\010\001\022\023\n" + + "\017TESTNET_SEPOLIA\020\003\022\023\n" + + "\017TESTNET_HOLESKY\020\004\"G\n" + + "\010NodeType\022\031\n" + + "\025NODE_TYPE_UNSPECIFIED\020\000\022\t\n" + + "\005LIGHT\020\001\022\010\n" + + "\004FULL\020\002\022\013\n" + + "\007ARCHIVE\020\003\"I\n" + + "\017ExecutionClient\022 \n" + + "\034EXECUTION_CLIENT_UNSPECIFIED\020\000\022\010\n" + + "\004GETH\020\001\022\n\n" + + "\006ERIGON\020\002\"C\n" + + "\017ConsensusClient\022 \n" + + "\034CONSENSUS_CLIENT_UNSPECIFIED\020\000\022\016\n\n" + + "LIGHTHOUSE\020\001B\032\n" + + "\030execution_client_detailsB\n\n" + + "\010_networkB\014\n\n" + + "_node_typeB\023\n" + + "\021_execution_clientB\023\n" + + "\021_consensus_clientB\023\n" + + "\021_api_enable_adminB\023\n" + + "\021_api_enable_debugB\027\n" + + "\025_additional_endpointsB\023\n" + + "\021_validator_config\032-\n" + + "\013LabelsEntry\022\013\n" + + "\003key\030\001 \001(\t\022\r\n" + + "\005value\030\002 \001(\t:\0028\001\"?\n" + + "\016BlockchainType\022\037\n" + + "\033BLOCKCHAIN_TYPE_UNSPECIFIED\020\000\022\014\n" + + "\010ETHEREUM\020\001\"\215\001\n" + + "\005State\022\025\n" + + "\021STATE_UNSPECIFIED\020\000\022\014\n" + + "\010CREATING\020\001\022\014\n" + + "\010DELETING\020\002\022\013\n" + + "\007RUNNING\020\004\022\t\n" + + "\005ERROR\020\005\022\014\n" + + "\010UPDATING\020\006\022\r\n" + + "\tREPAIRING\020\007\022\017\n" + + "\013RECONCILING\020\010\022\013\n" + + "\007SYNCING\020\t:\202\001\352A\177\n" + + "2blockchainnodeengine.googleapis.com/BlockchainNode\022Ipro" + + "jects/{project}/locations/{location}/blockchainNodes/{blockchain_node}B\031\n" + + "\027blockchain_type_detailsB\022\n" + + "\020_blockchain_type\"\261\001\n" + + "\032ListBlockchainNodesRequest\022J\n" + + "\006parent\030\001 \001(" + + "\tB:\340A\002\372A4\0222blockchainnodeengine.googleapis.com/BlockchainNode\022\021\n" + + "\tpage_size\030\002 \001(\005\022\022\n\n" + + "page_token\030\003 \001(\t\022\016\n" + + "\006filter\030\004 \001(\t\022\020\n" + + "\010order_by\030\005 \001(\t\"\233\001\n" + + "\033ListBlockchainNodesResponse\022N\n" + + "\020blockchain_nodes\030\001 \003(\01324.go" + + "ogle.cloud.blockchainnodeengine.v1.BlockchainNode\022\027\n" + + "\017next_page_token\030\002 \001(\t\022\023\n" + + "\013unreachable\030\003 \003(\t\"d\n" + + "\030GetBlockchainNodeRequest\022H\n" + + "\004name\030\001 \001(\tB:\340A\002\372A4\n" + + "2blockchainnodeengine.googleapis.com/BlockchainNode\"\367\001\n" + + "\033CreateBlockchainNodeRequest\022J\n" + + "\006parent\030\001 \001(" + + "\tB:\340A\002\372A4\0222blockchainnodeengine.googleapis.com/BlockchainNode\022\037\n" + + "\022blockchain_node_id\030\002 \001(\tB\003\340A\002\022R\n" + + "\017blockchain_node\030\003 " + + "\001(\01324.google.cloud.blockchainnodeengine.v1.BlockchainNodeB\003\340A\002\022\027\n\n" + + "request_id\030\004 \001(\tB\003\340A\001\"\300\001\n" + + "\033UpdateBlockchainNodeRequest\0224\n" + + "\013update_mask\030\001 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\022R\n" + + "\017blockchain_node\030\002 \001(\01324" + + ".google.cloud.blockchainnodeengine.v1.BlockchainNodeB\003\340A\002\022\027\n\n" + + "request_id\030\003 \001(\tB\003\340A\001\"\200\001\n" + + "\033DeleteBlockchainNodeRequest\022H\n" + + "\004name\030\001 \001(\tB:\340A\002\372A4\n" + + "2blockchainnodeengine.googleapis.com/BlockchainNode\022\027\n\n" + + "request_id\030\002 \001(\tB\003\340A\001\"\200\002\n" + + "\021OperationMetadata\0224\n" + + "\013create_time\030\001 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n" + + "\010end_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\023\n" + + "\006target\030\003 \001(\tB\003\340A\003\022\021\n" + + "\004verb\030\004 \001(\tB\003\340A\003\022\033\n" + + "\016status_message\030\005 \001(\tB\003\340A\003\022#\n" + + "\026requested_cancellation\030\006 \001(\010B\003\340A\003\022\030\n" + + "\013api_version\030\007 \001(\tB\003\340A\0032\310\n\n" + + "\024BlockchainNodeEngine\022\340\001\n" + + "\023ListBlockchainNodes\022@.google.cloud.blockchainnodeengine.v1" + + ".ListBlockchainNodesRequest\032A.google.cloud.blockchainnodeengine.v1.ListBlockchai" + + "nNodesResponse\"D\332A\006parent\202\323\344\223\0025\0223/v1/{pa" + + "rent=projects/*/locations/*}/blockchainNodes\022\315\001\n" + + "\021GetBlockchainNode\022>.google.cloud.blockchainnodeengine.v1.GetBlockchainN" + + "odeRequest\0324.google.cloud.blockchainnode" + + "engine.v1.BlockchainNode\"B\332A\004name\202\323\344\223\0025\022" + + "3/v1/{name=projects/*/locations/*/blockchainNodes/*}\022\231\002\n" + + "\024CreateBlockchainNode\022A.google.cloud.blockchainnodeengine.v1.Cre" + + "ateBlockchainNodeRequest\032\035.google.longrunning.Operation\"\236\001\312A#\n" + + "\016BlockchainNode\022\021OperationMetadata\332A)parent,blockchain_nod" + + "e,blockchain_node_id\202\323\344\223\002F\"3/v1/{parent=" + + "projects/*/locations/*}/blockchainNodes:\017blockchain_node\022\233\002\n" + + "\024UpdateBlockchainNode\022A.google.cloud.blockchainnodeengine.v1" + + ".UpdateBlockchainNodeRequest\032\035.google.longrunning.Operation\"\240\001\312A#\n" + + "\016BlockchainNode\022\021OperationMetadata\332A\033blockchain_node,u" + + "pdate_mask\202\323\344\223\002V2C/v1/{blockchain_node.n" + + "ame=projects/*/locations/*/blockchainNodes/*}:\017blockchain_node\022\351\001\n" + + "\024DeleteBlockchainNode\022A.google.cloud.blockchainnodeeng" + + "ine.v1.DeleteBlockchainNodeRequest\032\035.google.longrunning.Operation\"o\312A*\n" + + "\025google.protobuf.Empty\022\021OperationMetadata\332A\004name\202" + + "\323\344\223\0025*3/v1/{name=projects/*/locations/*/" + + "blockchainNodes/*}\032W\312A#blockchainnodeeng" + + "ine.googleapis.com\322A.https://www.googleapis.com/auth/cloud-platformB\235\002\n" + + "(com.google.cloud.blockchainnodeengine.v1B\031Blockc" + + "hainnodeengineProtoP\001Z\\cloud.google.com/go/blockchainnodeengine/apiv1/blockchain" + + "nodeenginepb;blockchainnodeenginepb\252\002$Go" + + "ogle.Cloud.BlockchainNodeEngine.V1\312\002$Goo" + + "gle\\Cloud\\BlockchainNodeEngine\\V1\352\002\'Goog" + + "le::Cloud::BlockchainNodeEngine::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), + com.google.api.ClientProto.getDescriptor(), + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.longrunning.OperationsProto.getDescriptor(), + com.google.protobuf.EmptyProto.getDescriptor(), + com.google.protobuf.FieldMaskProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor, + new java.lang.String[] { + "EthereumDetails", + "Name", + "CreateTime", + "UpdateTime", + "Labels", + "BlockchainType", + "ConnectionInfo", + "State", + "PrivateServiceConnectEnabled", + "BlockchainTypeDetails", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor + .getNestedType(0); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor, + new java.lang.String[] { + "EndpointInfo", "ServiceAttachment", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_descriptor + .getNestedType(0); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_ConnectionInfo_EndpointInfo_descriptor, + new java.lang.String[] { + "JsonRpcApiEndpoint", "WebsocketsApiEndpoint", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor + .getNestedType(1); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor, + new java.lang.String[] { + "GethDetails", + "Network", + "NodeType", + "ExecutionClient", + "ConsensusClient", + "ApiEnableAdmin", + "ApiEnableDebug", + "AdditionalEndpoints", + "ValidatorConfig", + "ExecutionClientDetails", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor + .getNestedType(0); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_GethDetails_descriptor, + new java.lang.String[] { + "GarbageCollectionMode", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor + .getNestedType(1); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_EthereumEndpoints_descriptor, + new java.lang.String[] { + "BeaconApiEndpoint", + "BeaconPrometheusMetricsApiEndpoint", + "ExecutionClientPrometheusMetricsApiEndpoint", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_descriptor + .getNestedType(2); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_EthereumDetails_ValidatorConfig_descriptor, + new java.lang.String[] { + "MevRelayUrls", "ManagedValidatorClient", "BeaconFeeRecipient", + }); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_LabelsEntry_descriptor = + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_descriptor + .getNestedType(2); + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_LabelsEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_BlockchainNode_LabelsEntry_descriptor, + new java.lang.String[] { + "Key", "Value", + }); + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", "Filter", "OrderBy", + }); + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_descriptor = + getDescriptor().getMessageType(2); + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_descriptor, + new java.lang.String[] { + "BlockchainNodes", "NextPageToken", "Unreachable", + }); + internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_descriptor = + getDescriptor().getMessageType(3); + internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_descriptor = + getDescriptor().getMessageType(4); + internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_descriptor, + new java.lang.String[] { + "Parent", "BlockchainNodeId", "BlockchainNode", "RequestId", + }); + internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_descriptor = + getDescriptor().getMessageType(5); + internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_descriptor, + new java.lang.String[] { + "UpdateMask", "BlockchainNode", "RequestId", + }); + internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_descriptor = + getDescriptor().getMessageType(6); + internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_descriptor, + new java.lang.String[] { + "Name", "RequestId", + }); + internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_descriptor = + getDescriptor().getMessageType(7); + internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_descriptor, + new java.lang.String[] { + "CreateTime", + "EndTime", + "Target", + "Verb", + "StatusMessage", + "RequestedCancellation", + "ApiVersion", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.AnnotationsProto.getDescriptor(); + com.google.api.ClientProto.getDescriptor(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.longrunning.OperationsProto.getDescriptor(); + com.google.protobuf.EmptyProto.getDescriptor(); + com.google.protobuf.FieldMaskProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.ClientProto.defaultHost); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.AnnotationsProto.http); + registry.add(com.google.api.ClientProto.methodSignature); + registry.add(com.google.api.ClientProto.oauthScopes); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceReference); + registry.add(com.google.longrunning.OperationsProto.operationInfo); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequest.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequest.java new file mode 100644 index 000000000000..11d4fc6d232f --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequest.java @@ -0,0 +1,1408 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Message for creating a blockchain node.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest} + */ +@com.google.protobuf.Generated +public final class CreateBlockchainNodeRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) + CreateBlockchainNodeRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "CreateBlockchainNodeRequest"); + } + + // Use CreateBlockchainNodeRequest.newBuilder() to construct. + private CreateBlockchainNodeRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CreateBlockchainNodeRequest() { + parent_ = ""; + blockchainNodeId_ = ""; + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest.Builder.class); + } + + private int bitField0_; + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BLOCKCHAIN_NODE_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object blockchainNodeId_ = ""; + + /** + * + * + *
+   * Required. ID of the requesting object.
+   * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The blockchainNodeId. + */ + @java.lang.Override + public java.lang.String getBlockchainNodeId() { + java.lang.Object ref = blockchainNodeId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + blockchainNodeId_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. ID of the requesting object.
+   * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for blockchainNodeId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBlockchainNodeIdBytes() { + java.lang.Object ref = blockchainNodeId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + blockchainNodeId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BLOCKCHAIN_NODE_FIELD_NUMBER = 3; + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode blockchainNode_; + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the blockchainNode field is set. + */ + @java.lang.Override + public boolean hasBlockchainNode() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The blockchainNode. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode() { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder + getBlockchainNodeOrBuilder() { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } + + public static final int REQUEST_ID_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(blockchainNodeId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, blockchainNodeId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getBlockchainNode()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(blockchainNodeId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, blockchainNodeId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getBlockchainNode()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest other = + (com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getBlockchainNodeId().equals(other.getBlockchainNodeId())) return false; + if (hasBlockchainNode() != other.hasBlockchainNode()) return false; + if (hasBlockchainNode()) { + if (!getBlockchainNode().equals(other.getBlockchainNode())) return false; + } + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + BLOCKCHAIN_NODE_ID_FIELD_NUMBER; + hash = (53 * hash) + getBlockchainNodeId().hashCode(); + if (hasBlockchainNode()) { + hash = (37 * hash) + BLOCKCHAIN_NODE_FIELD_NUMBER; + hash = (53 * hash) + getBlockchainNode().hashCode(); + } + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating a blockchain node.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetBlockchainNodeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + blockchainNodeId_ = ""; + blockchainNode_ = null; + if (blockchainNodeBuilder_ != null) { + blockchainNodeBuilder_.dispose(); + blockchainNodeBuilder_ = null; + } + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_CreateBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest build() { + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest buildPartial() { + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest result = + new com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.blockchainNodeId_ = blockchainNodeId_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.blockchainNode_ = + blockchainNodeBuilder_ == null ? blockchainNode_ : blockchainNodeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.requestId_ = requestId_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getBlockchainNodeId().isEmpty()) { + blockchainNodeId_ = other.blockchainNodeId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasBlockchainNode()) { + mergeBlockchainNode(other.getBlockchainNode()); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + blockchainNodeId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetBlockchainNodeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object blockchainNodeId_ = ""; + + /** + * + * + *
+     * Required. ID of the requesting object.
+     * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The blockchainNodeId. + */ + public java.lang.String getBlockchainNodeId() { + java.lang.Object ref = blockchainNodeId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + blockchainNodeId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. ID of the requesting object.
+     * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for blockchainNodeId. + */ + public com.google.protobuf.ByteString getBlockchainNodeIdBytes() { + java.lang.Object ref = blockchainNodeId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + blockchainNodeId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. ID of the requesting object.
+     * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The blockchainNodeId to set. + * @return This builder for chaining. + */ + public Builder setBlockchainNodeId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + blockchainNodeId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. ID of the requesting object.
+     * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearBlockchainNodeId() { + blockchainNodeId_ = getDefaultInstance().getBlockchainNodeId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. ID of the requesting object.
+     * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for blockchainNodeId to set. + * @return This builder for chaining. + */ + public Builder setBlockchainNodeIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + blockchainNodeId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode blockchainNode_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + blockchainNodeBuilder_; + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the blockchainNode field is set. + */ + public boolean hasBlockchainNode() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The blockchainNode. + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode() { + if (blockchainNodeBuilder_ == null) { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } else { + return blockchainNodeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + blockchainNode_ = value; + } else { + blockchainNodeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder builderForValue) { + if (blockchainNodeBuilder_ == null) { + blockchainNode_ = builderForValue.build(); + } else { + blockchainNodeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodeBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && blockchainNode_ != null + && blockchainNode_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance()) { + getBlockchainNodeBuilder().mergeFrom(value); + } else { + blockchainNode_ = value; + } + } else { + blockchainNodeBuilder_.mergeFrom(value); + } + if (blockchainNode_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearBlockchainNode() { + bitField0_ = (bitField0_ & ~0x00000004); + blockchainNode_ = null; + if (blockchainNodeBuilder_ != null) { + blockchainNodeBuilder_.dispose(); + blockchainNodeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder + getBlockchainNodeBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetBlockchainNodeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder + getBlockchainNodeOrBuilder() { + if (blockchainNodeBuilder_ != null) { + return blockchainNodeBuilder_.getMessageOrBuilder(); + } else { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + internalGetBlockchainNodeFieldBuilder() { + if (blockchainNodeBuilder_ == null) { + blockchainNodeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder>( + getBlockchainNode(), getParentForChildren(), isClean()); + blockchainNode_ = null; + } + return blockchainNodeBuilder_; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) + private static final com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest(); + } + + public static com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateBlockchainNodeRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequestOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequestOrBuilder.java new file mode 100644 index 000000000000..cbf3d14754a4 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/CreateBlockchainNodeRequestOrBuilder.java @@ -0,0 +1,177 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface CreateBlockchainNodeRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. ID of the requesting object.
+   * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The blockchainNodeId. + */ + java.lang.String getBlockchainNodeId(); + + /** + * + * + *
+   * Required. ID of the requesting object.
+   * 
+ * + * string blockchain_node_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for blockchainNodeId. + */ + com.google.protobuf.ByteString getBlockchainNodeIdBytes(); + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the blockchainNode field is set. + */ + boolean hasBlockchainNode(); + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The blockchainNode. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode(); + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder getBlockchainNodeOrBuilder(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequest.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequest.java new file mode 100644 index 000000000000..30a53621aeab --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequest.java @@ -0,0 +1,902 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Message for deleting a blockchain node.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest} + */ +@com.google.protobuf.Generated +public final class DeleteBlockchainNodeRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) + DeleteBlockchainNodeRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "DeleteBlockchainNodeRequest"); + } + + // Use DeleteBlockchainNodeRequest.newBuilder() to construct. + private DeleteBlockchainNodeRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private DeleteBlockchainNodeRequest() { + name_ = ""; + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to delete.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to delete.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REQUEST_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest other = + (com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for deleting a blockchain node.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_DeleteBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest build() { + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest buildPartial() { + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest result = + new com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.requestId_ = requestId_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to delete.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to delete.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to delete.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to delete.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to delete.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) + private static final com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest(); + } + + public static com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteBlockchainNodeRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequestOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequestOrBuilder.java new file mode 100644 index 000000000000..a4615de62ff0 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/DeleteBlockchainNodeRequestOrBuilder.java @@ -0,0 +1,110 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface DeleteBlockchainNodeRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to delete.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to delete.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequest.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequest.java new file mode 100644 index 000000000000..2d21a00e0e9c --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequest.java @@ -0,0 +1,627 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Message for getting a blockchain node.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest} + */ +@com.google.protobuf.Generated +public final class GetBlockchainNodeRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) + GetBlockchainNodeRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "GetBlockchainNodeRequest"); + } + + // Use GetBlockchainNodeRequest.newBuilder() to construct. + private GetBlockchainNodeRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetBlockchainNodeRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to fetch.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to fetch.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest other = + (com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a blockchain node.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_GetBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest build() { + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest buildPartial() { + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest result = + new com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) { + return mergeFrom((com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to fetch.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to fetch.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to fetch.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to fetch.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The fully qualified name of the blockchain node to fetch.
+     * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) + private static final com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest(); + } + + public static com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetBlockchainNodeRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequestOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequestOrBuilder.java new file mode 100644 index 000000000000..62312c613234 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/GetBlockchainNodeRequestOrBuilder.java @@ -0,0 +1,60 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface GetBlockchainNodeRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to fetch.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The fully qualified name of the blockchain node to fetch.
+   * e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequest.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequest.java new file mode 100644 index 000000000000..ec7a003c45af --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequest.java @@ -0,0 +1,1290 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Message for requesting list of blockchain nodes.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest} + */ +@com.google.protobuf.Generated +public final class ListBlockchainNodesRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) + ListBlockchainNodesRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ListBlockchainNodesRequest"); + } + + // Use ListBlockchainNodesRequest.newBuilder() to construct. + private ListBlockchainNodesRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListBlockchainNodesRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest.class, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for `ListNodesRequest`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for `ListNodesRequest`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Requested page size. Server may return fewer items than requested.
+   * If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Filtering results.
+   * 
+ * + * string filter = 4; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Filtering results.
+   * 
+ * + * string filter = 4; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ORDER_BY_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object orderBy_ = ""; + + /** + * + * + *
+   * Hint for how to order the results.
+   * 
+ * + * string order_by = 5; + * + * @return The orderBy. + */ + @java.lang.Override + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } + } + + /** + * + * + *
+   * Hint for how to order the results.
+   * 
+ * + * string order_by = 5; + * + * @return The bytes for orderBy. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, orderBy_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, orderBy_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest other = + (com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getOrderBy().equals(other.getOrderBy())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + ORDER_BY_FIELD_NUMBER; + hash = (53 * hash) + getOrderBy().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of blockchain nodes.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest.class, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest build() { + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest buildPartial() { + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest result = + new com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.orderBy_ = orderBy_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getOrderBy().isEmpty()) { + orderBy_ = other.orderBy_; + bitField0_ |= 0x00000010; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + orderBy_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for `ListNodesRequest`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for `ListNodesRequest`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for `ListNodesRequest`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for `ListNodesRequest`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for `ListNodesRequest`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Requested page size. Server may return fewer items than requested.
+     * If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Requested page size. Server may return fewer items than requested.
+     * If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Requested page size. Server may return fewer items than requested.
+     * If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Filtering results.
+     * 
+ * + * string filter = 4; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Filtering results.
+     * 
+ * + * string filter = 4; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Filtering results.
+     * 
+ * + * string filter = 4; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Filtering results.
+     * 
+ * + * string filter = 4; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Filtering results.
+     * 
+ * + * string filter = 4; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object orderBy_ = ""; + + /** + * + * + *
+     * Hint for how to order the results.
+     * 
+ * + * string order_by = 5; + * + * @return The orderBy. + */ + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Hint for how to order the results.
+     * 
+ * + * string order_by = 5; + * + * @return The bytes for orderBy. + */ + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Hint for how to order the results.
+     * 
+ * + * string order_by = 5; + * + * @param value The orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderBy(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Hint for how to order the results.
+     * 
+ * + * string order_by = 5; + * + * @return This builder for chaining. + */ + public Builder clearOrderBy() { + orderBy_ = getDefaultInstance().getOrderBy(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Hint for how to order the results.
+     * 
+ * + * string order_by = 5; + * + * @param value The bytes for orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderByBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) + private static final com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest(); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListBlockchainNodesRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequestOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequestOrBuilder.java new file mode 100644 index 000000000000..35324f685c82 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesRequestOrBuilder.java @@ -0,0 +1,150 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface ListBlockchainNodesRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for `ListNodesRequest`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for `ListNodesRequest`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Requested page size. Server may return fewer items than requested.
+   * If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Filtering results.
+   * 
+ * + * string filter = 4; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Filtering results.
+   * 
+ * + * string filter = 4; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Hint for how to order the results.
+   * 
+ * + * string order_by = 5; + * + * @return The orderBy. + */ + java.lang.String getOrderBy(); + + /** + * + * + *
+   * Hint for how to order the results.
+   * 
+ * + * string order_by = 5; + * + * @return The bytes for orderBy. + */ + com.google.protobuf.ByteString getOrderByBytes(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponse.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponse.java new file mode 100644 index 000000000000..3d64c64a4763 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponse.java @@ -0,0 +1,1458 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Message for response to listing blockchain nodes.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse} + */ +@com.google.protobuf.Generated +public final class ListBlockchainNodesResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) + ListBlockchainNodesResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ListBlockchainNodesResponse"); + } + + // Use ListBlockchainNodesResponse.newBuilder() to construct. + private ListBlockchainNodesResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListBlockchainNodesResponse() { + blockchainNodes_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + unreachable_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse.class, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse.Builder.class); + } + + public static final int BLOCKCHAIN_NODES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List blockchainNodes_; + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + @java.lang.Override + public java.util.List + getBlockchainNodesList() { + return blockchainNodes_; + } + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + @java.lang.Override + public java.util.List + getBlockchainNodesOrBuilderList() { + return blockchainNodes_; + } + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + @java.lang.Override + public int getBlockchainNodesCount() { + return blockchainNodes_.size(); + } + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNodes(int index) { + return blockchainNodes_.get(index); + } + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder + getBlockchainNodesOrBuilder(int index) { + return blockchainNodes_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int UNREACHABLE_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList unreachable_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @return A list containing the unreachable. + */ + public com.google.protobuf.ProtocolStringList getUnreachableList() { + return unreachable_; + } + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @return The count of unreachable. + */ + public int getUnreachableCount() { + return unreachable_.size(); + } + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @param index The index of the element to return. + * @return The unreachable at the given index. + */ + public java.lang.String getUnreachable(int index) { + return unreachable_.get(index); + } + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @param index The index of the value to return. + * @return The bytes of the unreachable at the given index. + */ + public com.google.protobuf.ByteString getUnreachableBytes(int index) { + return unreachable_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < blockchainNodes_.size(); i++) { + output.writeMessage(1, blockchainNodes_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + for (int i = 0; i < unreachable_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, unreachable_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < blockchainNodes_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, blockchainNodes_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + { + int dataSize = 0; + for (int i = 0; i < unreachable_.size(); i++) { + dataSize += computeStringSizeNoTag(unreachable_.getRaw(i)); + } + size += dataSize; + size += 1 * getUnreachableList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse other = + (com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) obj; + + if (!getBlockchainNodesList().equals(other.getBlockchainNodesList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnreachableList().equals(other.getUnreachableList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getBlockchainNodesCount() > 0) { + hash = (37 * hash) + BLOCKCHAIN_NODES_FIELD_NUMBER; + hash = (53 * hash) + getBlockchainNodesList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + if (getUnreachableCount() > 0) { + hash = (37 * hash) + UNREACHABLE_FIELD_NUMBER; + hash = (53 * hash) + getUnreachableList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing blockchain nodes.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse.class, + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (blockchainNodesBuilder_ == null) { + blockchainNodes_ = java.util.Collections.emptyList(); + } else { + blockchainNodes_ = null; + blockchainNodesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + unreachable_ = com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_ListBlockchainNodesResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse build() { + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse buildPartial() { + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse result = + new com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse result) { + if (blockchainNodesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + blockchainNodes_ = java.util.Collections.unmodifiableList(blockchainNodes_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.blockchainNodes_ = blockchainNodes_; + } else { + result.blockchainNodes_ = blockchainNodesBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + unreachable_.makeImmutable(); + result.unreachable_ = unreachable_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + .getDefaultInstance()) return this; + if (blockchainNodesBuilder_ == null) { + if (!other.blockchainNodes_.isEmpty()) { + if (blockchainNodes_.isEmpty()) { + blockchainNodes_ = other.blockchainNodes_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureBlockchainNodesIsMutable(); + blockchainNodes_.addAll(other.blockchainNodes_); + } + onChanged(); + } + } else { + if (!other.blockchainNodes_.isEmpty()) { + if (blockchainNodesBuilder_.isEmpty()) { + blockchainNodesBuilder_.dispose(); + blockchainNodesBuilder_ = null; + blockchainNodes_ = other.blockchainNodes_; + bitField0_ = (bitField0_ & ~0x00000001); + blockchainNodesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetBlockchainNodesFieldBuilder() + : null; + } else { + blockchainNodesBuilder_.addAllMessages(other.blockchainNodes_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.unreachable_.isEmpty()) { + if (unreachable_.isEmpty()) { + unreachable_ = other.unreachable_; + bitField0_ |= 0x00000004; + } else { + ensureUnreachableIsMutable(); + unreachable_.addAll(other.unreachable_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.blockchainnodeengine.v1.BlockchainNode m = + input.readMessage( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.parser(), + extensionRegistry); + if (blockchainNodesBuilder_ == null) { + ensureBlockchainNodesIsMutable(); + blockchainNodes_.add(m); + } else { + blockchainNodesBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureUnreachableIsMutable(); + unreachable_.add(s); + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List + blockchainNodes_ = java.util.Collections.emptyList(); + + private void ensureBlockchainNodesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + blockchainNodes_ = + new java.util.ArrayList( + blockchainNodes_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + blockchainNodesBuilder_; + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public java.util.List + getBlockchainNodesList() { + if (blockchainNodesBuilder_ == null) { + return java.util.Collections.unmodifiableList(blockchainNodes_); + } else { + return blockchainNodesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public int getBlockchainNodesCount() { + if (blockchainNodesBuilder_ == null) { + return blockchainNodes_.size(); + } else { + return blockchainNodesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNodes(int index) { + if (blockchainNodesBuilder_ == null) { + return blockchainNodes_.get(index); + } else { + return blockchainNodesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder setBlockchainNodes( + int index, com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBlockchainNodesIsMutable(); + blockchainNodes_.set(index, value); + onChanged(); + } else { + blockchainNodesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder setBlockchainNodes( + int index, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder builderForValue) { + if (blockchainNodesBuilder_ == null) { + ensureBlockchainNodesIsMutable(); + blockchainNodes_.set(index, builderForValue.build()); + onChanged(); + } else { + blockchainNodesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder addBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBlockchainNodesIsMutable(); + blockchainNodes_.add(value); + onChanged(); + } else { + blockchainNodesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder addBlockchainNodes( + int index, com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBlockchainNodesIsMutable(); + blockchainNodes_.add(index, value); + onChanged(); + } else { + blockchainNodesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder addBlockchainNodes( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder builderForValue) { + if (blockchainNodesBuilder_ == null) { + ensureBlockchainNodesIsMutable(); + blockchainNodes_.add(builderForValue.build()); + onChanged(); + } else { + blockchainNodesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder addBlockchainNodes( + int index, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder builderForValue) { + if (blockchainNodesBuilder_ == null) { + ensureBlockchainNodesIsMutable(); + blockchainNodes_.add(index, builderForValue.build()); + onChanged(); + } else { + blockchainNodesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder addAllBlockchainNodes( + java.lang.Iterable + values) { + if (blockchainNodesBuilder_ == null) { + ensureBlockchainNodesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, blockchainNodes_); + onChanged(); + } else { + blockchainNodesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder clearBlockchainNodes() { + if (blockchainNodesBuilder_ == null) { + blockchainNodes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + blockchainNodesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public Builder removeBlockchainNodes(int index) { + if (blockchainNodesBuilder_ == null) { + ensureBlockchainNodesIsMutable(); + blockchainNodes_.remove(index); + onChanged(); + } else { + blockchainNodesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder + getBlockchainNodesBuilder(int index) { + return internalGetBlockchainNodesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder + getBlockchainNodesOrBuilder(int index) { + if (blockchainNodesBuilder_ == null) { + return blockchainNodes_.get(index); + } else { + return blockchainNodesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public java.util.List< + ? extends com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + getBlockchainNodesOrBuilderList() { + if (blockchainNodesBuilder_ != null) { + return blockchainNodesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(blockchainNodes_); + } + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder + addBlockchainNodesBuilder() { + return internalGetBlockchainNodesFieldBuilder() + .addBuilder(com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder + addBlockchainNodesBuilder(int index) { + return internalGetBlockchainNodesFieldBuilder() + .addBuilder( + index, com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of nodes
+     * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + public java.util.List + getBlockchainNodesBuilderList() { + return internalGetBlockchainNodesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + internalGetBlockchainNodesFieldBuilder() { + if (blockchainNodesBuilder_ == null) { + blockchainNodesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder>( + blockchainNodes_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + blockchainNodes_ = null; + } + return blockchainNodesBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList unreachable_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureUnreachableIsMutable() { + if (!unreachable_.isModifiable()) { + unreachable_ = new com.google.protobuf.LazyStringArrayList(unreachable_); + } + bitField0_ |= 0x00000004; + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @return A list containing the unreachable. + */ + public com.google.protobuf.ProtocolStringList getUnreachableList() { + unreachable_.makeImmutable(); + return unreachable_; + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @return The count of unreachable. + */ + public int getUnreachableCount() { + return unreachable_.size(); + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @param index The index of the element to return. + * @return The unreachable at the given index. + */ + public java.lang.String getUnreachable(int index) { + return unreachable_.get(index); + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @param index The index of the value to return. + * @return The bytes of the unreachable at the given index. + */ + public com.google.protobuf.ByteString getUnreachableBytes(int index) { + return unreachable_.getByteString(index); + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @param index The index to set the value at. + * @param value The unreachable to set. + * @return This builder for chaining. + */ + public Builder setUnreachable(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnreachableIsMutable(); + unreachable_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @param value The unreachable to add. + * @return This builder for chaining. + */ + public Builder addUnreachable(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnreachableIsMutable(); + unreachable_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @param values The unreachable to add. + * @return This builder for chaining. + */ + public Builder addAllUnreachable(java.lang.Iterable values) { + ensureUnreachableIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, unreachable_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @return This builder for chaining. + */ + public Builder clearUnreachable() { + unreachable_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + ; + onChanged(); + return this; + } + + /** + * + * + *
+     * Locations that could not be reached.
+     * 
+ * + * repeated string unreachable = 3; + * + * @param value The bytes of the unreachable to add. + * @return This builder for chaining. + */ + public Builder addUnreachableBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureUnreachableIsMutable(); + unreachable_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) + private static final com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse(); + } + + public static com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListBlockchainNodesResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponseOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponseOrBuilder.java new file mode 100644 index 000000000000..61ae67fafd5e --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/ListBlockchainNodesResponseOrBuilder.java @@ -0,0 +1,170 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface ListBlockchainNodesResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + java.util.List getBlockchainNodesList(); + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNodes(int index); + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + int getBlockchainNodesCount(); + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + java.util.List + getBlockchainNodesOrBuilderList(); + + /** + * + * + *
+   * The list of nodes
+   * 
+ * + * repeated .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_nodes = 1; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder getBlockchainNodesOrBuilder( + int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @return A list containing the unreachable. + */ + java.util.List getUnreachableList(); + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @return The count of unreachable. + */ + int getUnreachableCount(); + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @param index The index of the element to return. + * @return The unreachable at the given index. + */ + java.lang.String getUnreachable(int index); + + /** + * + * + *
+   * Locations that could not be reached.
+   * 
+ * + * repeated string unreachable = 3; + * + * @param index The index of the value to return. + * @return The bytes of the unreachable at the given index. + */ + com.google.protobuf.ByteString getUnreachableBytes(int index); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/LocationName.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/LocationName.java new file mode 100644 index 000000000000..7836fadc14f6 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/LocationName.java @@ -0,0 +1,195 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class LocationName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION = + PathTemplate.createWithoutUrlEncoding("projects/{project}/locations/{location}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + + @Deprecated + protected LocationName() { + project = null; + location = null; + } + + private LocationName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static LocationName of(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build(); + } + + public static String format(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build().toString(); + } + + public static @Nullable LocationName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION.validatedMatch( + formattedString, "LocationName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable LocationName> values) { + List list = new ArrayList<>(values.size()); + for (LocationName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION.instantiate("project", project, "location", location); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + LocationName that = ((LocationName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + return h; + } + + /** Builder for projects/{project}/locations/{location}. */ + public static class Builder { + private String project; + private String location; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + private Builder(LocationName locationName) { + this.project = locationName.project; + this.location = locationName.location; + } + + public LocationName build() { + return new LocationName(this); + } + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadata.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadata.java new file mode 100644 index 000000000000..9f91ebb3126c --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadata.java @@ -0,0 +1,1870 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Represents the metadata of the long-running operation.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.OperationMetadata} + */ +@com.google.protobuf.Generated +public final class OperationMetadata extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.OperationMetadata) + OperationMetadataOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "OperationMetadata"); + } + + // Use OperationMetadata.newBuilder() to construct. + private OperationMetadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private OperationMetadata() { + target_ = ""; + verb_ = ""; + statusMessage_ = ""; + apiVersion_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.OperationMetadata.class, + com.google.cloud.blockchainnodeengine.v1.OperationMetadata.Builder.class); + } + + private int bitField0_; + public static final int CREATE_TIME_FIELD_NUMBER = 1; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int END_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp endTime_; + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + @java.lang.Override + public boolean hasEndTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEndTime() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + public static final int TARGET_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object target_ = ""; + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + @java.lang.Override + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERB_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object verb_ = ""; + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + @java.lang.Override + public java.lang.String getVerb() { + java.lang.Object ref = verb_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + verb_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + @java.lang.Override + public com.google.protobuf.ByteString getVerbBytes() { + java.lang.Object ref = verb_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + verb_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STATUS_MESSAGE_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object statusMessage_ = ""; + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + @java.lang.Override + public java.lang.String getStatusMessage() { + java.lang.Object ref = statusMessage_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + statusMessage_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + @java.lang.Override + public com.google.protobuf.ByteString getStatusMessageBytes() { + java.lang.Object ref = statusMessage_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + statusMessage_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REQUESTED_CANCELLATION_FIELD_NUMBER = 6; + private boolean requestedCancellation_ = false; + + /** + * + * + *
+   * Output only. Identifies whether the user has requested cancellation
+   * of the operation. Operations that have been cancelled successfully
+   * have `[Operation.error][]` value with a
+   * `[google.rpc.Status.code][google.rpc.Status.code]` of `1`, corresponding to
+   * `Code.CANCELLED`.
+   * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + @java.lang.Override + public boolean getRequestedCancellation() { + return requestedCancellation_; + } + + public static final int API_VERSION_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object apiVersion_ = ""; + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + @java.lang.Override + public java.lang.String getApiVersion() { + java.lang.Object ref = apiVersion_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + apiVersion_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString getApiVersionBytes() { + java.lang.Object ref = apiVersion_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + apiVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getEndTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(target_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, target_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(verb_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, verb_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(statusMessage_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, statusMessage_); + } + if (requestedCancellation_ != false) { + output.writeBool(6, requestedCancellation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(apiVersion_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, apiVersion_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEndTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(target_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, target_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(verb_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, verb_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(statusMessage_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, statusMessage_); + } + if (requestedCancellation_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, requestedCancellation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(apiVersion_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, apiVersion_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.OperationMetadata)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.OperationMetadata other = + (com.google.cloud.blockchainnodeengine.v1.OperationMetadata) obj; + + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasEndTime() != other.hasEndTime()) return false; + if (hasEndTime()) { + if (!getEndTime().equals(other.getEndTime())) return false; + } + if (!getTarget().equals(other.getTarget())) return false; + if (!getVerb().equals(other.getVerb())) return false; + if (!getStatusMessage().equals(other.getStatusMessage())) return false; + if (getRequestedCancellation() != other.getRequestedCancellation()) return false; + if (!getApiVersion().equals(other.getApiVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasEndTime()) { + hash = (37 * hash) + END_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEndTime().hashCode(); + } + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + hash = (37 * hash) + VERB_FIELD_NUMBER; + hash = (53 * hash) + getVerb().hashCode(); + hash = (37 * hash) + STATUS_MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getStatusMessage().hashCode(); + hash = (37 * hash) + REQUESTED_CANCELLATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRequestedCancellation()); + hash = (37 * hash) + API_VERSION_FIELD_NUMBER; + hash = (53 * hash) + getApiVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.OperationMetadata prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents the metadata of the long-running operation.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.OperationMetadata} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.OperationMetadata) + com.google.cloud.blockchainnodeengine.v1.OperationMetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.OperationMetadata.class, + com.google.cloud.blockchainnodeengine.v1.OperationMetadata.Builder.class); + } + + // Construct using com.google.cloud.blockchainnodeengine.v1.OperationMetadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetEndTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + target_ = ""; + verb_ = ""; + statusMessage_ = ""; + requestedCancellation_ = false; + apiVersion_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.OperationMetadata getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.OperationMetadata.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.OperationMetadata build() { + com.google.cloud.blockchainnodeengine.v1.OperationMetadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.OperationMetadata buildPartial() { + com.google.cloud.blockchainnodeengine.v1.OperationMetadata result = + new com.google.cloud.blockchainnodeengine.v1.OperationMetadata(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.blockchainnodeengine.v1.OperationMetadata result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endTime_ = endTimeBuilder_ == null ? endTime_ : endTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.target_ = target_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.verb_ = verb_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.statusMessage_ = statusMessage_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.requestedCancellation_ = requestedCancellation_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.apiVersion_ = apiVersion_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.OperationMetadata) { + return mergeFrom((com.google.cloud.blockchainnodeengine.v1.OperationMetadata) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.blockchainnodeengine.v1.OperationMetadata other) { + if (other == com.google.cloud.blockchainnodeengine.v1.OperationMetadata.getDefaultInstance()) + return this; + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasEndTime()) { + mergeEndTime(other.getEndTime()); + } + if (!other.getTarget().isEmpty()) { + target_ = other.target_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getVerb().isEmpty()) { + verb_ = other.verb_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getStatusMessage().isEmpty()) { + statusMessage_ = other.statusMessage_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.getRequestedCancellation() != false) { + setRequestedCancellation(other.getRequestedCancellation()); + } + if (!other.getApiVersion().isEmpty()) { + apiVersion_ = other.apiVersion_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage(internalGetEndTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + target_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + verb_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + statusMessage_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: + { + requestedCancellation_ = input.readBool(); + bitField0_ |= 0x00000020; + break; + } // case 48 + case 58: + { + apiVersion_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 58 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000001); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp endTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + endTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + public boolean hasEndTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + public com.google.protobuf.Timestamp getEndTime() { + if (endTimeBuilder_ == null) { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } else { + return endTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTime_ = value; + } else { + endTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (endTimeBuilder_ == null) { + endTime_ = builderForValue.build(); + } else { + endTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && endTime_ != null + && endTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getEndTimeBuilder().mergeFrom(value); + } else { + endTime_ = value; + } + } else { + endTimeBuilder_.mergeFrom(value); + } + if (endTime_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEndTime() { + bitField0_ = (bitField0_ & ~0x00000002); + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getEndTimeBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetEndTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + if (endTimeBuilder_ != null) { + return endTimeBuilder_.getMessageOrBuilder(); + } else { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetEndTimeFieldBuilder() { + if (endTimeBuilder_ == null) { + endTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEndTime(), getParentForChildren(), isClean()); + endTime_ = null; + } + return endTimeBuilder_; + } + + private java.lang.Object target_ = ""; + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The target to set. + * @return This builder for chaining. + */ + public Builder setTarget(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTarget() { + target_ = getDefaultInstance().getTarget(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for target to set. + * @return This builder for chaining. + */ + public Builder setTargetBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object verb_ = ""; + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + public java.lang.String getVerb() { + java.lang.Object ref = verb_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + verb_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + public com.google.protobuf.ByteString getVerbBytes() { + java.lang.Object ref = verb_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + verb_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The verb to set. + * @return This builder for chaining. + */ + public Builder setVerb(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + verb_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearVerb() { + verb_ = getDefaultInstance().getVerb(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for verb to set. + * @return This builder for chaining. + */ + public Builder setVerbBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + verb_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object statusMessage_ = ""; + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + public java.lang.String getStatusMessage() { + java.lang.Object ref = statusMessage_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + statusMessage_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + public com.google.protobuf.ByteString getStatusMessageBytes() { + java.lang.Object ref = statusMessage_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + statusMessage_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The statusMessage to set. + * @return This builder for chaining. + */ + public Builder setStatusMessage(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + statusMessage_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearStatusMessage() { + statusMessage_ = getDefaultInstance().getStatusMessage(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for statusMessage to set. + * @return This builder for chaining. + */ + public Builder setStatusMessageBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + statusMessage_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private boolean requestedCancellation_; + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have `[Operation.error][]` value with a
+     * `[google.rpc.Status.code][google.rpc.Status.code]` of `1`, corresponding to
+     * `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + @java.lang.Override + public boolean getRequestedCancellation() { + return requestedCancellation_; + } + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have `[Operation.error][]` value with a
+     * `[google.rpc.Status.code][google.rpc.Status.code]` of `1`, corresponding to
+     * `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The requestedCancellation to set. + * @return This builder for chaining. + */ + public Builder setRequestedCancellation(boolean value) { + + requestedCancellation_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have `[Operation.error][]` value with a
+     * `[google.rpc.Status.code][google.rpc.Status.code]` of `1`, corresponding to
+     * `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearRequestedCancellation() { + bitField0_ = (bitField0_ & ~0x00000020); + requestedCancellation_ = false; + onChanged(); + return this; + } + + private java.lang.Object apiVersion_ = ""; + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + public java.lang.String getApiVersion() { + java.lang.Object ref = apiVersion_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + apiVersion_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + public com.google.protobuf.ByteString getApiVersionBytes() { + java.lang.Object ref = apiVersion_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + apiVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The apiVersion to set. + * @return This builder for chaining. + */ + public Builder setApiVersion(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + apiVersion_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearApiVersion() { + apiVersion_ = getDefaultInstance().getApiVersion(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for apiVersion to set. + * @return This builder for chaining. + */ + public Builder setApiVersionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + apiVersion_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.OperationMetadata) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.OperationMetadata) + private static final com.google.cloud.blockchainnodeengine.v1.OperationMetadata DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.OperationMetadata(); + } + + public static com.google.cloud.blockchainnodeengine.v1.OperationMetadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OperationMetadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.OperationMetadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadataOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadataOrBuilder.java new file mode 100644 index 000000000000..760c818b45da --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/OperationMetadataOrBuilder.java @@ -0,0 +1,229 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface OperationMetadataOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.OperationMetadata) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + boolean hasEndTime(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + com.google.protobuf.Timestamp getEndTime(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + java.lang.String getTarget(); + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + com.google.protobuf.ByteString getTargetBytes(); + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + java.lang.String getVerb(); + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + com.google.protobuf.ByteString getVerbBytes(); + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + java.lang.String getStatusMessage(); + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + com.google.protobuf.ByteString getStatusMessageBytes(); + + /** + * + * + *
+   * Output only. Identifies whether the user has requested cancellation
+   * of the operation. Operations that have been cancelled successfully
+   * have `[Operation.error][]` value with a
+   * `[google.rpc.Status.code][google.rpc.Status.code]` of `1`, corresponding to
+   * `Code.CANCELLED`.
+   * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + boolean getRequestedCancellation(); + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + java.lang.String getApiVersion(); + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + com.google.protobuf.ByteString getApiVersionBytes(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequest.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequest.java new file mode 100644 index 000000000000..dc58422d6abd --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequest.java @@ -0,0 +1,1353 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +/** + * + * + *
+ * Message for updating a blockchain node.
+ * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest} + */ +@com.google.protobuf.Generated +public final class UpdateBlockchainNodeRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) + UpdateBlockchainNodeRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "UpdateBlockchainNodeRequest"); + } + + // Use UpdateBlockchainNodeRequest.newBuilder() to construct. + private UpdateBlockchainNodeRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdateBlockchainNodeRequest() { + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest.Builder.class); + } + + private int bitField0_; + public static final int UPDATE_MASK_FIELD_NUMBER = 1; + private com.google.protobuf.FieldMask updateMask_; + + /** + * + * + *
+   * Required. Field mask is used to specify the fields to be overwritten in the
+   * Blockchain node resource by the update.
+   * The fields specified in the `update_mask` are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. Field mask is used to specify the fields to be overwritten in the
+   * Blockchain node resource by the update.
+   * The fields specified in the `update_mask` are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + /** + * + * + *
+   * Required. Field mask is used to specify the fields to be overwritten in the
+   * Blockchain node resource by the update.
+   * The fields specified in the `update_mask` are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + public static final int BLOCKCHAIN_NODE_FIELD_NUMBER = 2; + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode blockchainNode_; + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the blockchainNode field is set. + */ + @java.lang.Override + public boolean hasBlockchainNode() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The blockchainNode. + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode() { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder + getBlockchainNodeOrBuilder() { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } + + public static final int REQUEST_ID_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getUpdateMask()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getBlockchainNode()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUpdateMask()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getBlockchainNode()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest)) { + return super.equals(obj); + } + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest other = + (com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) obj; + + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (hasBlockchainNode() != other.hasBlockchainNode()) return false; + if (hasBlockchainNode()) { + if (!getBlockchainNode().equals(other.getBlockchainNode())) return false; + } + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + if (hasBlockchainNode()) { + hash = (37 * hash) + BLOCKCHAIN_NODE_FIELD_NUMBER; + hash = (53 * hash) + getBlockchainNode().hashCode(); + } + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for updating a blockchain node.
+   * 
+ * + * Protobuf type {@code google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest.class, + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest.Builder.class); + } + + // Construct using + // com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetUpdateMaskFieldBuilder(); + internalGetBlockchainNodeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + blockchainNode_ = null; + if (blockchainNodeBuilder_ != null) { + blockchainNodeBuilder_.dispose(); + blockchainNodeBuilder_ = null; + } + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.blockchainnodeengine.v1.BlockchainnodeengineProto + .internal_static_google_cloud_blockchainnodeengine_v1_UpdateBlockchainNodeRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + getDefaultInstanceForType() { + return com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest build() { + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest buildPartial() { + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest result = + new com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.updateMask_ = updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.blockchainNode_ = + blockchainNodeBuilder_ == null ? blockchainNode_ : blockchainNodeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.requestId_ = requestId_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) { + return mergeFrom( + (com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest other) { + if (other + == com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + .getDefaultInstance()) return this; + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + if (other.hasBlockchainNode()) { + mergeBlockchainNode(other.getBlockchainNode()); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetUpdateMaskFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetBlockchainNodeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + } else { + updateMaskBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && updateMask_ != null + && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { + getUpdateMaskBuilder().mergeFrom(value); + } else { + updateMask_ = value; + } + } else { + updateMaskBuilder_.mergeFrom(value); + } + if (updateMask_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearUpdateMask() { + bitField0_ = (bitField0_ & ~0x00000001); + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetUpdateMaskFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + + /** + * + * + *
+     * Required. Field mask is used to specify the fields to be overwritten in the
+     * Blockchain node resource by the update.
+     * The fields specified in the `update_mask` are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + internalGetUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + private com.google.cloud.blockchainnodeengine.v1.BlockchainNode blockchainNode_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + blockchainNodeBuilder_; + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the blockchainNode field is set. + */ + public boolean hasBlockchainNode() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The blockchainNode. + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode() { + if (blockchainNodeBuilder_ == null) { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } else { + return blockchainNodeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + blockchainNode_ = value; + } else { + blockchainNodeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder builderForValue) { + if (blockchainNodeBuilder_ == null) { + blockchainNode_ = builderForValue.build(); + } else { + blockchainNodeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeBlockchainNode( + com.google.cloud.blockchainnodeengine.v1.BlockchainNode value) { + if (blockchainNodeBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && blockchainNode_ != null + && blockchainNode_ + != com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance()) { + getBlockchainNodeBuilder().mergeFrom(value); + } else { + blockchainNode_ = value; + } + } else { + blockchainNodeBuilder_.mergeFrom(value); + } + if (blockchainNode_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearBlockchainNode() { + bitField0_ = (bitField0_ & ~0x00000002); + blockchainNode_ = null; + if (blockchainNodeBuilder_ != null) { + blockchainNodeBuilder_.dispose(); + blockchainNodeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder + getBlockchainNodeBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetBlockchainNodeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder + getBlockchainNodeOrBuilder() { + if (blockchainNodeBuilder_ != null) { + return blockchainNodeBuilder_.getMessageOrBuilder(); + } else { + return blockchainNode_ == null + ? com.google.cloud.blockchainnodeengine.v1.BlockchainNode.getDefaultInstance() + : blockchainNode_; + } + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder> + internalGetBlockchainNodeFieldBuilder() { + if (blockchainNodeBuilder_ == null) { + blockchainNodeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.blockchainnodeengine.v1.BlockchainNode, + com.google.cloud.blockchainnodeengine.v1.BlockchainNode.Builder, + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder>( + getBlockchainNode(), getParentForChildren(), isClean()); + blockchainNode_ = null; + } + return blockchainNodeBuilder_; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and
+     * the request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) + private static final com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest(); + } + + public static com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateBlockchainNodeRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequestOrBuilder.java b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequestOrBuilder.java new file mode 100644 index 000000000000..ae357ed48d91 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/java/com/google/cloud/blockchainnodeengine/v1/UpdateBlockchainNodeRequestOrBuilder.java @@ -0,0 +1,173 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.blockchainnodeengine.v1; + +@com.google.protobuf.Generated +public interface UpdateBlockchainNodeRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Field mask is used to specify the fields to be overwritten in the
+   * Blockchain node resource by the update.
+   * The fields specified in the `update_mask` are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + + /** + * + * + *
+   * Required. Field mask is used to specify the fields to be overwritten in the
+   * Blockchain node resource by the update.
+   * The fields specified in the `update_mask` are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + + /** + * + * + *
+   * Required. Field mask is used to specify the fields to be overwritten in the
+   * Blockchain node resource by the update.
+   * The fields specified in the `update_mask` are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the blockchainNode field is set. + */ + boolean hasBlockchainNode(); + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The blockchainNode. + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNode getBlockchainNode(); + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.blockchainnodeengine.v1.BlockchainNode blockchain_node = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.blockchainnodeengine.v1.BlockchainNodeOrBuilder getBlockchainNodeOrBuilder(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and
+   * the request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/proto/google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/proto/google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto new file mode 100644 index 000000000000..f3425e8ad258 --- /dev/null +++ b/java-blockchainnodeengine/proto-google-cloud-blockchainnodeengine-v1/src/main/proto/google/cloud/blockchainnodeengine/v1/blockchainnodeengine.proto @@ -0,0 +1,583 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.blockchainnodeengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.BlockchainNodeEngine.V1"; +option go_package = "cloud.google.com/go/blockchainnodeengine/apiv1/blockchainnodeenginepb;blockchainnodeenginepb"; +option java_multiple_files = true; +option java_outer_classname = "BlockchainnodeengineProto"; +option java_package = "com.google.cloud.blockchainnodeengine.v1"; +option php_namespace = "Google\\Cloud\\BlockchainNodeEngine\\V1"; +option ruby_package = "Google::Cloud::BlockchainNodeEngine::V1"; + +// This service is the control plane API for Blockchain Node Engine, +// and can be used to create, read, and delete blockchain nodes. +service BlockchainNodeEngine { + option (google.api.default_host) = "blockchainnodeengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists blockchain nodes in a given project and location. + rpc ListBlockchainNodes(ListBlockchainNodesRequest) + returns (ListBlockchainNodesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/blockchainNodes" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single blockchain node. + rpc GetBlockchainNode(GetBlockchainNodeRequest) returns (BlockchainNode) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/blockchainNodes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new blockchain node in a given project and location. + rpc CreateBlockchainNode(CreateBlockchainNodeRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/blockchainNodes" + body: "blockchain_node" + }; + option (google.api.method_signature) = + "parent,blockchain_node,blockchain_node_id"; + option (google.longrunning.operation_info) = { + response_type: "BlockchainNode" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single blockchain node. + rpc UpdateBlockchainNode(UpdateBlockchainNodeRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{blockchain_node.name=projects/*/locations/*/blockchainNodes/*}" + body: "blockchain_node" + }; + option (google.api.method_signature) = "blockchain_node,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "BlockchainNode" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single blockchain node. + rpc DeleteBlockchainNode(DeleteBlockchainNodeRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/blockchainNodes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// A representation of a blockchain node. +message BlockchainNode { + option (google.api.resource) = { + type: "blockchainnodeengine.googleapis.com/BlockchainNode" + pattern: "projects/{project}/locations/{location}/blockchainNodes/{blockchain_node}" + }; + + // The connection information through which to interact with a blockchain + // node. + message ConnectionInfo { + // Contains endpoint information through which to interact with a blockchain + // node. + message EndpointInfo { + // Output only. The assigned URL for the node JSON-RPC API endpoint. + string json_rpc_api_endpoint = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The assigned URL for the node WebSockets API endpoint. + string websockets_api_endpoint = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The endpoint information through which to interact with a + // blockchain node. + EndpointInfo endpoint_info = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A service attachment that exposes a node, and has the + // following format: + // projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name} + string service_attachment = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Ethereum-specific blockchain node details. + message EthereumDetails { + // Options for the Geth execution client. + // + // See [Command-line + // Options](https://geth.ethereum.org/docs/fundamentals/command-line-options) + // for more details. + message GethDetails { + // Blockchain garbage collection modes. Only applicable when `NodeType` is + // `FULL` or `ARCHIVE`. + enum GarbageCollectionMode { + // The garbage collection has not been specified. + GARBAGE_COLLECTION_MODE_UNSPECIFIED = 0; + + // Configures Geth's garbage collection so that older data not needed + // for a full node is deleted. This is the default mode when creating a + // full node. + FULL = 1; + + // Configures Geth's garbage collection so that old data is never + // deleted. This is the default mode when creating an archive node. This + // value can also be chosen when creating a full node in order to create + // a partial/recent archive node. See + // [Sync modes](https://geth.ethereum.org/docs/fundamentals/sync-modes) + // for more details. + ARCHIVE = 2; + } + + // Immutable. Blockchain garbage collection mode. + optional GarbageCollectionMode garbage_collection_mode = 1 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // Contains endpoint information specific to Ethereum nodes. + message EthereumEndpoints { + // Output only. The assigned URL for the node's Beacon API endpoint. + string beacon_api_endpoint = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The assigned URL for the node's Beacon Prometheus metrics + // endpoint. See [Prometheus + // Metrics](https://lighthouse-book.sigmaprime.io/advanced_metrics.html) + // for more details. + string beacon_prometheus_metrics_api_endpoint = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The assigned URL for the node's execution client's + // Prometheus metrics endpoint. + string execution_client_prometheus_metrics_api_endpoint = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Configuration for validator-related parameters on the beacon client, + // and for any GCP-managed validator client. + message ValidatorConfig { + // URLs for MEV-relay services to use for block building. When set, a + // GCP-managed MEV-boost service is configured on the beacon client. + repeated string mev_relay_urls = 1; + + // Immutable. When true, deploys a GCP-managed validator client alongside + // the beacon client. + bool managed_validator_client = 2 + [(google.api.field_behavior) = IMMUTABLE, deprecated = true]; + + // An Ethereum address which the beacon client will send fee rewards to if + // no recipient is configured in the validator client. + // + // See https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html + // or https://docs.prylabs.network/docs/execution-node/fee-recipient for + // examples of how this is used. + // + // Note that while this is often described as "suggested", as we run the + // execution node we can trust the execution node, and therefore this is + // considered enforced. + optional string beacon_fee_recipient = 3; + } + + // The Ethereum environment being accessed. + // + // See [Networks](https://ethereum.org/en/developers/docs/networks) + // for more details. + enum Network { + // The network has not been specified, but should be. + NETWORK_UNSPECIFIED = 0; + + // The Ethereum Mainnet. + MAINNET = 1; + + // Deprecated: The Ethereum Testnet based on Goerli protocol. Please + // use another test network. + TESTNET_GOERLI_PRATER = 2 [deprecated = true]; + + // The Ethereum Testnet based on Sepolia/Bepolia protocol. + // See https://github.com/eth-clients/sepolia. + TESTNET_SEPOLIA = 3; + + // The Ethereum Testnet based on Holesky specification. + // See https://github.com/eth-clients/holesky. + TESTNET_HOLESKY = 4; + } + + // The type of Ethereum node. + // + // See + // [Node + // Types](https://ethereum.org/en/developers/docs/nodes-and-clients/#node-types) + // for more details. + enum NodeType { + // Node type has not been specified, but should be. + NODE_TYPE_UNSPECIFIED = 0; + + // An Ethereum node that only downloads Ethereum block headers. + LIGHT = 1; + + // Keeps a complete copy of the blockchain data, and contributes to the + // network by receiving, validating, and forwarding transactions. + FULL = 2; + + // Holds the same data as full node as well as all of the blockchain's + // history state data dating back to the Genesis Block. + ARCHIVE = 3; + } + + // The execution client (i.e., Execution Engine or EL client) listens to new + // transactions broadcast in the network, executes them in EVM, and holds + // the latest state and database of all current Ethereum data. + // + // See + // [What are nodes and + // clients?](https://ethereum.org/en/developers/docs/nodes-and-clients/#what-are-nodes-and-clients) + // for more details. + enum ExecutionClient { + // Execution client has not been specified, but should be. + EXECUTION_CLIENT_UNSPECIFIED = 0; + + // Official Go implementation of the Ethereum protocol. + // See [go-ethereum](https://geth.ethereum.org/) for details. + GETH = 1; + + // An implementation of Ethereum (execution client), on the efficiency + // frontier, written in Go. See [Erigon on + // GitHub](https://github.com/ledgerwatch/erigon) for details. + ERIGON = 2; + } + + // The consensus client (also referred to as beacon node or CL client) + // implements the proof-of-stake consensus algorithm, which enables the + // network to achieve agreement based on validated data from the + // execution client. + // + // See + // [What are nodes and + // clients?](https://ethereum.org/en/developers/docs/nodes-and-clients/#what-are-nodes-and-clients) + // for more details. + enum ConsensusClient { + // Consensus client has not been specified, but should be. + CONSENSUS_CLIENT_UNSPECIFIED = 0; + + // Consensus client implementation written in Rust, maintained by Sigma + // Prime. See [Lighthouse - Sigma + // Prime](https://lighthouse.sigmaprime.io/) for details. + LIGHTHOUSE = 1; + } + + // Options for the execution client. + oneof execution_client_details { + // Details for the Geth execution client. + GethDetails geth_details = 8; + } + + // Immutable. The Ethereum environment being accessed. + optional Network network = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The type of Ethereum node. + optional NodeType node_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The execution client + optional ExecutionClient execution_client = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The consensus client. + optional ConsensusClient consensus_client = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Enables JSON-RPC access to functions in the `admin` namespace. + // Defaults to `false`. + optional bool api_enable_admin = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Enables JSON-RPC access to functions in the `debug` namespace. + // Defaults to `false`. + optional bool api_enable_debug = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Ethereum-specific endpoint information. + optional EthereumEndpoints additional_endpoints = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Configuration for validator-related parameters on the beacon client, + // and for any GCP-managed validator client. + optional ValidatorConfig validator_config = 10; + } + + // The blockchain type of the node. + enum BlockchainType { + // Blockchain type has not been specified, but should be. + BLOCKCHAIN_TYPE_UNSPECIFIED = 0; + + // The blockchain type is Ethereum. + ETHEREUM = 1; + } + + // All possible states for a given blockchain node. + enum State { + // The state has not been specified. + STATE_UNSPECIFIED = 0; + + // The node has been requested and is in the process of being created. + CREATING = 1; + + // The existing node is undergoing deletion, but is not yet finished. + DELETING = 2; + + // The node is running and ready for use. + RUNNING = 4; + + // The node is in an unexpected or errored state. + ERROR = 5; + + // The node is currently being updated. + UPDATING = 6; + + // The node is currently being repaired. + REPAIRING = 7; + + // The node is currently being reconciled. + RECONCILING = 8; + + // The node is syncing, which is the process by which it obtains the latest + // block and current global state. + SYNCING = 9; + } + + // Information that is specific to a particular blockchain type. + oneof blockchain_type_details { + // Ethereum-specific blockchain node details. + EthereumDetails ethereum_details = 7; + } + + // Output only. The fully qualified name of the blockchain node. + // e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp at which the blockchain node was first created. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp at which the blockchain node was last updated. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User-provided key-value pairs. + map labels = 4; + + // Immutable. The blockchain type of the node. + optional BlockchainType blockchain_type = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The connection information used to interact with a blockchain + // node. + ConnectionInfo connection_info = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A status representing the state of the node. + State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. When true, the node is only accessible via Private Service + // Connect; no public endpoints are exposed. Otherwise, the node is only + // accessible via public endpoints. Warning: These nodes are deprecated, + // please use public endpoints instead. + bool private_service_connect_enabled = 12 + [(google.api.field_behavior) = OPTIONAL, deprecated = true]; +} + +// Message for requesting list of blockchain nodes. +message ListBlockchainNodesRequest { + // Required. Parent value for `ListNodesRequest`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "blockchainnodeengine.googleapis.com/BlockchainNode" + } + ]; + + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + int32 page_size = 2; + + // A token identifying a page of results the server should return. + string page_token = 3; + + // Filtering results. + string filter = 4; + + // Hint for how to order the results. + string order_by = 5; +} + +// Message for response to listing blockchain nodes. +message ListBlockchainNodesResponse { + // The list of nodes + repeated BlockchainNode blockchain_nodes = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; + + // Locations that could not be reached. + repeated string unreachable = 3; +} + +// Message for getting a blockchain node. +message GetBlockchainNodeRequest { + // Required. The fully qualified name of the blockchain node to fetch. + // e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "blockchainnodeengine.googleapis.com/BlockchainNode" + } + ]; +} + +// Message for creating a blockchain node. +message CreateBlockchainNodeRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "blockchainnodeengine.googleapis.com/BlockchainNode" + } + ]; + + // Required. ID of the requesting object. + string blockchain_node_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being created. + BlockchainNode blockchain_node = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for updating a blockchain node. +message UpdateBlockchainNodeRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Blockchain node resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource being updated. + BlockchainNode blockchain_node = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a blockchain node. +message DeleteBlockchainNodeRequest { + // Required. The fully qualified name of the blockchain node to delete. + // e.g. `projects/my-project/locations/us-central1/blockchainNodes/my-node`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "blockchainnodeengine.googleapis.com/BlockchainNode" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Represents the metadata of the long-running operation. +message OperationMetadata { + // Output only. The time the operation was created. + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the operation finished running. + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server-defined resource path for the target of the operation. + string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the verb executed by the operation. + string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Human-readable status of the operation, if any. + string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have `[Operation.error][]` value with a + // `[google.rpc.Status.code][google.rpc.Status.code]` of `1`, corresponding to + // `Code.CANCELLED`. + bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. API version used to start the operation. + string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetCredentialsProvider.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetCredentialsProvider.java new file mode 100644 index 000000000000..ae8589523ecd --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetCredentialsProvider.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_Create_SetCredentialsProvider_sync] +import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineSettings; +import com.google.cloud.blockchainnodeengine.v1.myCredentials; + +public class SyncCreateSetCredentialsProvider { + + public static void main(String[] args) throws Exception { + syncCreateSetCredentialsProvider(); + } + + public static void syncCreateSetCredentialsProvider() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineSettings blockchainNodeEngineSettings = + BlockchainNodeEngineSettings.newBuilder() + .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) + .build(); + BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create(blockchainNodeEngineSettings); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_Create_SetCredentialsProvider_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetEndpoint.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetEndpoint.java new file mode 100644 index 000000000000..e33707115a53 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateSetEndpoint.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_Create_SetEndpoint_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineSettings; +import com.google.cloud.blockchainnodeengine.v1.myEndpoint; + +public class SyncCreateSetEndpoint { + + public static void main(String[] args) throws Exception { + syncCreateSetEndpoint(); + } + + public static void syncCreateSetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineSettings blockchainNodeEngineSettings = + BlockchainNodeEngineSettings.newBuilder().setEndpoint(myEndpoint).build(); + BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create(blockchainNodeEngineSettings); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_Create_SetEndpoint_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateUseHttpJsonTransport.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateUseHttpJsonTransport.java new file mode 100644 index 000000000000..551ebf2e2c5d --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/create/SyncCreateUseHttpJsonTransport.java @@ -0,0 +1,41 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_Create_UseHttpJsonTransport_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineSettings; + +public class SyncCreateUseHttpJsonTransport { + + public static void main(String[] args) throws Exception { + syncCreateUseHttpJsonTransport(); + } + + public static void syncCreateUseHttpJsonTransport() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineSettings blockchainNodeEngineSettings = + BlockchainNodeEngineSettings.newHttpJsonBuilder().build(); + BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create(blockchainNodeEngineSettings); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_Create_UseHttpJsonTransport_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNode.java new file mode 100644 index 000000000000..d8e3b91a8a74 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNode.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.LocationName; +import com.google.longrunning.Operation; + +public class AsyncCreateBlockchainNode { + + public static void main(String[] args) throws Exception { + asyncCreateBlockchainNode(); + } + + public static void asyncCreateBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + CreateBlockchainNodeRequest request = + CreateBlockchainNodeRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setBlockchainNodeId("blockchainNodeId-2023686607") + .setBlockchainNode(BlockchainNode.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = + blockchainNodeEngineClient.createBlockchainNodeCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNodeLRO.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNodeLRO.java new file mode 100644 index 000000000000..43f5eb1fbea3 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/AsyncCreateBlockchainNodeLRO.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.LocationName; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; + +public class AsyncCreateBlockchainNodeLRO { + + public static void main(String[] args) throws Exception { + asyncCreateBlockchainNodeLRO(); + } + + public static void asyncCreateBlockchainNodeLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + CreateBlockchainNodeRequest request = + CreateBlockchainNodeRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setBlockchainNodeId("blockchainNodeId-2023686607") + .setBlockchainNode(BlockchainNode.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + blockchainNodeEngineClient.createBlockchainNodeOperationCallable().futureCall(request); + // Do something. + BlockchainNode response = future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_LRO_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNode.java new file mode 100644 index 000000000000..37c364a53680 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNode.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.CreateBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class SyncCreateBlockchainNode { + + public static void main(String[] args) throws Exception { + syncCreateBlockchainNode(); + } + + public static void syncCreateBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + CreateBlockchainNodeRequest request = + CreateBlockchainNodeRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setBlockchainNodeId("blockchainNodeId-2023686607") + .setBlockchainNode(BlockchainNode.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + BlockchainNode response = blockchainNodeEngineClient.createBlockchainNodeAsync(request).get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeLocationnameBlockchainnodeString.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeLocationnameBlockchainnodeString.java new file mode 100644 index 000000000000..064972017e5b --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeLocationnameBlockchainnodeString.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_LocationnameBlockchainnodeString_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class SyncCreateBlockchainNodeLocationnameBlockchainnodeString { + + public static void main(String[] args) throws Exception { + syncCreateBlockchainNodeLocationnameBlockchainnodeString(); + } + + public static void syncCreateBlockchainNodeLocationnameBlockchainnodeString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + BlockchainNode response = + blockchainNodeEngineClient + .createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId) + .get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_LocationnameBlockchainnodeString_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeStringBlockchainnodeString.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeStringBlockchainnodeString.java new file mode 100644 index 000000000000..5024b75eaec6 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/createblockchainnode/SyncCreateBlockchainNodeStringBlockchainnodeString.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_StringBlockchainnodeString_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class SyncCreateBlockchainNodeStringBlockchainnodeString { + + public static void main(String[] args) throws Exception { + syncCreateBlockchainNodeStringBlockchainnodeString(); + } + + public static void syncCreateBlockchainNodeStringBlockchainnodeString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + String blockchainNodeId = "blockchainNodeId-2023686607"; + BlockchainNode response = + blockchainNodeEngineClient + .createBlockchainNodeAsync(parent, blockchainNode, blockchainNodeId) + .get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_CreateBlockchainNode_StringBlockchainnodeString_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNode.java new file mode 100644 index 000000000000..41c16ce1ceb8 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNode.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.longrunning.Operation; + +public class AsyncDeleteBlockchainNode { + + public static void main(String[] args) throws Exception { + asyncDeleteBlockchainNode(); + } + + public static void asyncDeleteBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + DeleteBlockchainNodeRequest request = + DeleteBlockchainNodeRequest.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = + blockchainNodeEngineClient.deleteBlockchainNodeCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNodeLRO.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNodeLRO.java new file mode 100644 index 000000000000..7c9cc66914d9 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/AsyncDeleteBlockchainNodeLRO.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; +import com.google.protobuf.Empty; + +public class AsyncDeleteBlockchainNodeLRO { + + public static void main(String[] args) throws Exception { + asyncDeleteBlockchainNodeLRO(); + } + + public static void asyncDeleteBlockchainNodeLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + DeleteBlockchainNodeRequest request = + DeleteBlockchainNodeRequest.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + blockchainNodeEngineClient.deleteBlockchainNodeOperationCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_LRO_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNode.java new file mode 100644 index 000000000000..127257b8c77e --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNode.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.cloud.blockchainnodeengine.v1.DeleteBlockchainNodeRequest; +import com.google.protobuf.Empty; + +public class SyncDeleteBlockchainNode { + + public static void main(String[] args) throws Exception { + syncDeleteBlockchainNode(); + } + + public static void syncDeleteBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + DeleteBlockchainNodeRequest request = + DeleteBlockchainNodeRequest.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .setRequestId("requestId693933066") + .build(); + blockchainNodeEngineClient.deleteBlockchainNodeAsync(request).get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeBlockchainnodename.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeBlockchainnodename.java new file mode 100644 index 000000000000..91fba9e54cf8 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeBlockchainnodename.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_Blockchainnodename_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.protobuf.Empty; + +public class SyncDeleteBlockchainNodeBlockchainnodename { + + public static void main(String[] args) throws Exception { + syncDeleteBlockchainNodeBlockchainnodename(); + } + + public static void syncDeleteBlockchainNodeBlockchainnodename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + BlockchainNodeName name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + blockchainNodeEngineClient.deleteBlockchainNodeAsync(name).get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_Blockchainnodename_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeString.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeString.java new file mode 100644 index 000000000000..bae3e55f1065 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/deleteblockchainnode/SyncDeleteBlockchainNodeString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_String_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.protobuf.Empty; + +public class SyncDeleteBlockchainNodeString { + + public static void main(String[] args) throws Exception { + syncDeleteBlockchainNodeString(); + } + + public static void syncDeleteBlockchainNodeString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + String name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString(); + blockchainNodeEngineClient.deleteBlockchainNodeAsync(name).get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_DeleteBlockchainNode_String_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/AsyncGetBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/AsyncGetBlockchainNode.java new file mode 100644 index 000000000000..2b897a3d61f0 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/AsyncGetBlockchainNode.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest; + +public class AsyncGetBlockchainNode { + + public static void main(String[] args) throws Exception { + asyncGetBlockchainNode(); + } + + public static void asyncGetBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + GetBlockchainNodeRequest request = + GetBlockchainNodeRequest.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .build(); + ApiFuture future = + blockchainNodeEngineClient.getBlockchainNodeCallable().futureCall(request); + // Do something. + BlockchainNode response = future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNode.java new file mode 100644 index 000000000000..a6e0c88ccf70 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNode.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; +import com.google.cloud.blockchainnodeengine.v1.GetBlockchainNodeRequest; + +public class SyncGetBlockchainNode { + + public static void main(String[] args) throws Exception { + syncGetBlockchainNode(); + } + + public static void syncGetBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + GetBlockchainNodeRequest request = + GetBlockchainNodeRequest.newBuilder() + .setName( + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString()) + .build(); + BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(request); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeBlockchainnodename.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeBlockchainnodename.java new file mode 100644 index 000000000000..2a747f87a1f9 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeBlockchainnodename.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_Blockchainnodename_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; + +public class SyncGetBlockchainNodeBlockchainnodename { + + public static void main(String[] args) throws Exception { + syncGetBlockchainNodeBlockchainnodename(); + } + + public static void syncGetBlockchainNodeBlockchainnodename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + BlockchainNodeName name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]"); + BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(name); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_Blockchainnodename_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeString.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeString.java new file mode 100644 index 000000000000..86690eab4dc9 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getblockchainnode/SyncGetBlockchainNodeString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_String_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeName; + +public class SyncGetBlockchainNodeString { + + public static void main(String[] args) throws Exception { + syncGetBlockchainNodeString(); + } + + public static void syncGetBlockchainNodeString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + String name = + BlockchainNodeName.of("[PROJECT]", "[LOCATION]", "[BLOCKCHAIN_NODE]").toString(); + BlockchainNode response = blockchainNodeEngineClient.getBlockchainNode(name); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetBlockchainNode_String_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/AsyncGetLocation.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/AsyncGetLocation.java new file mode 100644 index 000000000000..af35a3aa8c27 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/AsyncGetLocation.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetLocation_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class AsyncGetLocation { + + public static void main(String[] args) throws Exception { + asyncGetLocation(); + } + + public static void asyncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + ApiFuture future = + blockchainNodeEngineClient.getLocationCallable().futureCall(request); + // Do something. + Location response = future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetLocation_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/SyncGetLocation.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..c4ab62756bd3 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/getlocation/SyncGetLocation.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetLocation_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + Location response = blockchainNodeEngineClient.getLocation(request); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_GetLocation_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodes.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodes.java new file mode 100644 index 000000000000..29072963c75b --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodes.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class AsyncListBlockchainNodes { + + public static void main(String[] args) throws Exception { + asyncListBlockchainNodes(); + } + + public static void asyncListBlockchainNodes() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + ListBlockchainNodesRequest request = + ListBlockchainNodesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + ApiFuture future = + blockchainNodeEngineClient.listBlockchainNodesPagedCallable().futureCall(request); + // Do something. + for (BlockchainNode element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodesPaged.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodesPaged.java new file mode 100644 index 000000000000..d58513e59b03 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/AsyncListBlockchainNodesPaged.java @@ -0,0 +1,65 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_Paged_async] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesResponse; +import com.google.cloud.blockchainnodeengine.v1.LocationName; +import com.google.common.base.Strings; + +public class AsyncListBlockchainNodesPaged { + + public static void main(String[] args) throws Exception { + asyncListBlockchainNodesPaged(); + } + + public static void asyncListBlockchainNodesPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + ListBlockchainNodesRequest request = + ListBlockchainNodesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + while (true) { + ListBlockchainNodesResponse response = + blockchainNodeEngineClient.listBlockchainNodesCallable().call(request); + for (BlockchainNode element : response.getBlockchainNodesList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_Paged_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodes.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodes.java new file mode 100644 index 000000000000..a13da309ff57 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodes.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.ListBlockchainNodesRequest; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class SyncListBlockchainNodes { + + public static void main(String[] args) throws Exception { + syncListBlockchainNodes(); + } + + public static void syncListBlockchainNodes() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + ListBlockchainNodesRequest request = + ListBlockchainNodesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + for (BlockchainNode element : + blockchainNodeEngineClient.listBlockchainNodes(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesLocationname.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesLocationname.java new file mode 100644 index 000000000000..daf485d7d400 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesLocationname.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_Locationname_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class SyncListBlockchainNodesLocationname { + + public static void main(String[] args) throws Exception { + syncListBlockchainNodesLocationname(); + } + + public static void syncListBlockchainNodesLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (BlockchainNode element : + blockchainNodeEngineClient.listBlockchainNodes(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_Locationname_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesString.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesString.java new file mode 100644 index 000000000000..ed8ef74a66e4 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listblockchainnodes/SyncListBlockchainNodesString.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_String_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.LocationName; + +public class SyncListBlockchainNodesString { + + public static void main(String[] args) throws Exception { + syncListBlockchainNodesString(); + } + + public static void syncListBlockchainNodesString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (BlockchainNode element : + blockchainNodeEngineClient.listBlockchainNodes(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListBlockchainNodes_String_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocations.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocations.java new file mode 100644 index 000000000000..1201e0eedc4e --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocations.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListLocations_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class AsyncListLocations { + + public static void main(String[] args) throws Exception { + asyncListLocations(); + } + + public static void asyncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + blockchainNodeEngineClient.listLocationsPagedCallable().futureCall(request); + // Do something. + for (Location element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListLocations_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocationsPaged.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocationsPaged.java new file mode 100644 index 000000000000..3dcec615b881 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/AsyncListLocationsPaged.java @@ -0,0 +1,63 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListLocations_Paged_async] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.base.Strings; + +public class AsyncListLocationsPaged { + + public static void main(String[] args) throws Exception { + asyncListLocationsPaged(); + } + + public static void asyncListLocationsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListLocationsResponse response = + blockchainNodeEngineClient.listLocationsCallable().call(request); + for (Location element : response.getLocationsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListLocations_Paged_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/SyncListLocations.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/SyncListLocations.java new file mode 100644 index 000000000000..17cdefeb8726 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/listlocations/SyncListLocations.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListLocations_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class SyncListLocations { + + public static void main(String[] args) throws Exception { + syncListLocations(); + } + + public static void syncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Location element : blockchainNodeEngineClient.listLocations(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_ListLocations_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNode.java new file mode 100644 index 000000000000..48e9415d9a33 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNode.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.longrunning.Operation; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateBlockchainNode { + + public static void main(String[] args) throws Exception { + asyncUpdateBlockchainNode(); + } + + public static void asyncUpdateBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + UpdateBlockchainNodeRequest request = + UpdateBlockchainNodeRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setBlockchainNode(BlockchainNode.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = + blockchainNodeEngineClient.updateBlockchainNodeCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNodeLRO.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNodeLRO.java new file mode 100644 index 000000000000..b7db55a61637 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/AsyncUpdateBlockchainNodeLRO.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.OperationMetadata; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateBlockchainNodeLRO { + + public static void main(String[] args) throws Exception { + asyncUpdateBlockchainNodeLRO(); + } + + public static void asyncUpdateBlockchainNodeLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + UpdateBlockchainNodeRequest request = + UpdateBlockchainNodeRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setBlockchainNode(BlockchainNode.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + blockchainNodeEngineClient.updateBlockchainNodeOperationCallable().futureCall(request); + // Do something. + BlockchainNode response = future.get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_LRO_async] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNode.java new file mode 100644 index 000000000000..f3188e7bdaf8 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNode.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.cloud.blockchainnodeengine.v1.UpdateBlockchainNodeRequest; +import com.google.protobuf.FieldMask; + +public class SyncUpdateBlockchainNode { + + public static void main(String[] args) throws Exception { + syncUpdateBlockchainNode(); + } + + public static void syncUpdateBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + UpdateBlockchainNodeRequest request = + UpdateBlockchainNodeRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setBlockchainNode(BlockchainNode.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + BlockchainNode response = blockchainNodeEngineClient.updateBlockchainNodeAsync(request).get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNodeBlockchainnodeFieldmask.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNodeBlockchainnodeFieldmask.java new file mode 100644 index 000000000000..69e7a712931e --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeengine/updateblockchainnode/SyncUpdateBlockchainNodeBlockchainnodeFieldmask.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_BlockchainnodeFieldmask_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNode; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineClient; +import com.google.protobuf.FieldMask; + +public class SyncUpdateBlockchainNodeBlockchainnodeFieldmask { + + public static void main(String[] args) throws Exception { + syncUpdateBlockchainNodeBlockchainnodeFieldmask(); + } + + public static void syncUpdateBlockchainNodeBlockchainnodeFieldmask() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (BlockchainNodeEngineClient blockchainNodeEngineClient = + BlockchainNodeEngineClient.create()) { + BlockchainNode blockchainNode = BlockchainNode.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + BlockchainNode response = + blockchainNodeEngineClient.updateBlockchainNodeAsync(blockchainNode, updateMask).get(); + } + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngine_UpdateBlockchainNode_BlockchainnodeFieldmask_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/createblockchainnode/SyncCreateBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/createblockchainnode/SyncCreateBlockchainNode.java new file mode 100644 index 000000000000..c4a6de042e9b --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/createblockchainnode/SyncCreateBlockchainNode.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngineSettings_CreateBlockchainNode_sync] +import com.google.api.gax.longrunning.OperationalTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.TimedRetryAlgorithm; +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineSettings; +import java.time.Duration; + +public class SyncCreateBlockchainNode { + + public static void main(String[] args) throws Exception { + syncCreateBlockchainNode(); + } + + public static void syncCreateBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineSettings.Builder blockchainNodeEngineSettingsBuilder = + BlockchainNodeEngineSettings.newBuilder(); + TimedRetryAlgorithm timedRetryAlgorithm = + OperationalTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(500)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(5000)) + .setTotalTimeoutDuration(Duration.ofHours(24)) + .build()); + blockchainNodeEngineSettingsBuilder + .createClusterOperationSettings() + .setPollingAlgorithm(timedRetryAlgorithm) + .build(); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngineSettings_CreateBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/getblockchainnode/SyncGetBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/getblockchainnode/SyncGetBlockchainNode.java new file mode 100644 index 000000000000..b8dcbcc2a967 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/blockchainnodeenginesettings/getblockchainnode/SyncGetBlockchainNode.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngineSettings_GetBlockchainNode_sync] +import com.google.cloud.blockchainnodeengine.v1.BlockchainNodeEngineSettings; +import java.time.Duration; + +public class SyncGetBlockchainNode { + + public static void main(String[] args) throws Exception { + syncGetBlockchainNode(); + } + + public static void syncGetBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineSettings.Builder blockchainNodeEngineSettingsBuilder = + BlockchainNodeEngineSettings.newBuilder(); + blockchainNodeEngineSettingsBuilder + .getBlockchainNodeSettings() + .setRetrySettings( + blockchainNodeEngineSettingsBuilder + .getBlockchainNodeSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + BlockchainNodeEngineSettings blockchainNodeEngineSettings = + blockchainNodeEngineSettingsBuilder.build(); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngineSettings_GetBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/createblockchainnode/SyncCreateBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/createblockchainnode/SyncCreateBlockchainNode.java new file mode 100644 index 000000000000..5154f2324060 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/createblockchainnode/SyncCreateBlockchainNode.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngineStubSettings_CreateBlockchainNode_sync] +import com.google.api.gax.longrunning.OperationalTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.TimedRetryAlgorithm; +import com.google.cloud.blockchainnodeengine.v1.stub.BlockchainNodeEngineStubSettings; +import java.time.Duration; + +public class SyncCreateBlockchainNode { + + public static void main(String[] args) throws Exception { + syncCreateBlockchainNode(); + } + + public static void syncCreateBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineStubSettings.Builder blockchainNodeEngineSettingsBuilder = + BlockchainNodeEngineStubSettings.newBuilder(); + TimedRetryAlgorithm timedRetryAlgorithm = + OperationalTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(500)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(5000)) + .setTotalTimeoutDuration(Duration.ofHours(24)) + .build()); + blockchainNodeEngineSettingsBuilder + .createClusterOperationSettings() + .setPollingAlgorithm(timedRetryAlgorithm) + .build(); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngineStubSettings_CreateBlockchainNode_sync] diff --git a/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/getblockchainnode/SyncGetBlockchainNode.java b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/getblockchainnode/SyncGetBlockchainNode.java new file mode 100644 index 000000000000..129fac42fbe4 --- /dev/null +++ b/java-blockchainnodeengine/samples/snippets/generated/com/google/cloud/blockchainnodeengine/v1/stub/blockchainnodeenginestubsettings/getblockchainnode/SyncGetBlockchainNode.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.blockchainnodeengine.v1.stub.samples; + +// [START blockchainnodeengine_v1_generated_BlockchainNodeEngineStubSettings_GetBlockchainNode_sync] +import com.google.cloud.blockchainnodeengine.v1.stub.BlockchainNodeEngineStubSettings; +import java.time.Duration; + +public class SyncGetBlockchainNode { + + public static void main(String[] args) throws Exception { + syncGetBlockchainNode(); + } + + public static void syncGetBlockchainNode() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + BlockchainNodeEngineStubSettings.Builder blockchainNodeEngineSettingsBuilder = + BlockchainNodeEngineStubSettings.newBuilder(); + blockchainNodeEngineSettingsBuilder + .getBlockchainNodeSettings() + .setRetrySettings( + blockchainNodeEngineSettingsBuilder + .getBlockchainNodeSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + BlockchainNodeEngineStubSettings blockchainNodeEngineSettings = + blockchainNodeEngineSettingsBuilder.build(); + } +} +// [END blockchainnodeengine_v1_generated_BlockchainNodeEngineStubSettings_GetBlockchainNode_sync] diff --git a/librarian.yaml b/librarian.yaml index fe44c524e290..dbf2bb017604 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -881,6 +881,13 @@ libraries: product_documentation_override: https://cloud.google.com/binary-authorization/docs rest_documentation: https://cloud.google.com/binary-authorization/docs/reference/rest rpc_documentation: https://cloud.google.com/binary-authorization/docs/reference/rpc + - name: blockchainnodeengine + version: 0.1.0-SNAPSHOT + apis: + - path: google/cloud/blockchainnodeengine/v1 + java: + additional_protos: + - path: google/cloud/location/locations.proto - name: capacityplanner version: 0.19.0-SNAPSHOT apis: diff --git a/pom.xml b/pom.xml index b5e63fecffdd..3baa1bbbe618 100644 --- a/pom.xml +++ b/pom.xml @@ -66,6 +66,7 @@ java-billing java-billingbudgets java-binary-authorization + java-blockchainnodeengine java-capacityplanner java-certificate-manager java-ces diff --git a/versions.txt b/versions.txt index 9746e109fd0a..26078518a03c 100644 --- a/versions.txt +++ b/versions.txt @@ -1117,3 +1117,8 @@ grpc-google-cloud-biglake-hive-v1:0.0.0:0.1.0-SNAPSHOT google-cloud-biglake-hive:0.0.0:0.1.0-SNAPSHOT proto-google-maps-mapmanagement-v2:0.4.0:0.5.0-SNAPSHOT grpc-google-maps-mapmanagement-v2:0.4.0:0.5.0-SNAPSHOT +google-cloud-blockchainnodeengine-parent:0.0.0:0.1.0-SNAPSHOT +google-cloud-blockchainnodeengine-bom:0.0.0:0.1.0-SNAPSHOT +proto-google-cloud-blockchainnodeengine-v1:0.0.0:0.1.0-SNAPSHOT +grpc-google-cloud-blockchainnodeengine-v1:0.0.0:0.1.0-SNAPSHOT +google-cloud-blockchainnodeengine:0.0.0:0.1.0-SNAPSHOT